/*
This file is part of the Notesnook project (https://notesnook.com/)
Copyright (C) 2023 Streetwriters (Private) Limited
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
import "./root.css";
import {
Links,
Meta,
Outlet,
Scripts,
ScrollRestoration,
useLoaderData
} from "@remix-run/react";
import { BaseThemeProvider } from "./components/theme-provider";
import { Buffer } from "buffer";
import { ThemeDark, themeToCSS } from "@notesnook/theme";
import { LoaderFunction } from "@remix-run/node";
globalThis.Buffer = Buffer;
type RootLoaderData = { cspScriptNonce: string };
export const loader: LoaderFunction = async () => {
const crypto = await import("node:crypto");
return { cspScriptNonce: crypto.randomBytes(16).toString("hex") };
};
export function Head() {
return (
<>
>
);
}
export default function App() {
const data = useLoaderData();
const cspScriptNonce =
typeof document === "undefined" ? data.cspScriptNonce : "";
return (
<>
>
);
}