diff --git a/composables/cache.ts b/composables/cache.ts index 05aa7d4d..e080ce11 100644 --- a/composables/cache.ts +++ b/composables/cache.ts @@ -43,7 +43,7 @@ export function fetchAccountById(id?: string | null): Promise { if (r.acct && !r.acct.includes('@') && domain) @@ -63,7 +63,7 @@ export async function fetchAccountByHandle(acct: string): Promise>(S export const nodes = useLocalStorage>(STORAGE_KEY_NODES, {}, { deep: true }) const currentUserId = useLocalStorage(STORAGE_KEY_CURRENT_USER, mock ? mock.user.account.id : '') -export type ElkInstance = Partial & { uri: string } +export type ElkInstance = Partial & { + uri: string + /** support GoToSocial */ + accountDomain?: string | null +} export const getInstanceCache = (server: string): mastodon.v1.Instance | undefined => instances.value[server] export const currentUser = computed(() => { @@ -63,6 +67,10 @@ export const currentUser = computed(() => { const publicInstance = ref(null) export const currentInstance = computed(() => currentUser.value ? instances.value[currentUser.value.server] ?? null : publicInstance.value) +export function getInstanceDomain(instance: ElkInstance) { + return instance.accountDomain || instance.uri +} + export const publicServer = ref('') export const currentServer = computed(() => currentUser.value?.server || publicServer.value)