From 46348f43f6bfc3cd3d2758adf9a6738e65cf62ef Mon Sep 17 00:00:00 2001 From: 190km Date: Thu, 26 Dec 2024 01:26:53 +0100 Subject: [PATCH] chore: lint --- .../dashboard/settings/appearance-form.tsx | 6 ++- apps/dokploy/lib/languages.ts | 40 ++++++++++--------- apps/dokploy/pages/_app.tsx | 2 +- apps/dokploy/utils/hooks/use-locale.ts | 7 ++-- apps/dokploy/utils/i18n.ts | 2 +- 5 files changed, 31 insertions(+), 26 deletions(-) diff --git a/apps/dokploy/components/dashboard/settings/appearance-form.tsx b/apps/dokploy/components/dashboard/settings/appearance-form.tsx index 8fa8dcff1..fde952cce 100644 --- a/apps/dokploy/components/dashboard/settings/appearance-form.tsx +++ b/apps/dokploy/components/dashboard/settings/appearance-form.tsx @@ -34,14 +34,16 @@ import { useTheme } from "next-themes"; import { useEffect } from "react"; import { toast } from "sonner"; + +const languageCodes = Object.values(Languages).map(lang => lang.code) as string[]; const appearanceFormSchema = z.object({ theme: z.enum(["light", "dark", "system"], { required_error: "Please select a theme.", }), - language: z.enum(Object.values(Languages).map(lang => lang.code), { + language: z.enum(languageCodes, { required_error: "Please select a language.", - }), + }) }); type AppearanceFormValues = z.infer; diff --git a/apps/dokploy/lib/languages.ts b/apps/dokploy/lib/languages.ts index c559d16dd..0b2fd2c9d 100644 --- a/apps/dokploy/lib/languages.ts +++ b/apps/dokploy/lib/languages.ts @@ -1,19 +1,21 @@ -export const Languages = { - english: { code: "en", name: "English" }, - polish: { code: "pl", name: "Polski" }, - russian: { code: "ru", name: "Русский" }, - french: { code: "fr", name: "Français" }, - german: { code: "de", name: "Deutsch" }, - chineseTraditional: { code: "zh-Hant", name: "繁體中文" }, - chineseSimplified: { code: "zh-Hans", name: "简体中文" }, - turkish: { code: "tr", name: "Türkçe" }, - kazakh: { code: "kz", name: "Қазақ" }, - persian: { code: "fa", name: "فارسی" }, - korean: { code: "ko", name: "한국어" }, - portuguese: { code: "pt-br", name: "Português" }, - italian: { code: "it", name: "Italiano" }, - japanese: { code: "ja", name: "日本語" }, - spanish: { code: "es", name: "Español" }, -}; - -export type Language = keyof typeof Languages; +export const Languages = { + english: { code: "en", name: "English" }, + polish: { code: "pl", name: "Polski" }, + russian: { code: "ru", name: "Русский" }, + french: { code: "fr", name: "Français" }, + german: { code: "de", name: "Deutsch" }, + chineseTraditional: { code: "zh-Hant", name: "繁體中文" }, + chineseSimplified: { code: "zh-Hans", name: "简体中文" }, + turkish: { code: "tr", name: "Türkçe" }, + kazakh: { code: "kz", name: "Қазақ" }, + persian: { code: "fa", name: "فارسی" }, + korean: { code: "ko", name: "한국어" }, + portuguese: { code: "pt-br", name: "Português" }, + italian: { code: "it", name: "Italiano" }, + japanese: { code: "ja", name: "日本語" }, + spanish: { code: "es", name: "Español" }, +}; + +export type Language = keyof typeof Languages; +export type LanguageCode = (typeof Languages)[keyof typeof Languages]["code"]; + diff --git a/apps/dokploy/pages/_app.tsx b/apps/dokploy/pages/_app.tsx index b88914375..7a3ad3271 100644 --- a/apps/dokploy/pages/_app.tsx +++ b/apps/dokploy/pages/_app.tsx @@ -68,7 +68,7 @@ export default api.withTRPC( appWithTranslation(MyApp, { i18n: { defaultLocale: "en", - locales: Object.values(Languages), + locales: Object.values(Languages).map(language => language.code), localeDetection: false, }, fallbackLng: "en", diff --git a/apps/dokploy/utils/hooks/use-locale.ts b/apps/dokploy/utils/hooks/use-locale.ts index de979f7bf..5bfb28469 100644 --- a/apps/dokploy/utils/hooks/use-locale.ts +++ b/apps/dokploy/utils/hooks/use-locale.ts @@ -1,10 +1,11 @@ -import type { Languages } from "@/lib/languages"; +import { LanguageCode } from "@/lib/languages"; import Cookies from "js-cookie"; export default function useLocale() { - const currentLocale = (Cookies.get("DOKPLOY_LOCALE") ?? "en") as Languages; + + const currentLocale = (Cookies.get("DOKPLOY_LOCALE") ?? "en") as LanguageCode; - const setLocale = (locale: Languages) => { + const setLocale = (locale: LanguageCode) => { Cookies.set("DOKPLOY_LOCALE", locale, { expires: 365 }); window.location.reload(); }; diff --git a/apps/dokploy/utils/i18n.ts b/apps/dokploy/utils/i18n.ts index 47466d1f5..171bf8926 100644 --- a/apps/dokploy/utils/i18n.ts +++ b/apps/dokploy/utils/i18n.ts @@ -17,7 +17,7 @@ export const serverSideTranslations = ( keySeparator: false, i18n: { defaultLocale: "en", - locales: Object.values(Languages), + locales: Object.values(Languages).map(language => language.code), localeDetection: false, }, });