Request actions (#65)

This commit is contained in:
Gregory Schier
2024-08-14 15:31:52 -07:00
committed by GitHub
parent 12f4c2c668
commit b95fa25898
29 changed files with 392 additions and 116 deletions

View File

@@ -1,5 +1,7 @@
import type { ReactNode } from 'react';
import React, { createContext, useContext, useMemo, useRef, useState } from 'react';
import type { ShowToastRequest } from '../../plugin-runtime-types/src';
import { useListenToTauriEvent } from '../hooks/useListenToTauriEvent';
import type { ToastProps } from './core/Toast';
import { Toast } from './core/Toast';
import { generateId } from '../lib/generateId';
@@ -61,6 +63,10 @@ export const ToastProvider = ({ children }: { children: React.ReactNode }) => {
[],
);
useListenToTauriEvent<ShowToastRequest>('show_toast', (event) => {
actions.show({ ...event.payload });
});
const state: State = { toasts, actions };
return <ToastContext.Provider value={state}>{children}</ToastContext.Provider>;
};