feat: daemon support, general improvement, and preparation for Windows release

This commit is contained in:
zhom
2026-02-01 20:55:09 +04:00
parent e9f4edd120
commit 4a59459eb2
58 changed files with 9763 additions and 296 deletions
+8 -5
View File
@@ -3,6 +3,7 @@ import { Geist, Geist_Mono } from "next/font/google";
import "@/styles/globals.css";
import "flag-icons/css/flag-icons.min.css";
import { useEffect } from "react";
import { I18nProvider } from "@/components/i18n-provider";
import { CustomThemeProvider } from "@/components/theme-provider";
import { Toaster } from "@/components/ui/sonner";
import { TooltipProvider } from "@/components/ui/tooltip";
@@ -33,11 +34,13 @@ export default function RootLayout({
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased overflow-hidden bg-background`}
>
<CustomThemeProvider>
<WindowDragArea />
<TooltipProvider>{children}</TooltipProvider>
<Toaster />
</CustomThemeProvider>
<I18nProvider>
<CustomThemeProvider>
<WindowDragArea />
<TooltipProvider>{children}</TooltipProvider>
<Toaster />
</CustomThemeProvider>
</I18nProvider>
</body>
</html>
);
+19
View File
@@ -786,6 +786,25 @@ export default function Home() {
}
}, [profiles]);
// Re-check Wayfern terms when a browser download completes
useEffect(() => {
let unlisten: (() => void) | null = null;
const setup = async () => {
unlisten = await listen<{ stage: string }>(
"download-progress",
(event) => {
if (event.payload.stage === "completed") {
void checkTerms();
}
},
);
};
void setup();
return () => {
if (unlisten) unlisten();
};
}, [checkTerms]);
// Check permissions when they are initialized
useEffect(() => {
if (isInitialized) {