2026-03-07 18:03:32 +11:00
|
|
|
import { atom } from 'jotai';
|
|
|
|
|
import { CallEmbed } from '../plugins/call';
|
|
|
|
|
|
|
|
|
|
const baseCallEmbedAtom = atom<CallEmbed | undefined>(undefined);
|
|
|
|
|
|
|
|
|
|
export const callEmbedAtom = atom<CallEmbed | undefined, [CallEmbed | undefined], void>(
|
|
|
|
|
(get) => get(baseCallEmbedAtom),
|
|
|
|
|
(get, set, callEmbed) => {
|
|
|
|
|
const prevCallEmbed = get(baseCallEmbedAtom);
|
|
|
|
|
if (callEmbed === prevCallEmbed) return;
|
|
|
|
|
|
|
|
|
|
if (prevCallEmbed) {
|
|
|
|
|
prevCallEmbed.dispose();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
set(baseCallEmbedAtom, callEmbed);
|
2026-05-21 23:30:50 -04:00
|
|
|
},
|
2026-03-07 18:03:32 +11:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
export const callChatAtom = atom<boolean>(false);
|