From 67426af3ef73e788d99b6d2e0c730c270daea273 Mon Sep 17 00:00:00 2001 From: AAGaming Date: Tue, 9 Aug 2022 21:52:03 -0400 Subject: Add api for showing toast notifications --- frontend/src/components/Toast.tsx | 54 ++++++++++++++++++++++ .../components/settings/pages/general/Updater.tsx | 18 +------- 2 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 frontend/src/components/Toast.tsx (limited to 'frontend/src/components') diff --git a/frontend/src/components/Toast.tsx b/frontend/src/components/Toast.tsx new file mode 100644 index 00000000..559c37c6 --- /dev/null +++ b/frontend/src/components/Toast.tsx @@ -0,0 +1,54 @@ +import { ToastData, findModule, joinClassNames } from 'decky-frontend-lib'; +import { FunctionComponent } 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 Toast: FunctionComponent = ({ toast }) => { + return ( +
+
+ {toast.data.logo &&
{toast.data.logo}
} +
+
+ {toast.data.icon &&
{toast.data.icon}
} +
{toast.data.title}
+
+
{toast.data.body}
+
+
+
+ ); +}; + +export default Toast; diff --git a/frontend/src/components/settings/pages/general/Updater.tsx b/frontend/src/components/settings/pages/general/Updater.tsx index 106af6f3..3d137d7a 100644 --- a/frontend/src/components/settings/pages/general/Updater.tsx +++ b/frontend/src/components/settings/pages/general/Updater.tsx @@ -2,23 +2,7 @@ import { DialogButton, Field, ProgressBarWithInfo, Spinner } from 'decky-fronten import { useEffect, useState } from 'react'; import { FaArrowDown } from 'react-icons/fa'; -import { callUpdaterMethod, finishUpdate } from '../../../../updater'; - -interface VerInfo { - current: string; - remote: { - assets: { - browser_download_url: string; - created_at: string; - }[]; - name: string; - body: string; - prerelease: boolean; - published_at: string; - tag_name: string; - } | null; - updatable: boolean; -} +import { VerInfo, callUpdaterMethod, finishUpdate } from '../../../../updater'; export default function UpdaterSettings() { const [versionInfo, setVersionInfo] = useState(null); -- cgit v1.2.3