diff --git a/src/app.vue b/src/app.vue index 7b69a966..860b7031 100644 --- a/src/app.vue +++ b/src/app.vue @@ -11,6 +11,10 @@ const globalStore = useGlobalStore(); globalStore.fetchTrafficStats(); globalStore.fetchChartType(); globalStore.fetchRelease(); +globalStore.fetchOneTimeLinks(); +globalStore.fetchSortClients(); +globalStore.fetchExpireTime(); +globalStore.fetchRememberMe(); useHead({ bodyAttrs: { class: 'bg-gray-50 dark:bg-neutral-800', diff --git a/src/components/Client/ExpireDate.vue b/src/components/Client/ExpireDate.vue index d129d2ed..0381e4b8 100644 --- a/src/components/Client/ExpireDate.vue +++ b/src/components/Client/ExpireDate.vue @@ -7,40 +7,37 @@ {{ client.expiredAt | expiredDateFormat }}{{ expiredDateFormat(client.expireAt) }} (); const globalStore = useGlobalStore(); const clientsStore = useClientsStore(); +const clientEditExpireDate = ref(null); +const clientEditExpireDateId = ref(null); +const { t, locale } = useI18n(); + +const clientExpireDateInput = ref(null); function updateClientExpireDate( client: LocalClient, @@ -76,4 +78,14 @@ function updateClientExpireDate( .catch((err) => alert(err.message || err.toString())) .finally(() => clientsStore.refresh().catch(console.error)); } + +function expiredDateFormat(value: string | null) { + if (value === null) return t('Permanent'); + const dateTime = new Date(value); + return dateTime.toLocaleDateString(locale.value, { + year: 'numeric', + month: 'long', + day: 'numeric', + }); +} diff --git a/src/components/Client/OneTimeLink.vue b/src/components/Client/OneTimeLink.vue index af193d8b..2fb0a858 100644 --- a/src/components/Client/OneTimeLink.vue +++ b/src/components/Client/OneTimeLink.vue @@ -1,21 +1,26 @@
- {{ document.location.protocol }}//{{ document.location.host }}/cnf/{{ - client.oneTimeLink - }} + {{ path }}
diff --git a/src/components/Client/OneTimeLinkBtn.vue b/src/components/Client/OneTimeLinkBtn.vue index be57abf5..284a17d1 100644 --- a/src/components/Client/OneTimeLinkBtn.vue +++ b/src/components/Client/OneTimeLinkBtn.vue @@ -1,6 +1,6 @@ - + diff --git a/src/i18n.config.ts b/src/i18n.config.ts index a582b697..aa9cad63 100644 --- a/src/i18n.config.ts +++ b/src/i18n.config.ts @@ -40,6 +40,12 @@ export default defineI18nConfig(() => ({ backup: 'Backup', titleRestoreConfig: 'Restore your configuration', titleBackupConfig: 'Backup your configuration', + rememberMe: 'Remember me', + titleRememberMe: 'Stay logged after closing the browser', + sort: 'Sort', + ExpireDate: 'Expire Date', + Permanent: 'Permanent', + OneTimeLink: 'Generate short one time link', }, ua: { name: 'Ім`я', @@ -118,6 +124,12 @@ export default defineI18nConfig(() => ({ backup: 'Резервная копия', titleRestoreConfig: 'Восстановить конфигурацию', titleBackupConfig: 'Создать резервную копию конфигурации', + rememberMe: 'Запомнить меня', + titleRememberMe: 'Оставаться в системе после закрытия браузера', + sort: 'Сортировка', + ExpireDate: 'Дата истечения срока', + Permanent: 'Бессрочно', + OneTimeLink: 'Создать короткую одноразовую ссылку', }, tr: { // Müslüm Barış Korkmazer @babico diff --git a/src/pages/login.vue b/src/pages/login.vue index b9f91f0b..ee7840b1 100644 --- a/src/pages/login.vue +++ b/src/pages/login.vue @@ -28,11 +28,11 @@ />