atagen

malice

public
Star0
Watch0
a10d41eaedf6c1f015d3253c02314ce4cc370c47
2
ssh://brewery@pls.lobotomise.me:33/atagen/malice.git

Blame: web/src/lib/muted-spaces.ts

00ca0561ecedatagen2026-10-26 05:50 UTC1
import { writable } from 'svelte/store';
00ca0561ecedatagen2026-10-26 05:50 UTC2
import { getAccountData } from './api';
00ca0561ecedatagen2026-10-26 05:50 UTC3
import { NO_MUTED_SPACES, parseMutedSpaces, type MutedSpaces } from './mute-model';
00ca0561ecedatagen2026-10-26 05:50 UTC4
00ca0561ecedatagen2026-10-26 05:50 UTC5
export const MUTED_SPACES_EVENT = 'dev.malice.muted_spaces';
00ca0561ecedatagen2026-10-26 05:50 UTC6
00ca0561ecedatagen2026-10-26 05:50 UTC7
export const mutedSpaces = writable<MutedSpaces>(NO_MUTED_SPACES);
00ca0561ecedatagen2026-10-26 05:50 UTC8
00ca0561ecedatagen2026-10-26 05:50 UTC9
let loaded = false;
00ca0561ecedatagen2026-10-26 05:50 UTC10
00ca0561ecedatagen2026-10-26 05:50 UTC11
export const mutedSpacesLoaded = () => loaded;
00ca0561ecedatagen2026-10-26 05:50 UTC12
00ca0561ecedatagen2026-10-26 05:50 UTC13
export async function loadMutedSpaces(): Promise<void> {
00ca0561ecedatagen2026-10-26 05:50 UTC14
  try {
00ca0561ecedatagen2026-10-26 05:50 UTC15
    mutedSpaces.set(parseMutedSpaces(await getAccountData(MUTED_SPACES_EVENT)));
00ca0561ecedatagen2026-10-26 05:50 UTC16
    loaded = true;
00ca0561ecedatagen2026-10-26 05:50 UTC17
  } catch {}
00ca0561ecedatagen2026-10-26 05:50 UTC18
}
00ca0561ecedatagen2026-10-26 05:50 UTC19
00ca0561ecedatagen2026-10-26 05:50 UTC20
export function resetMutedSpaces(): void {
00ca0561ecedatagen2026-10-26 05:50 UTC21
  loaded = false;
00ca0561ecedatagen2026-10-26 05:50 UTC22
  mutedSpaces.set(NO_MUTED_SPACES);
00ca0561ecedatagen2026-10-26 05:50 UTC23
}