Move toast state to Jotai

This commit is contained in:
Gregory Schier
2025-01-06 12:05:43 -08:00
parent c2ea2a5fe5
commit ab55c2e0ce
5 changed files with 62 additions and 80 deletions

View File

@@ -1,6 +1,7 @@
import { emit } from '@tauri-apps/api/event';
import type { PromptTextRequest, PromptTextResponse } from '@yaakapp-internal/plugins';
import {useWatchWorkspace} from "@yaakapp-internal/sync";
import { useWatchWorkspace } from '@yaakapp-internal/sync';
import type { ShowToastRequest } from '@yaakapp/api';
import {
useEnsureActiveCookieJar,
useSubscribeActiveCookieJarId,
@@ -28,6 +29,7 @@ import { useSyncWorkspaceChildModels } from '../hooks/useSyncWorkspaceChildModel
import { useSyncWorkspaceRequestTitle } from '../hooks/useSyncWorkspaceRequestTitle';
import { useSyncZoomSetting } from '../hooks/useSyncZoomSetting';
import { useSubscribeTemplateFunctions } from '../hooks/useTemplateFunctions';
import {useToast} from "../hooks/useToast";
import { useToggleCommandPalette } from '../hooks/useToggleCommandPalette';
export function GlobalHooks() {
@@ -55,6 +57,12 @@ export function GlobalHooks() {
useActiveWorkspaceChangedToast();
useEnsureActiveCookieJar();
// Listen for toasts
const toast = useToast();
useListenToTauriEvent<ShowToastRequest>('show_toast', (event) => {
toast.show({ ...event.payload });
});
// Trigger workspace sync operation when workspace files change
const activeWorkspace = useActiveWorkspace();
const { debouncedSync } = useSyncWorkspace(activeWorkspace, { debounceMillis: 1000 });