00ca0561eced | atagen | 2026-10-26 05:50 UTC | 1 | import { writable } from 'svelte/store'; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 2 | import { getAccountData } from './api'; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 3 | import { NO_MUTED_SPACES, parseMutedSpaces, type MutedSpaces } from './mute-model'; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 4 | |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 5 | export const MUTED_SPACES_EVENT = 'dev.malice.muted_spaces'; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 6 | |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 7 | export const mutedSpaces = writable<MutedSpaces>(NO_MUTED_SPACES); |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 8 | |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 9 | let loaded = false; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 10 | |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 11 | export const mutedSpacesLoaded = () => loaded; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 12 | |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 13 | export async function loadMutedSpaces(): Promise<void> { |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 14 | try { |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 15 | mutedSpaces.set(parseMutedSpaces(await getAccountData(MUTED_SPACES_EVENT))); |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 16 | loaded = true; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 17 | } catch {} |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 18 | } |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 19 | |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 20 | export function resetMutedSpaces(): void { |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 21 | loaded = false; |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 22 | mutedSpaces.set(NO_MUTED_SPACES); |
00ca0561eced | atagen | 2026-10-26 05:50 UTC | 23 | } |