fix(website): migration from old website

This commit is contained in:
iCrawl 2023-04-01 15:50:47 +02:00
parent 74a6d59ae9
commit e2f39ccc32
No known key found for this signature in database
GPG key ID: 1AB888B16355FBB2
5 changed files with 54 additions and 1 deletions

View file

@ -2,7 +2,15 @@
import { ThemeProvider } from 'next-themes';
import type { PropsWithChildren } from 'react';
import { ServiceWorker } from '~/components/ServiceWorker';
import { SystemThemeFallback } from '~/components/SystemThemeFallback';
export function Providers({ children }: PropsWithChildren) {
return <ThemeProvider attribute="class">{children}</ThemeProvider>;
return (
<>
<ThemeProvider attribute="class">{children}</ThemeProvider>
<ServiceWorker />
<SystemThemeFallback />
</>
);
}

View file

@ -0,0 +1,9 @@
'use client';
import { useUnregisterServiceWorker } from '~/hooks/useUnregisterServiceWorker';
export function ServiceWorker() {
useUnregisterServiceWorker();
return null;
}

View file

@ -0,0 +1,9 @@
'use client';
import { useSystemThemeFallback } from '~/hooks/useSystemThemeFallback';
export function SystemThemeFallback() {
useSystemThemeFallback();
return null;
}

View file

@ -0,0 +1,13 @@
'use client';
import { useEffect } from 'react';
export function useSystemThemeFallback() {
useEffect(() => {
const theme = localStorage.getItem('theme');
if (theme === 'auto') {
localStorage.setItem('theme', 'system');
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
}

View file

@ -0,0 +1,14 @@
'use client';
import { useEffect } from 'react';
export function useUnregisterServiceWorker() {
useEffect(() => {
// eslint-disable-next-line promise/prefer-await-to-then
void navigator.serviceWorker.getRegistrations().then((registrations) => {
for (const registration of registrations) {
void registration.unregister();
}
});
}, []);
}