diff --git a/app.vue b/app.vue index beab80b..686a15e 100644 --- a/app.vue +++ b/app.vue @@ -8,7 +8,6 @@ diff --git a/types/settings.ts b/types/settings.ts new file mode 100644 index 0000000..28e3bfc --- /dev/null +++ b/types/settings.ts @@ -0,0 +1,9 @@ +export interface ClientSettings { + selectedThemeId?: string, // the ID of the theme, not the URL, for example "dark" + timeFormat?: TimeFormat +} + +export interface TimeFormat { + index: number, + format: "auto" | "12" | "24" +} \ No newline at end of file diff --git a/utils/getPreferredTimeFormat.ts b/utils/getPreferredTimeFormat.ts index 4cf03e0..86b9635 100644 --- a/utils/getPreferredTimeFormat.ts +++ b/utils/getPreferredTimeFormat.ts @@ -1,9 +1,9 @@ export default (): "12" | "24" => { - const format = settingLoad("timeFormat").timeFormat ?? "auto" + const format = settingsLoad().timeFormat?.format ?? "auto" - if (format == "12-hour") { + if (format == "12") { return "12" - } else if (format == "24-hour") { + } else if (format == "24") { return "24" } diff --git a/utils/settingLoad.ts b/utils/settingsLoad.ts similarity index 66% rename from utils/settingLoad.ts rename to utils/settingsLoad.ts index d0f315c..e7fdfaf 100644 --- a/utils/settingLoad.ts +++ b/utils/settingsLoad.ts @@ -1,10 +1,12 @@ -export default (key: string): any => { +import type { ClientSettings } from "~/types/settings" + +export default (): ClientSettings => { let clientSettingsItem: string | null = localStorage.getItem("clientSettings") if (typeof clientSettingsItem != "string") { clientSettingsItem = "{}" } - let clientSettings: { [key: string]: any } = {} + let clientSettings: ClientSettings = {} try { clientSettings = JSON.parse(clientSettingsItem) } catch { @@ -15,5 +17,5 @@ export default (key: string): any => { clientSettings = {} } - return clientSettings[key] + return clientSettings } \ No newline at end of file