_app.tsx 904 B

12345678910111213141516171819202122232425262728
  1. import type { PageProps } from "fresh";
  2. import { define } from "utils/state.ts";
  3. import Modal from "../islands/Modal.tsx";
  4. import Loading from "../islands/Loading.tsx";
  5. export default define.page(({ Component }: PageProps) => {
  6. return (
  7. <html>
  8. <head>
  9. <link
  10. href="https://unpkg.com/bootstrap-icons@1.10.4/font/bootstrap-icons.css"
  11. rel="stylesheet"
  12. />
  13. <script
  14. dangerouslySetInnerHTML={{
  15. __html:
  16. `(function(){var t=localStorage.getItem("theme");if(t==="dark"||(!t&&window.matchMedia("(prefers-color-scheme: dark)").matches)){document.documentElement.classList.add("dark")}})()`,
  17. }}
  18. />
  19. </head>
  20. <body className="bg-white dark:bg-gray-900 text-gray-800 dark:text-gray-100 transition-colors">
  21. <Modal />
  22. <Loading />
  23. <Component />
  24. </body>
  25. </html>
  26. );
  27. });