Files
discord-decomp/modules/guild_communication_disabled/useCommunicationDisabledNoticeStore.tsx
T
2026-11-01 12:12:55 +02:00

47 lines
2.0 KiB
TypeScript

// Metro module 1943 (f1944).
import { DISMISSED_COMMUNICATION_DISABLED_NOTIFICATION_GUILDS_KEY } from "./GuildDisableCommunicationConstants";
import { Storage } from "../../_bundle/Module595";
import { createStore } from "../../_bundle/createStoreImpl";
import { batchUpdates } from "../../_bundle/Module705";
import { useStoreWithEqualityFn } from "../../_bundle/identity_700";
import { shallow } from "../../_bundle/Module3802";
const store = createStore((c13374_0, c13374_1) => {
let r5 = Storage.get(DISMISSED_COMMUNICATION_DISABLED_NOTIFICATION_GUILDS_KEY);
if (r5 == null) {
r5 = [];
}
return {
notificationDismissedInGuilds: new Set(r5),
dismissNotification: (a0) => {
const notificationDismissedInGuilds = c13374_1().notificationDismissedInGuilds;
notificationDismissedInGuilds.add(a0);
Storage.set(DISMISSED_COMMUNICATION_DISABLED_NOTIFICATION_GUILDS_KEY, notificationDismissedInGuilds);
batchUpdates(() => c13374_0({
notificationDismissedInGuilds
}));
},
resetNotification: (a0) => {
const notificationDismissedInGuilds2 = c13374_1().notificationDismissedInGuilds;
if (notificationDismissedInGuilds2.has(a0)) {
notificationDismissedInGuilds2.delete(a0);
Storage.set(DISMISSED_COMMUNICATION_DISABLED_NOTIFICATION_GUILDS_KEY, notificationDismissedInGuilds2);
batchUpdates(() => c13374_0({
notificationDismissedInGuilds: notificationDismissedInGuilds2
}));
}
}
};
});
Storage.asyncGet(DISMISSED_COMMUNICATION_DISABLED_NOTIFICATION_GUILDS_KEY, (c13375_0) => {
batchUpdates(() => store.setState({
notificationDismissedInGuilds: new Set(c13375_0)
}));
});
export function useCommunicationDisabledNoticeStore(a0) {
const [r16, r17] = useStoreWithEqualityFn(store, (a0) => [a0.notificationDismissedInGuilds, a0.dismissNotification], shallow);
return [!r16.has(a0), r17];
}
export function clearCommunicationDisabledNotice(a0) {
return store.getState().resetNotification(a0);
}