2024-11-17 17:17:40 +08:00
|
|
|
import {
|
|
|
|
Links,
|
|
|
|
Meta,
|
|
|
|
Outlet,
|
2024-11-27 19:52:49 +08:00
|
|
|
Scripts,
|
2024-11-17 17:17:40 +08:00
|
|
|
ScrollRestoration,
|
|
|
|
} from "@remix-run/react";
|
2024-12-08 00:55:12 +08:00
|
|
|
import { NotificationProvider } from "hooks/Notification";
|
2024-12-18 21:54:37 +08:00
|
|
|
import { ThemeScript } from "hooks/ThemeMode";
|
2024-11-17 17:17:40 +08:00
|
|
|
|
2024-11-27 19:52:49 +08:00
|
|
|
import "~/index.css";
|
2024-11-17 17:17:40 +08:00
|
|
|
|
2024-12-03 01:37:02 +08:00
|
|
|
export function Layout() {
|
2024-11-17 17:17:40 +08:00
|
|
|
return (
|
2024-12-12 23:27:36 +08:00
|
|
|
<html lang="en" className="h-full" suppressHydrationWarning={true}>
|
2024-11-17 17:17:40 +08:00
|
|
|
<head>
|
|
|
|
<meta charSet="utf-8" />
|
2024-12-12 23:27:36 +08:00
|
|
|
<meta httpEquiv="Expires" content="0" />
|
2024-12-18 21:54:37 +08:00
|
|
|
<meta
|
|
|
|
name="viewport"
|
|
|
|
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
|
|
|
|
/>
|
2024-12-05 16:58:57 +08:00
|
|
|
|
|
|
|
<title>Echoes</title>
|
2024-12-12 23:27:36 +08:00
|
|
|
<ThemeScript />
|
2024-12-04 02:35:06 +08:00
|
|
|
<Meta />
|
|
|
|
<Links />
|
2024-12-03 01:37:02 +08:00
|
|
|
</head>
|
2024-12-05 16:58:57 +08:00
|
|
|
<body
|
|
|
|
className="h-full"
|
|
|
|
suppressHydrationWarning={true}
|
2024-12-08 00:55:12 +08:00
|
|
|
data-cz-shortcut-listen="false"
|
2024-12-05 16:58:57 +08:00
|
|
|
>
|
2024-12-18 21:54:37 +08:00
|
|
|
<NotificationProvider>
|
2024-12-03 01:37:02 +08:00
|
|
|
<Outlet />
|
|
|
|
</NotificationProvider>
|
|
|
|
<ScrollRestoration />
|
2024-11-30 22:24:35 +08:00
|
|
|
<Scripts />
|
2024-11-17 17:17:40 +08:00
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
);
|
|
|
|
}
|
2024-12-03 01:37:02 +08:00
|
|
|
|
2024-11-17 17:17:40 +08:00
|
|
|
export default function App() {
|
2024-12-03 01:37:02 +08:00
|
|
|
return <Layout />;
|
2024-11-17 17:17:40 +08:00
|
|
|
}
|