Update AppImage

This commit is contained in:
MacRimi
2025-11-07 12:21:37 +01:00
parent ee57797890
commit 06b81f2b64
2 changed files with 14 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ import type { Metadata } from "next"
import { GeistSans } from "geist/font/sans"
import { GeistMono } from "geist/font/mono"
import { ThemeProvider } from "../components/theme-provider"
import { PollingConfigProvider } from "../lib/polling-config"
import { Suspense } from "react"
import "./globals.css"
@@ -37,7 +38,7 @@ export default function RootLayout({
<body className={`${GeistSans.variable} ${GeistMono.variable} antialiased bg-background text-foreground`}>
<Suspense fallback={<div>Loading...</div>}>
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem disableTransitionOnChange>
{children}
<PollingConfigProvider>{children}</PollingConfigProvider>
</ThemeProvider>
</Suspense>
</body>

View File

@@ -31,6 +31,8 @@ export function PollingConfigProvider({ children }: { children: ReactNode }) {
// Load from localStorage on mount
useEffect(() => {
if (typeof window === "undefined") return
const stored = localStorage.getItem(STORAGE_KEY)
if (stored) {
try {
@@ -45,7 +47,9 @@ export function PollingConfigProvider({ children }: { children: ReactNode }) {
const updateInterval = (key: keyof PollingIntervals, value: number) => {
setIntervals((prev) => {
const newIntervals = { ...prev, [key]: value }
localStorage.setItem(STORAGE_KEY, JSON.stringify(newIntervals))
if (typeof window !== "undefined") {
localStorage.setItem(STORAGE_KEY, JSON.stringify(newIntervals))
}
return newIntervals
})
}
@@ -56,6 +60,13 @@ export function PollingConfigProvider({ children }: { children: ReactNode }) {
export function usePollingConfig() {
const context = useContext(PollingConfigContext)
if (!context) {
// During SSR or when provider is not available, return defaults
if (typeof window === "undefined") {
return {
intervals: DEFAULT_INTERVALS,
updateInterval: () => {},
}
}
throw new Error("usePollingConfig must be used within PollingConfigProvider")
}
return context