import { ToastData, findModule, findModuleChild, joinClassNames } from 'decky-frontend-lib'; import { FunctionComponent, useEffect } from 'react'; interface ToastProps { toast: { data: ToastData; nToastDurationMS: number; }; } const toastClasses = findModule((mod) => { if (typeof mod !== 'object') return false; if (mod.ToastPlaceholder) { return true; } return false; }); const templateClasses = findModule((mod) => { if (typeof mod !== 'object') return false; if (mod.ShortTemplate) { return true; } return false; }); const useComposition = findModuleChild((m: any) => { if (typeof m !== 'object') return false; for (let prop in m) { if (m[prop]?.toString()?.includes('.Get().ChangeMinimumCompositionStateRequest')) return m[prop]; } return false; }); const Toast: FunctionComponent = ({ toast }) => { const composition = useComposition(2); // 2: overlay useEffect(() => { return () => { composition.releaseComposition(); }; }, []); return (
{toast.data.logo &&
{toast.data.logo}
}
{toast.data.icon &&
{toast.data.icon}
}
{toast.data.title}
{toast.data.body}
); }; export default Toast;