diff options
Diffstat (limited to 'apps/web-shared/src/lib')
| -rw-r--r-- | apps/web-shared/src/lib/configuration.ts | 26 | ||||
| -rw-r--r-- | apps/web-shared/src/lib/helpers.ts | 26 |
2 files changed, 36 insertions, 16 deletions
diff --git a/apps/web-shared/src/lib/configuration.ts b/apps/web-shared/src/lib/configuration.ts index 188d615..0ed5cd4 100644 --- a/apps/web-shared/src/lib/configuration.ts +++ b/apps/web-shared/src/lib/configuration.ts @@ -1,7 +1,9 @@ -export const API_ADDRESS = "https://api.dev.greatoffice.life"; -export const PROJECTS_ADDRESS = "https://projects.dev.greatoffice.life"; -export const PORTAL_ADDRESS = "https://portal.dev.greatoffice.life"; -export const FRONTPAGE_ADDRESS = "https://greatoffice.life"; +export const BASE_DOMAIN = "greatoffice.life"; +export const DEV_BASE_DOMAIN = "localhost"; +export const API_ADDRESS = "https://api.dev." + BASE_DOMAIN; +export const PROJECTS_ADDRESS = "https://projects.dev." + BASE_DOMAIN; +export const PORTAL_ADDRESS = "https://portal.dev." + BASE_DOMAIN; +export const FRONTPAGE_ADDRESS = "https://" + BASE_DOMAIN; export const DEV_PORTAL_ADDRESS = "http://localhost:3001"; export const DEV_FRONTPAGE_ADDRESS = "http://localhost:3002"; export const DEV_API_ADDRESS = "http://localhost:5000"; @@ -9,19 +11,23 @@ export const DEV_PROJECTS_ADDRESS = "http://localhost:3000"; export const SECONDS_BETWEEN_SESSION_CHECK = 600; export function projects_base(path: string = ""): string { - return (is_development() ? DEV_PROJECTS_ADDRESS : PROJECTS_ADDRESS) + (path ? "/" + path : "/"); + return (is_development() ? DEV_PROJECTS_ADDRESS : PROJECTS_ADDRESS) + (path !== "" ? "/" + path : ""); +} + +export function base_domain(path: string = ""): string { + return (is_development() ? DEV_BASE_DOMAIN : BASE_DOMAIN) + (path !== "" ? "/" + path : ""); } export function frontpage_base(path: string = ""): string { - return (is_development() ? DEV_FRONTPAGE_ADDRESS : FRONTPAGE_ADDRESS) + (path ? "/" + path : "/"); + return (is_development() ? DEV_FRONTPAGE_ADDRESS : FRONTPAGE_ADDRESS) + (path !== "" ? "/" + path : ""); } export function portal_base(path: string = ""): string { - return (is_development() ? DEV_PORTAL_ADDRESS : PORTAL_ADDRESS) + (path ? "/" + path : "/"); + return (is_development() ? DEV_PORTAL_ADDRESS : PORTAL_ADDRESS) + (path !== "" ? "/" + path : ""); } export function api_base(path: string = ""): string { - return (is_development() ? DEV_API_ADDRESS : API_ADDRESS) + (path ? "/" + path : "/"); + return (is_development() ? DEV_API_ADDRESS : API_ADDRESS) + (path !== "" ? "/" + path : ""); } export function is_development(): boolean { @@ -33,6 +39,10 @@ export function is_debug(): boolean { return localStorage.getItem(StorageKeys.debug) !== "true"; } +export const CookieNames = { + theme: "go_theme" +}; + export const QueryKeys = { labels: "labels", categories: "categories", diff --git a/apps/web-shared/src/lib/helpers.ts b/apps/web-shared/src/lib/helpers.ts index acf74d7..f2d0cca 100644 --- a/apps/web-shared/src/lib/helpers.ts +++ b/apps/web-shared/src/lib/helpers.ts @@ -1,4 +1,4 @@ -import {StorageKeys} from "$shared/lib/configuration"; +import {base_domain, CookieNames, StorageKeys} from "$shared/lib/configuration"; import {TimeEntryDto} from "$shared/lib/models/TimeEntryDto"; import {UnwrappedEntryDateTime} from "$shared/lib/models/UnwrappedEntryDateTime"; import {Temporal} from "@js-temporal/polyfill"; @@ -36,14 +36,24 @@ export function is_norwegian_phone_number(value: string): boolean { export function switch_theme() { const html = document.querySelector("html"); - if (html) { - if (html.dataset.theme === "dark") { - html.dataset.theme = "light"; - } else { - html.dataset.theme = "dark"; - } - localStorage.setItem(StorageKeys.theme, html.dataset.theme); + if (html.dataset.theme === "dark") { + html.dataset.theme = "light"; + } else { + html.dataset.theme = "dark"; } + set_cookie(CookieNames.theme, html.dataset.theme, base_domain()); +} + +export function get_cookie(name) { + const value = `; ${document.cookie}`; + const parts = value.split(`; ${name}=`); + if (parts.length === 2) return parts.pop().split(";").shift(); +} + +export function set_cookie(name, value, baseDomain = window.location.host) { + let asdf = name + "=" + encodeURIComponent(value) + (baseDomain ? ";domain=" + baseDomain : ""); + console.log(asdf); + document.cookie = asdf; } export function unwrap_date_time_from_entry(entry: TimeEntryDto): UnwrappedEntryDateTime { |
