diff --git a/js/src/electron.d.ts b/js/src/electron.d.ts index 4c71340..99fd6a3 100644 --- a/js/src/electron.d.ts +++ b/js/src/electron.d.ts @@ -49,6 +49,7 @@ declare global { }; electronApp: { setDockBadge: (count: number) => void; + getVersion: () => Promise; }; } } diff --git a/js/src/features/settings-page.tsx b/js/src/features/settings-page.tsx index 7cdc028..6cc6203 100644 --- a/js/src/features/settings-page.tsx +++ b/js/src/features/settings-page.tsx @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; import { ChevronRight, LogOut, User, Info, Shield, Mail, Mic } from "lucide-react"; import { Avatar, AvatarFallback } from "@/components/ui/avatar"; @@ -69,6 +69,11 @@ export default function SettingsPage() { const [emailNotifications, setEmailNotifications] = useState( user?.email_notifications_enabled ?? true, ); + const [version, setVersion] = useState(); + + useEffect(() => { + window.electronApp.getVersion().then(setVersion); + }, []); const handleToggleEmailNotifications = async (checked: boolean) => { setEmailNotifications(checked); @@ -122,21 +127,6 @@ export default function SettingsPage() { - - } - label="Profile" - detail={user?.email_prefix} - /> - - } - label="Privacy" - /> - - - -
@@ -169,7 +159,7 @@ export default function SettingsPage() { } label="Version" - detail="1.0.0" + detail={version} /> diff --git a/js/src/preload.ts b/js/src/preload.ts index 244d2d4..c54a084 100644 --- a/js/src/preload.ts +++ b/js/src/preload.ts @@ -73,4 +73,5 @@ contextBridge.exposeInMainWorld('electronAttachment', { contextBridge.exposeInMainWorld('electronApp', { setDockBadge: (count: number) => ipcRenderer.send('app:set-dock-badge', count), + getVersion: () => ipcRenderer.invoke('app:get-version') as Promise, });