Coves frontend - a photon fork
1import { browser } from '$app/environment'
2import { env } from '$env/dynamic/public'
3import { profile } from './auth.svelte'
4
5class InstanceData {
6 #instance = $derived(profile.current.instance)
7
8 get data() {
9 return this.#instance ?? DEFAULT_INSTANCE_URL
10 }
11}
12
13export const instance = new InstanceData()
14
15export const LINKED_INSTANCE_URL =
16 (env.PUBLIC_LOCK_TO_INSTANCE ?? 'true').toLowerCase() == 'true'
17 ? env.PUBLIC_INSTANCE_URL
18 : undefined
19
20const getDefaultInstance = (): string => {
21 if (browser) {
22 return env.PUBLIC_INSTANCE_URL || 'lemdro.id'
23 } else {
24 return (
25 env.PUBLIC_INTERNAL_INSTANCE || env.PUBLIC_INSTANCE_URL || 'lemdro.id'
26 )
27 }
28}
29
30export const DEFAULT_INSTANCE_URL = getDefaultInstance()