43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
import { writable, derived } from 'svelte/store';
|
|
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
|
|
|
|
// Store para a conversa ativa
|
|
export const conversaAtiva = writable<Id<"conversas"> | null>(null);
|
|
|
|
// Store para o estado do chat (aberto/minimizado/fechado)
|
|
export const chatAberto = writable<boolean>(false);
|
|
export const chatMinimizado = writable<boolean>(false);
|
|
|
|
// Store para o contador de notificações
|
|
export const notificacoesCount = writable<number>(0);
|
|
|
|
// Funções auxiliares
|
|
export function abrirChat() {
|
|
chatAberto.set(true);
|
|
chatMinimizado.set(false);
|
|
}
|
|
|
|
export function fecharChat() {
|
|
chatAberto.set(false);
|
|
chatMinimizado.set(false);
|
|
conversaAtiva.set(null);
|
|
}
|
|
|
|
export function minimizarChat() {
|
|
chatMinimizado.set(true);
|
|
}
|
|
|
|
export function maximizarChat() {
|
|
chatMinimizado.set(false);
|
|
}
|
|
|
|
export function abrirConversa(conversaId: Id<"conversas">) {
|
|
conversaAtiva.set(conversaId);
|
|
abrirChat();
|
|
}
|
|
|
|
export function voltarParaLista() {
|
|
conversaAtiva.set(null);
|
|
}
|
|
|