✨ feat(subscribe): Add unit time
This commit is contained in:
@@ -15,7 +15,6 @@ import {
|
||||
SheetTrigger,
|
||||
} from '@shadcn/ui/sheet';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useTheme } from 'next-themes';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
const formSchema = z.object({
|
||||
@@ -39,7 +38,6 @@ export default function AnnouncementForm<T extends Record<string, any>>({
|
||||
title,
|
||||
}: AnnouncementFormProps<T>) {
|
||||
const t = useTranslations('announcement');
|
||||
const { resolvedTheme } = useTheme();
|
||||
const [open, setOpen] = useState(false);
|
||||
const form = useForm({
|
||||
resolver: zodResolver(formSchema),
|
||||
|
||||
@@ -16,7 +16,6 @@ import {
|
||||
SheetTrigger,
|
||||
} from '@shadcn/ui/sheet';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useTheme } from 'next-themes';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
const formSchema = z.object({
|
||||
@@ -41,7 +40,6 @@ export default function DocumentForm<T extends Record<string, any>>({
|
||||
title,
|
||||
}: DocumentFormProps<T>) {
|
||||
const t = useTranslations('document');
|
||||
const { resolvedTheme } = useTheme();
|
||||
const [open, setOpen] = useState(false);
|
||||
const form = useForm({
|
||||
resolver: zodResolver(formSchema),
|
||||
|
||||
@@ -32,7 +32,6 @@ import {
|
||||
} from '@shadcn/ui/sheet';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useTheme } from 'next-themes';
|
||||
import { assign, shake } from 'radash';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
@@ -53,6 +52,7 @@ const defaultValues = {
|
||||
discount: [],
|
||||
server_group: [],
|
||||
server: [],
|
||||
unit_time: 'Month',
|
||||
};
|
||||
|
||||
export default function SubscribeForm<T extends Record<string, any>>({
|
||||
@@ -63,7 +63,6 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
title,
|
||||
}: SubscribeFormProps<T>) {
|
||||
const t = useTranslations('subscribe');
|
||||
const { resolvedTheme } = useTheme();
|
||||
|
||||
const [open, setOpen] = useState(false);
|
||||
|
||||
@@ -71,11 +70,12 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
name: z.string(),
|
||||
description: z.string().optional(),
|
||||
unit_price: z.number(),
|
||||
unit_time: z.string().default('Month'),
|
||||
replacement: z.number().optional(),
|
||||
discount: z
|
||||
.array(
|
||||
z.object({
|
||||
months: z.number(),
|
||||
quantity: z.number(),
|
||||
discount: z.number(),
|
||||
}),
|
||||
)
|
||||
@@ -135,6 +135,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
},
|
||||
});
|
||||
|
||||
const unit_time = form.watch('unit_time');
|
||||
return (
|
||||
<Sheet open={open} onOpenChange={setOpen}>
|
||||
<SheetTrigger asChild>
|
||||
@@ -255,7 +256,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
name='unit_price'
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>{t('form.unit_price')}</FormLabel>
|
||||
<FormLabel>{t('form.unitPrice')}</FormLabel>
|
||||
<FormControl>
|
||||
<EnhancedInput
|
||||
type='number'
|
||||
@@ -272,6 +273,34 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name='unit_time'
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel>{t('form.unitTime')}</FormLabel>
|
||||
<FormControl>
|
||||
<Combobox
|
||||
placeholder={t('form.selectUnitTime')}
|
||||
{...field}
|
||||
onChange={(value) => {
|
||||
if (value) {
|
||||
form.setValue(field.name, value);
|
||||
}
|
||||
}}
|
||||
options={[
|
||||
{ label: t('form.Year'), value: 'Year' },
|
||||
{ label: t('form.Month'), value: 'Month' },
|
||||
{ label: t('form.Day'), value: 'Day' },
|
||||
{ label: t('form.Hour'), value: 'Hour' },
|
||||
{ label: t('form.Minute'), value: 'Minute' },
|
||||
]}
|
||||
/>
|
||||
</FormControl>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name='replacement'
|
||||
@@ -436,10 +465,10 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
<ArrayInput<API.SubscribeDiscount>
|
||||
fields={[
|
||||
{
|
||||
name: 'months',
|
||||
name: 'quantity',
|
||||
type: 'number',
|
||||
min: 1,
|
||||
suffix: t('form.discountMonths'),
|
||||
suffix: unit_time && t(`form.${unit_time}`),
|
||||
},
|
||||
{
|
||||
name: 'discount',
|
||||
@@ -453,7 +482,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
return {
|
||||
...data,
|
||||
price: evaluateWithPrecision(
|
||||
`${unit_price} * ${data.months} * ${data.discount} / 100`,
|
||||
`${unit_price} * ${data.quantity} * ${data.discount} / 100`,
|
||||
),
|
||||
};
|
||||
},
|
||||
@@ -471,7 +500,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
||||
return {
|
||||
...data,
|
||||
discount: evaluateWithPrecision(
|
||||
`${data.price} / ${data.months} / ${unit_price} * 100`,
|
||||
`${data.price} / ${data.quantity} / ${unit_price} * 100`,
|
||||
),
|
||||
};
|
||||
},
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "Upravit",
|
||||
"editSubscribe": "Upravit odběr",
|
||||
"form": {
|
||||
"Day": "Den",
|
||||
"Hour": "Hodina",
|
||||
"Minute": "Minuta",
|
||||
"Month": "Měsíc",
|
||||
"Year": "Rok",
|
||||
"cancel": "Zrušit",
|
||||
"confirm": "Potvrdit",
|
||||
"description": "Popis",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Limit nákupu",
|
||||
"replacement": "Cena za reset (za každý)",
|
||||
"selectSubscribeGroup": "Vyberte prosím skupinu předplatného",
|
||||
"selectUnitTime": "Vyberte jednotku času",
|
||||
"server": "Server",
|
||||
"serverGroup": "Skupina serverů",
|
||||
"speedLimit": "Omezení rychlosti (Mbps)",
|
||||
"subscribeGroup": "Skupina předplatného",
|
||||
"traffic": "Přenos dat",
|
||||
"unit_price": "Cena za měsíc"
|
||||
"unitPrice": "Jednotková cena",
|
||||
"unitTime": "Jednotka času"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Akce",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "Bearbeiten",
|
||||
"editSubscribe": "Abonnement bearbeiten",
|
||||
"form": {
|
||||
"Day": "Tag",
|
||||
"Hour": "Stunde",
|
||||
"Minute": "Minute",
|
||||
"Month": "Monat",
|
||||
"Year": "Jahr",
|
||||
"cancel": "Abbrechen",
|
||||
"confirm": "Bestätigen",
|
||||
"description": "Beschreibung",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Kaufbeschränkung",
|
||||
"replacement": "Ersatzpreis (pro Mal)",
|
||||
"selectSubscribeGroup": "Bitte Abonnementgruppe auswählen",
|
||||
"selectUnitTime": "Bitte wählen Sie eine Zeiteinheit",
|
||||
"server": "Dienst",
|
||||
"serverGroup": "Dienstgruppe",
|
||||
"speedLimit": "Geschwindigkeitsbegrenzung (Mbps)",
|
||||
"subscribeGroup": "Abonnementgruppe",
|
||||
"traffic": "Datenvolumen",
|
||||
"unit_price": "Monatspreis"
|
||||
"unitPrice": "Einheitspreis",
|
||||
"unitTime": "Zeiteinheit"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Aktionen",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "Edit",
|
||||
"editSubscribe": "Edit Subscription",
|
||||
"form": {
|
||||
"Day": "Day",
|
||||
"Hour": "Hour",
|
||||
"Minute": "Minute",
|
||||
"Month": "Month",
|
||||
"Year": "Year",
|
||||
"cancel": "Cancel",
|
||||
"confirm": "Confirm",
|
||||
"description": "Description",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Purchase Limit",
|
||||
"replacement": "Reset Price (per time)",
|
||||
"selectSubscribeGroup": "Select Subscription Group",
|
||||
"selectUnitTime": "Please select a unit of time",
|
||||
"server": "Server",
|
||||
"serverGroup": "Server Group",
|
||||
"speedLimit": "Speed Limit (Mbps)",
|
||||
"subscribeGroup": "Subscription Group",
|
||||
"traffic": "Traffic",
|
||||
"unit_price": "Monthly Price"
|
||||
"unitPrice": "Unit Price",
|
||||
"unitTime": "Unit Time"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Actions",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "editar",
|
||||
"editSubscribe": "Editar suscripción",
|
||||
"form": {
|
||||
"Day": "Día",
|
||||
"Hour": "Hora",
|
||||
"Minute": "Minuto",
|
||||
"Month": "Mes",
|
||||
"Year": "Año",
|
||||
"cancel": "Cancelar",
|
||||
"confirm": "Confirmar",
|
||||
"description": "Descripción",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Cantidad de compra limitada",
|
||||
"replacement": "Precio de reposición (cada vez)",
|
||||
"selectSubscribeGroup": "Por favor, seleccione un grupo de suscripción",
|
||||
"selectUnitTime": "Por favor, seleccione la unidad de tiempo",
|
||||
"server": "Servidor",
|
||||
"serverGroup": "Grupo de servidores",
|
||||
"speedLimit": "Límite de velocidad (Mbps)",
|
||||
"subscribeGroup": "Grupo de suscripción",
|
||||
"traffic": "Tráfico",
|
||||
"unit_price": "Precio mensual"
|
||||
"unitPrice": "Precio unitario",
|
||||
"unitTime": "Unidad de tiempo"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Acciones",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "editar",
|
||||
"editSubscribe": "Editar suscripción",
|
||||
"form": {
|
||||
"Day": "Día",
|
||||
"Hour": "Hora",
|
||||
"Minute": "Minuto",
|
||||
"Month": "Mes",
|
||||
"Year": "Año",
|
||||
"cancel": "Cancelar",
|
||||
"confirm": "Confirmar",
|
||||
"description": "Descripción",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Cantidad máxima de compra",
|
||||
"replacement": "Precio de reposición (cada vez)",
|
||||
"selectSubscribeGroup": "Por favor seleccione un grupo de suscripción",
|
||||
"selectUnitTime": "Por favor seleccione la unidad de tiempo",
|
||||
"server": "Servidor",
|
||||
"serverGroup": "Grupo de servidores",
|
||||
"speedLimit": "Límite de velocidad (Mbps)",
|
||||
"subscribeGroup": "Grupo de suscripción",
|
||||
"traffic": "Tráfico",
|
||||
"unit_price": "Precio mensual"
|
||||
"unitPrice": "Precio unitario",
|
||||
"unitTime": "Unidad de tiempo"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Acciones",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "muokkaa",
|
||||
"editSubscribe": "Muokkaa tilausta",
|
||||
"form": {
|
||||
"Day": "Päivä",
|
||||
"Hour": "Tunti",
|
||||
"Minute": "Minuutti",
|
||||
"Month": "Kuukausi",
|
||||
"Year": "Vuosi",
|
||||
"cancel": "Peruuta",
|
||||
"confirm": "Vahvista",
|
||||
"description": "Kuvaus",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Ostorajoitus",
|
||||
"replacement": "Uudelleenhinnan asetus (kerta)",
|
||||
"selectSubscribeGroup": "Valitse tilausryhmä",
|
||||
"selectUnitTime": "Valitse aikayksikkö",
|
||||
"server": "Palvelin",
|
||||
"serverGroup": "Palvelinryhmä",
|
||||
"speedLimit": "Nopeusrajoitus (Mbps)",
|
||||
"subscribeGroup": "Tilausryhmä",
|
||||
"traffic": "Liikenne",
|
||||
"unit_price": "Kuukausihinta"
|
||||
"unitPrice": "Yksikköhinta",
|
||||
"unitTime": "Aikayksikkö"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Toiminnot",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "Éditer",
|
||||
"editSubscribe": "Modifier l'abonnement",
|
||||
"form": {
|
||||
"Day": "Jour",
|
||||
"Hour": "Heure",
|
||||
"Minute": "Minute",
|
||||
"Month": "Mois",
|
||||
"Year": "Année",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer",
|
||||
"description": "Description",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Quantité d'achat limitée",
|
||||
"replacement": "Prix de réinitialisation (par fois)",
|
||||
"selectSubscribeGroup": "Veuillez sélectionner un groupe d'abonnement",
|
||||
"selectUnitTime": "Veuillez sélectionner l'unité de temps",
|
||||
"server": "Serveur",
|
||||
"serverGroup": "Groupe de serveurs",
|
||||
"speedLimit": "Limite de vitesse (Mbps)",
|
||||
"subscribeGroup": "Groupe d'abonnement",
|
||||
"traffic": "Trafic",
|
||||
"unit_price": "Prix mensuel unitaire"
|
||||
"unitPrice": "Prix unitaire",
|
||||
"unitTime": "Unité de temps"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Actions",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "संपादित करें",
|
||||
"editSubscribe": "संपादन सदस्यता",
|
||||
"form": {
|
||||
"Day": "दिन",
|
||||
"Hour": "घंटा",
|
||||
"Minute": "मिनट",
|
||||
"Month": "महीना",
|
||||
"Year": "वर्ष",
|
||||
"cancel": "रद्द करें",
|
||||
"confirm": "पुष्टि करें",
|
||||
"description": "विवरण",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "खरीद सीमा",
|
||||
"replacement": "पुनःस्थापना मूल्य (प्रति बार)",
|
||||
"selectSubscribeGroup": "कृपया सदस्यता समूह चुनें",
|
||||
"selectUnitTime": "कृपया इकाई समय चुनें",
|
||||
"server": "सर्वर",
|
||||
"serverGroup": "सर्वर समूह",
|
||||
"speedLimit": "गति सीमा (Mbps)",
|
||||
"subscribeGroup": "सदस्यता समूह",
|
||||
"traffic": "ट्रैफिक",
|
||||
"unit_price": "प्रति माह मूल्य"
|
||||
"unitPrice": "इकाई मूल्य",
|
||||
"unitTime": "इकाई समय"
|
||||
},
|
||||
"group": {
|
||||
"actions": "क्रियाएँ",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "szerkesztés",
|
||||
"editSubscribe": "Előfizetés szerkesztése",
|
||||
"form": {
|
||||
"Day": "Nap",
|
||||
"Hour": "Óra",
|
||||
"Minute": "Perc",
|
||||
"Month": "Hónap",
|
||||
"Year": "Év",
|
||||
"cancel": "Mégse",
|
||||
"confirm": "Megerősít",
|
||||
"description": "Leírás",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Vásárlási korlát",
|
||||
"replacement": "Csere ára (alkalmanként)",
|
||||
"selectSubscribeGroup": "Kérjük, válassza ki az előfizetési csoportot",
|
||||
"selectUnitTime": "Kérjük, válassza ki az időegységet",
|
||||
"server": "Szolgáltatás",
|
||||
"serverGroup": "Szolgáltatáscsoport",
|
||||
"speedLimit": "Sebességkorlát (Mbps)",
|
||||
"subscribeGroup": "Előfizetési csoport",
|
||||
"traffic": "Forgalom",
|
||||
"unit_price": "Havi ár"
|
||||
"unitPrice": "Egységár",
|
||||
"unitTime": "Időegység"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Műveletek",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "編集",
|
||||
"editSubscribe": "サブスクリプションを編集",
|
||||
"form": {
|
||||
"Day": "日",
|
||||
"Hour": "時",
|
||||
"Minute": "分",
|
||||
"Month": "月",
|
||||
"Year": "年",
|
||||
"cancel": "キャンセル",
|
||||
"confirm": "確認",
|
||||
"description": "説明",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "購入制限数",
|
||||
"replacement": "リセット価格(毎回)",
|
||||
"selectSubscribeGroup": "サブスクリプショングループを選択してください",
|
||||
"selectUnitTime": "単位時間を選択してください",
|
||||
"server": "サーバー",
|
||||
"serverGroup": "サーバーグループ",
|
||||
"speedLimit": "速度制限(Mbps)",
|
||||
"subscribeGroup": "サブスクリプショングループ",
|
||||
"traffic": "トラフィック",
|
||||
"unit_price": "月額価格"
|
||||
"unitPrice": "単価",
|
||||
"unitTime": "単位時間"
|
||||
},
|
||||
"group": {
|
||||
"actions": "操作",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "편집",
|
||||
"editSubscribe": "구독 편집",
|
||||
"form": {
|
||||
"Day": "일",
|
||||
"Hour": "시",
|
||||
"Minute": "분",
|
||||
"Month": "월",
|
||||
"Year": "년",
|
||||
"cancel": "취소",
|
||||
"confirm": "확인",
|
||||
"description": "설명",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "구매 한도",
|
||||
"replacement": "재설정 가격 (매회)",
|
||||
"selectSubscribeGroup": "구독 그룹을 선택하세요",
|
||||
"selectUnitTime": "단위 시간을 선택하세요",
|
||||
"server": "서버",
|
||||
"serverGroup": "서버 그룹",
|
||||
"speedLimit": "속도 제한 (Mbps)",
|
||||
"subscribeGroup": "구독 그룹",
|
||||
"traffic": "트래픽",
|
||||
"unit_price": "월 단위 가격"
|
||||
"unitPrice": "단가",
|
||||
"unitTime": "단위 시간"
|
||||
},
|
||||
"group": {
|
||||
"actions": "작업",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "rediger",
|
||||
"editSubscribe": "Rediger abonnement",
|
||||
"form": {
|
||||
"Day": "Dag",
|
||||
"Hour": "Time",
|
||||
"Minute": "Minutt",
|
||||
"Month": "Måned",
|
||||
"Year": "År",
|
||||
"cancel": "Avbryt",
|
||||
"confirm": "Bekreft",
|
||||
"description": "Beskrivelse",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Kjøpskvote",
|
||||
"replacement": "Erstatningspris (per gang)",
|
||||
"selectSubscribeGroup": "Vennligst velg abonnementsgruppe",
|
||||
"selectUnitTime": "Vennligst velg enhetstid",
|
||||
"server": "Tjeneste",
|
||||
"serverGroup": "Tjenestegruppe",
|
||||
"speedLimit": "Hastighetsbegrensning (Mbps)",
|
||||
"subscribeGroup": "Abonnementsgruppe",
|
||||
"traffic": "Trafikk",
|
||||
"unit_price": "Pris per måned"
|
||||
"unitPrice": "Enhetspris",
|
||||
"unitTime": "Enhetstid"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Handlinger",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "edytuj",
|
||||
"editSubscribe": "Edytuj subskrypcję",
|
||||
"form": {
|
||||
"Day": "Dzień",
|
||||
"Hour": "Godzina",
|
||||
"Minute": "Minuta",
|
||||
"Month": "Miesiąc",
|
||||
"Year": "Rok",
|
||||
"cancel": "Anuluj",
|
||||
"confirm": "Potwierdź",
|
||||
"description": "Opis",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Limit zakupu",
|
||||
"replacement": "Cena wymiany (za każdym razem)",
|
||||
"selectSubscribeGroup": "Wybierz grupę subskrypcji",
|
||||
"selectUnitTime": "Proszę wybrać jednostkę czasu",
|
||||
"server": "Serwer",
|
||||
"serverGroup": "Grupa serwerów",
|
||||
"speedLimit": "Limit prędkości (Mbps)",
|
||||
"subscribeGroup": "Grupa subskrypcji",
|
||||
"traffic": "Ruch",
|
||||
"unit_price": "Cena za miesiąc"
|
||||
"unitPrice": "Cena jednostkowa",
|
||||
"unitTime": "Jednostka czasu"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Działania",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "editar",
|
||||
"editSubscribe": "Editar Assinatura",
|
||||
"form": {
|
||||
"Day": "Dia",
|
||||
"Hour": "Hora",
|
||||
"Minute": "Minuto",
|
||||
"Month": "Mês",
|
||||
"Year": "Ano",
|
||||
"cancel": "Cancelar",
|
||||
"confirm": "Confirmar",
|
||||
"description": "Descrição",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Quantidade limitada",
|
||||
"replacement": "Preço de reposição (cada vez)",
|
||||
"selectSubscribeGroup": "Por favor, selecione o grupo de assinatura",
|
||||
"selectUnitTime": "Por favor, selecione a unidade de tempo",
|
||||
"server": "Servidor",
|
||||
"serverGroup": "Grupo de servidores",
|
||||
"speedLimit": "Limite de velocidade (Mbps)",
|
||||
"subscribeGroup": "Grupo de assinatura",
|
||||
"traffic": "Tráfego",
|
||||
"unit_price": "Preço mensal"
|
||||
"unitPrice": "Preço unitário",
|
||||
"unitTime": "Unidade de tempo"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Ações",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "editează",
|
||||
"editSubscribe": "Editează abonamentul",
|
||||
"form": {
|
||||
"Day": "Zi",
|
||||
"Hour": "Oră",
|
||||
"Minute": "Minut",
|
||||
"Month": "Lună",
|
||||
"Year": "An",
|
||||
"cancel": "Anulează",
|
||||
"confirm": "Confirmă",
|
||||
"description": "Descriere",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Limită de achiziție",
|
||||
"replacement": "Preț de înlocuire (per dată)",
|
||||
"selectSubscribeGroup": "Vă rugăm să selectați grupul de abonament",
|
||||
"selectUnitTime": "Vă rugăm să selectați unitatea de timp",
|
||||
"server": "Server",
|
||||
"serverGroup": "Grup server",
|
||||
"speedLimit": "Limită de viteză (Mbps)",
|
||||
"subscribeGroup": "Grup de abonament",
|
||||
"traffic": "Trafic",
|
||||
"unit_price": "Preț lunar unitar"
|
||||
"unitPrice": "Preț unitar",
|
||||
"unitTime": "Unitate de timp"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Acțiuni",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "редактировать",
|
||||
"editSubscribe": "Редактировать подписку",
|
||||
"form": {
|
||||
"Day": "День",
|
||||
"Hour": "Час",
|
||||
"Minute": "Минута",
|
||||
"Month": "Месяц",
|
||||
"Year": "Год",
|
||||
"cancel": "Отмена",
|
||||
"confirm": "Подтвердить",
|
||||
"description": "Описание",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Лимит покупки",
|
||||
"replacement": "Цена замены (за раз)",
|
||||
"selectSubscribeGroup": "Пожалуйста, выберите группу подписки",
|
||||
"selectUnitTime": "Пожалуйста, выберите единицу времени",
|
||||
"server": "Сервер",
|
||||
"serverGroup": "Группа серверов",
|
||||
"speedLimit": "Ограничение скорости (Мбит/с)",
|
||||
"subscribeGroup": "Группа подписки",
|
||||
"traffic": "Трафик",
|
||||
"unit_price": "Цена за месяц"
|
||||
"unitPrice": "Цена за единицу",
|
||||
"unitTime": "Единица времени"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Действия",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "แก้ไข",
|
||||
"editSubscribe": "แก้ไขการสมัครสมาชิก",
|
||||
"form": {
|
||||
"Day": "วัน",
|
||||
"Hour": "ชั่วโมง",
|
||||
"Minute": "นาที",
|
||||
"Month": "เดือน",
|
||||
"Year": "ปี",
|
||||
"cancel": "ยกเลิก",
|
||||
"confirm": "ยืนยัน",
|
||||
"description": "คำอธิบาย",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "จำนวนจำกัดการซื้อ",
|
||||
"replacement": "ราคารีเซ็ต (ต่อครั้ง)",
|
||||
"selectSubscribeGroup": "กรุณาเลือกกลุ่มการสมัครสมาชิก",
|
||||
"selectUnitTime": "กรุณาเลือกหน่วยเวลา",
|
||||
"server": "เซิร์ฟเวอร์",
|
||||
"serverGroup": "กลุ่มเซิร์ฟเวอร์",
|
||||
"speedLimit": "จำกัดความเร็ว (Mbps)",
|
||||
"subscribeGroup": "กลุ่มการสมัครสมาชิก",
|
||||
"traffic": "ปริมาณข้อมูล",
|
||||
"unit_price": "ราคาต่อเดือน"
|
||||
"unitPrice": "ราคาต่อหน่วย",
|
||||
"unitTime": "หน่วยเวลา"
|
||||
},
|
||||
"group": {
|
||||
"actions": "การดำเนินการ",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "düzenle",
|
||||
"editSubscribe": "Aboneliği Düzenle",
|
||||
"form": {
|
||||
"Day": "Gün",
|
||||
"Hour": "Saat",
|
||||
"Minute": "Dakika",
|
||||
"Month": "Ay",
|
||||
"Year": "Yıl",
|
||||
"cancel": "İptal",
|
||||
"confirm": "Onayla",
|
||||
"description": "Açıklama",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Satın Alma Limiti",
|
||||
"replacement": "Yenileme Ücreti (her seferinde)",
|
||||
"selectSubscribeGroup": "Abonelik Grubunu Seçiniz",
|
||||
"selectUnitTime": "Lütfen birim zamanı seçin",
|
||||
"server": "Sunucu",
|
||||
"serverGroup": "Sunucu Grubu",
|
||||
"speedLimit": "Hız Sınırı (Mbps)",
|
||||
"subscribeGroup": "Abonelik Grubu",
|
||||
"traffic": "Trafik",
|
||||
"unit_price": "Aylık Fiyat"
|
||||
"unitPrice": "Birim fiyatı",
|
||||
"unitTime": "Birim zamanı"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Eylemler",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "редагувати",
|
||||
"editSubscribe": "Редагувати підписку",
|
||||
"form": {
|
||||
"Day": "День",
|
||||
"Hour": "Година",
|
||||
"Minute": "Хвилина",
|
||||
"Month": "Місяць",
|
||||
"Year": "Рік",
|
||||
"cancel": "Скасувати",
|
||||
"confirm": "Підтвердити",
|
||||
"description": "Опис",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Ліміт покупки",
|
||||
"replacement": "Ціна заміни (за раз)",
|
||||
"selectSubscribeGroup": "Будь ласка, виберіть групу підписки",
|
||||
"selectUnitTime": "Будь ласка, виберіть одиницю часу",
|
||||
"server": "Сервер",
|
||||
"serverGroup": "Група серверів",
|
||||
"speedLimit": "Обмеження швидкості (Мбіт/с)",
|
||||
"subscribeGroup": "Група підписки",
|
||||
"traffic": "Трафік",
|
||||
"unit_price": "Ціна за місяць"
|
||||
"unitPrice": "Ціна за одиницю",
|
||||
"unitTime": "Одиниця часу"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Дії",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "Chỉnh sửa",
|
||||
"editSubscribe": "Chỉnh sửa đăng ký",
|
||||
"form": {
|
||||
"Day": "Ngày",
|
||||
"Hour": "Giờ",
|
||||
"Minute": "Phút",
|
||||
"Month": "Tháng",
|
||||
"Year": "Năm",
|
||||
"cancel": "Hủy",
|
||||
"confirm": "Xác nhận",
|
||||
"description": "Mô tả",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "Số lượng mua giới hạn",
|
||||
"replacement": "Giá thay thế (mỗi lần)",
|
||||
"selectSubscribeGroup": "Vui lòng chọn nhóm đăng ký",
|
||||
"selectUnitTime": "Vui lòng chọn đơn vị thời gian",
|
||||
"server": "Dịch vụ",
|
||||
"serverGroup": "Nhóm dịch vụ",
|
||||
"speedLimit": "Giới hạn tốc độ (Mbps)",
|
||||
"subscribeGroup": "Nhóm đăng ký",
|
||||
"traffic": "Lưu lượng",
|
||||
"unit_price": "Giá mỗi tháng"
|
||||
"unitPrice": "Đơn giá",
|
||||
"unitTime": "Đơn vị thời gian"
|
||||
},
|
||||
"group": {
|
||||
"actions": "Hành động",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "编辑",
|
||||
"editSubscribe": "编辑订阅",
|
||||
"form": {
|
||||
"Day": "天",
|
||||
"Hour": "时",
|
||||
"Minute": "分",
|
||||
"Month": "月",
|
||||
"Year": "年",
|
||||
"cancel": "取消",
|
||||
"confirm": "确认",
|
||||
"description": "描述",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "限购数量",
|
||||
"replacement": "重置价格(每次)",
|
||||
"selectSubscribeGroup": "请选择订阅组",
|
||||
"selectUnitTime": "请选择单位时间",
|
||||
"server": "服务",
|
||||
"serverGroup": "服务组",
|
||||
"speedLimit": "速度限制(Mbps)",
|
||||
"subscribeGroup": "订阅组",
|
||||
"traffic": "流量",
|
||||
"unit_price": "单月价格"
|
||||
"unitPrice": "单价",
|
||||
"unitTime": "单位时间"
|
||||
},
|
||||
"group": {
|
||||
"actions": "操作",
|
||||
|
||||
@@ -13,6 +13,11 @@
|
||||
"edit": "編輯",
|
||||
"editSubscribe": "編輯訂閱",
|
||||
"form": {
|
||||
"Day": "日",
|
||||
"Hour": "小時",
|
||||
"Minute": "分鐘",
|
||||
"Month": "月",
|
||||
"Year": "年",
|
||||
"cancel": "取消",
|
||||
"confirm": "確認",
|
||||
"description": "描述",
|
||||
@@ -29,12 +34,14 @@
|
||||
"quota": "限購數量",
|
||||
"replacement": "重置價格(每次)",
|
||||
"selectSubscribeGroup": "請選擇訂閱組",
|
||||
"selectUnitTime": "請選擇單位時間",
|
||||
"server": "服務",
|
||||
"serverGroup": "服務組",
|
||||
"speedLimit": "速度限制(Mbps)",
|
||||
"subscribeGroup": "訂閱組",
|
||||
"traffic": "流量",
|
||||
"unit_price": "單月價格"
|
||||
"unitPrice": "單價",
|
||||
"unitTime": "單位時間"
|
||||
},
|
||||
"group": {
|
||||
"actions": "操作",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// @ts-ignore
|
||||
|
||||
|
||||
// API 更新时间:
|
||||
// API 唯一标识:
|
||||
import * as announcement from './announcement';
|
||||
|
||||
@@ -153,3 +153,15 @@ export async function getNodeList(
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** Node sort POST /v1/admin/server/sort */
|
||||
export async function nodeSort(body: API.NodeSortRequest, options?: { [key: string]: any }) {
|
||||
return request<API.Response & { data?: any }>('/v1/admin/server/sort', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -165,3 +165,18 @@ export async function getSubscribeList(
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/** Subscribe sort POST /v1/admin/subscribe/sort */
|
||||
export async function subscribeSort(
|
||||
body: API.SubscribeSortRequest,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<API.Response & { data?: any }>('/v1/admin/subscribe/sort', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
+22
-1
@@ -12,6 +12,7 @@ declare namespace API {
|
||||
title: string;
|
||||
content: string;
|
||||
enable: boolean;
|
||||
type: number;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
@@ -81,6 +82,7 @@ declare namespace API {
|
||||
type CreateAnnouncementRequest = {
|
||||
title: string;
|
||||
content: string;
|
||||
type: number;
|
||||
};
|
||||
|
||||
type CreateApplicationRequest = {
|
||||
@@ -156,6 +158,7 @@ declare namespace API {
|
||||
name: string;
|
||||
description: string;
|
||||
unit_price: number;
|
||||
unit_time: string;
|
||||
discount: SubscribeDiscount[];
|
||||
replacement: number;
|
||||
inventory: number;
|
||||
@@ -504,6 +507,10 @@ declare namespace API {
|
||||
node_push_interval: number;
|
||||
};
|
||||
|
||||
type NodeSortRequest = {
|
||||
sort: SortItem[];
|
||||
};
|
||||
|
||||
type NodeStatus = {
|
||||
online_users: OnlineUser[];
|
||||
status: ServerStatus;
|
||||
@@ -630,6 +637,7 @@ declare namespace API {
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
status: NodeStatus;
|
||||
sort: number;
|
||||
};
|
||||
|
||||
type ServerGroup = {
|
||||
@@ -682,6 +690,11 @@ declare namespace API {
|
||||
site_logo: string;
|
||||
};
|
||||
|
||||
type SortItem = {
|
||||
id: number;
|
||||
sort: number;
|
||||
};
|
||||
|
||||
type StripeConfig = {
|
||||
public_key: string;
|
||||
secret_key: string;
|
||||
@@ -694,6 +707,7 @@ declare namespace API {
|
||||
name: string;
|
||||
description: string;
|
||||
unit_price: number;
|
||||
unit_time: string;
|
||||
discount: SubscribeDiscount[];
|
||||
replacement: number;
|
||||
inventory: number;
|
||||
@@ -718,7 +732,7 @@ declare namespace API {
|
||||
};
|
||||
|
||||
type SubscribeDiscount = {
|
||||
months: number;
|
||||
quantity: number;
|
||||
discount: number;
|
||||
};
|
||||
|
||||
@@ -730,6 +744,10 @@ declare namespace API {
|
||||
updated_at: number;
|
||||
};
|
||||
|
||||
type SubscribeSortRequest = {
|
||||
sort: SortItem[];
|
||||
};
|
||||
|
||||
type SubscribeType = {
|
||||
subscribe_types: string[];
|
||||
};
|
||||
@@ -805,6 +823,7 @@ declare namespace API {
|
||||
title: string;
|
||||
content: string;
|
||||
enable: boolean;
|
||||
type: number;
|
||||
};
|
||||
|
||||
type UpdateApplicationRequest = {
|
||||
@@ -903,6 +922,7 @@ declare namespace API {
|
||||
name: string;
|
||||
description: string;
|
||||
unit_price: number;
|
||||
unit_time: string;
|
||||
discount: SubscribeDiscount[];
|
||||
replacement: number;
|
||||
inventory: number;
|
||||
@@ -915,6 +935,7 @@ declare namespace API {
|
||||
server: number[];
|
||||
show: boolean;
|
||||
sell: boolean;
|
||||
sort: number;
|
||||
};
|
||||
|
||||
type UpdateTicketStatusRequest = {
|
||||
|
||||
+9
-1
@@ -4,6 +4,7 @@ declare namespace API {
|
||||
title: string;
|
||||
content: string;
|
||||
enable: boolean;
|
||||
type: number;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
@@ -266,6 +267,7 @@ declare namespace API {
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
status: NodeStatus;
|
||||
sort: number;
|
||||
};
|
||||
|
||||
type ServerGroup = {
|
||||
@@ -296,11 +298,17 @@ declare namespace API {
|
||||
site_logo: string;
|
||||
};
|
||||
|
||||
type SortItem = {
|
||||
id: number;
|
||||
sort: number;
|
||||
};
|
||||
|
||||
type Subscribe = {
|
||||
id: number;
|
||||
name: string;
|
||||
description: string;
|
||||
unit_price: number;
|
||||
unit_time: string;
|
||||
discount: SubscribeDiscount[];
|
||||
replacement: number;
|
||||
inventory: number;
|
||||
@@ -325,7 +333,7 @@ declare namespace API {
|
||||
};
|
||||
|
||||
type SubscribeDiscount = {
|
||||
months: number;
|
||||
quantity: number;
|
||||
discount: number;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user