diff --git a/public/splashes/apple-splash-dark-1125-2436.jpg b/public/splashes/apple-splash-dark-1125-2436.jpg new file mode 100644 index 0000000..86fd3ec Binary files /dev/null and b/public/splashes/apple-splash-dark-1125-2436.jpg differ diff --git a/public/splashes/apple-splash-dark-1136-640.jpg b/public/splashes/apple-splash-dark-1136-640.jpg new file mode 100644 index 0000000..e3159bf Binary files /dev/null and b/public/splashes/apple-splash-dark-1136-640.jpg differ diff --git a/public/splashes/apple-splash-dark-1170-2532.jpg b/public/splashes/apple-splash-dark-1170-2532.jpg new file mode 100644 index 0000000..d71e11a Binary files /dev/null and b/public/splashes/apple-splash-dark-1170-2532.jpg differ diff --git a/public/splashes/apple-splash-dark-1179-2556.jpg b/public/splashes/apple-splash-dark-1179-2556.jpg new file mode 100644 index 0000000..5c6b4d7 Binary files /dev/null and b/public/splashes/apple-splash-dark-1179-2556.jpg differ diff --git a/public/splashes/apple-splash-dark-1206-2622.jpg b/public/splashes/apple-splash-dark-1206-2622.jpg new file mode 100644 index 0000000..778a9d0 Binary files /dev/null and b/public/splashes/apple-splash-dark-1206-2622.jpg differ diff --git a/public/splashes/apple-splash-dark-1242-2208.jpg b/public/splashes/apple-splash-dark-1242-2208.jpg new file mode 100644 index 0000000..96611f2 Binary files /dev/null and b/public/splashes/apple-splash-dark-1242-2208.jpg differ diff --git a/public/splashes/apple-splash-dark-1242-2688.jpg b/public/splashes/apple-splash-dark-1242-2688.jpg new file mode 100644 index 0000000..2916f00 Binary files /dev/null and b/public/splashes/apple-splash-dark-1242-2688.jpg differ diff --git a/public/splashes/apple-splash-dark-1284-2778.jpg b/public/splashes/apple-splash-dark-1284-2778.jpg new file mode 100644 index 0000000..0f81ab0 Binary files /dev/null and b/public/splashes/apple-splash-dark-1284-2778.jpg differ diff --git a/public/splashes/apple-splash-dark-1290-2796.jpg b/public/splashes/apple-splash-dark-1290-2796.jpg new file mode 100644 index 0000000..a1fece3 Binary files /dev/null and b/public/splashes/apple-splash-dark-1290-2796.jpg differ diff --git a/public/splashes/apple-splash-dark-1320-2868.jpg b/public/splashes/apple-splash-dark-1320-2868.jpg new file mode 100644 index 0000000..acb15d3 Binary files /dev/null and b/public/splashes/apple-splash-dark-1320-2868.jpg differ diff --git a/public/splashes/apple-splash-dark-1334-750.jpg b/public/splashes/apple-splash-dark-1334-750.jpg new file mode 100644 index 0000000..462c495 Binary files /dev/null and b/public/splashes/apple-splash-dark-1334-750.jpg differ diff --git a/public/splashes/apple-splash-dark-1488-2266.jpg b/public/splashes/apple-splash-dark-1488-2266.jpg new file mode 100644 index 0000000..a76b007 Binary files /dev/null and b/public/splashes/apple-splash-dark-1488-2266.jpg differ diff --git a/public/splashes/apple-splash-dark-1536-2048.jpg b/public/splashes/apple-splash-dark-1536-2048.jpg new file mode 100644 index 0000000..cda3813 Binary files /dev/null and b/public/splashes/apple-splash-dark-1536-2048.jpg differ diff --git a/public/splashes/apple-splash-dark-1620-2160.jpg b/public/splashes/apple-splash-dark-1620-2160.jpg new file mode 100644 index 0000000..858efed Binary files /dev/null and b/public/splashes/apple-splash-dark-1620-2160.jpg differ diff --git a/public/splashes/apple-splash-dark-1640-2360.jpg b/public/splashes/apple-splash-dark-1640-2360.jpg new file mode 100644 index 0000000..66c43fa Binary files /dev/null and b/public/splashes/apple-splash-dark-1640-2360.jpg differ diff --git a/public/splashes/apple-splash-dark-1668-2224.jpg b/public/splashes/apple-splash-dark-1668-2224.jpg new file mode 100644 index 0000000..6d6c4a9 Binary files /dev/null and b/public/splashes/apple-splash-dark-1668-2224.jpg differ diff --git a/public/splashes/apple-splash-dark-1668-2388.jpg b/public/splashes/apple-splash-dark-1668-2388.jpg new file mode 100644 index 0000000..8e349fa Binary files /dev/null and b/public/splashes/apple-splash-dark-1668-2388.jpg differ diff --git a/public/splashes/apple-splash-dark-1792-828.jpg b/public/splashes/apple-splash-dark-1792-828.jpg new file mode 100644 index 0000000..6b2e043 Binary files /dev/null and b/public/splashes/apple-splash-dark-1792-828.jpg differ diff --git a/public/splashes/apple-splash-dark-2048-1536.jpg b/public/splashes/apple-splash-dark-2048-1536.jpg new file mode 100644 index 0000000..dae0e07 Binary files /dev/null and b/public/splashes/apple-splash-dark-2048-1536.jpg differ diff --git a/public/splashes/apple-splash-dark-2048-2732.jpg b/public/splashes/apple-splash-dark-2048-2732.jpg new file mode 100644 index 0000000..237b028 Binary files /dev/null and b/public/splashes/apple-splash-dark-2048-2732.jpg differ diff --git a/public/splashes/apple-splash-dark-2160-1620.jpg b/public/splashes/apple-splash-dark-2160-1620.jpg new file mode 100644 index 0000000..c669fd6 Binary files /dev/null and b/public/splashes/apple-splash-dark-2160-1620.jpg differ diff --git a/public/splashes/apple-splash-dark-2208-1242.jpg b/public/splashes/apple-splash-dark-2208-1242.jpg new file mode 100644 index 0000000..f41fb99 Binary files /dev/null and b/public/splashes/apple-splash-dark-2208-1242.jpg differ diff --git a/public/splashes/apple-splash-dark-2224-1668.jpg b/public/splashes/apple-splash-dark-2224-1668.jpg new file mode 100644 index 0000000..16eb875 Binary files /dev/null and b/public/splashes/apple-splash-dark-2224-1668.jpg differ diff --git a/public/splashes/apple-splash-dark-2266-1488.jpg b/public/splashes/apple-splash-dark-2266-1488.jpg new file mode 100644 index 0000000..a32b22b Binary files /dev/null and b/public/splashes/apple-splash-dark-2266-1488.jpg differ diff --git a/public/splashes/apple-splash-dark-2360-1640.jpg b/public/splashes/apple-splash-dark-2360-1640.jpg new file mode 100644 index 0000000..433f7d1 Binary files /dev/null and b/public/splashes/apple-splash-dark-2360-1640.jpg differ diff --git a/public/splashes/apple-splash-dark-2388-1668.jpg b/public/splashes/apple-splash-dark-2388-1668.jpg new file mode 100644 index 0000000..9f7bd48 Binary files /dev/null and b/public/splashes/apple-splash-dark-2388-1668.jpg differ diff --git a/public/splashes/apple-splash-dark-2436-1125.jpg b/public/splashes/apple-splash-dark-2436-1125.jpg new file mode 100644 index 0000000..1921d57 Binary files /dev/null and b/public/splashes/apple-splash-dark-2436-1125.jpg differ diff --git a/public/splashes/apple-splash-dark-2532-1170.jpg b/public/splashes/apple-splash-dark-2532-1170.jpg new file mode 100644 index 0000000..7839da3 Binary files /dev/null and b/public/splashes/apple-splash-dark-2532-1170.jpg differ diff --git a/public/splashes/apple-splash-dark-2556-1179.jpg b/public/splashes/apple-splash-dark-2556-1179.jpg new file mode 100644 index 0000000..4935c89 Binary files /dev/null and b/public/splashes/apple-splash-dark-2556-1179.jpg differ diff --git a/public/splashes/apple-splash-dark-2622-1206.jpg b/public/splashes/apple-splash-dark-2622-1206.jpg new file mode 100644 index 0000000..a731374 Binary files /dev/null and b/public/splashes/apple-splash-dark-2622-1206.jpg differ diff --git a/public/splashes/apple-splash-dark-2688-1242.jpg b/public/splashes/apple-splash-dark-2688-1242.jpg new file mode 100644 index 0000000..1d67421 Binary files /dev/null and b/public/splashes/apple-splash-dark-2688-1242.jpg differ diff --git a/public/splashes/apple-splash-dark-2732-2048.jpg b/public/splashes/apple-splash-dark-2732-2048.jpg new file mode 100644 index 0000000..86df383 Binary files /dev/null and b/public/splashes/apple-splash-dark-2732-2048.jpg differ diff --git a/public/splashes/apple-splash-dark-2778-1284.jpg b/public/splashes/apple-splash-dark-2778-1284.jpg new file mode 100644 index 0000000..d44ffbc Binary files /dev/null and b/public/splashes/apple-splash-dark-2778-1284.jpg differ diff --git a/public/splashes/apple-splash-dark-2796-1290.jpg b/public/splashes/apple-splash-dark-2796-1290.jpg new file mode 100644 index 0000000..701201e Binary files /dev/null and b/public/splashes/apple-splash-dark-2796-1290.jpg differ diff --git a/public/splashes/apple-splash-dark-2868-1320.jpg b/public/splashes/apple-splash-dark-2868-1320.jpg new file mode 100644 index 0000000..ec4aaef Binary files /dev/null and b/public/splashes/apple-splash-dark-2868-1320.jpg differ diff --git a/public/splashes/apple-splash-dark-640-1136.jpg b/public/splashes/apple-splash-dark-640-1136.jpg new file mode 100644 index 0000000..55155f6 Binary files /dev/null and b/public/splashes/apple-splash-dark-640-1136.jpg differ diff --git a/public/splashes/apple-splash-dark-750-1334.jpg b/public/splashes/apple-splash-dark-750-1334.jpg new file mode 100644 index 0000000..ccbae10 Binary files /dev/null and b/public/splashes/apple-splash-dark-750-1334.jpg differ diff --git a/public/splashes/apple-splash-dark-828-1792.jpg b/public/splashes/apple-splash-dark-828-1792.jpg new file mode 100644 index 0000000..de3e5a5 Binary files /dev/null and b/public/splashes/apple-splash-dark-828-1792.jpg differ diff --git a/src/app/head.tsx b/src/app/head.tsx new file mode 100644 index 0000000..3e78e9f --- /dev/null +++ b/src/app/head.tsx @@ -0,0 +1,48 @@ +const Head = () => ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); + +export default Head; \ No newline at end of file diff --git a/src/app/layout.tsx b/src/app/layout.tsx index d2774b7..4550ebe 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -8,6 +8,7 @@ import ThemeProvider from "./theme-provider"; import Analytics from "./analytics"; import PersistenceProvider from "./persistence-provider"; import { Toaster } from "@/components/ui/sonner"; +import Head from "./head"; const geist = Geist({ variable: "--font-geist", @@ -28,11 +29,7 @@ export const viewport: Viewport = { width: 'device-width', initialScale: 1, maximumScale: 1, - viewportFit: 'cover', - themeColor: [ - { media: "(prefers-color-scheme: dark)", color: "#0a0a0a" }, - { media: "(prefers-color-scheme: light)", color: "#ffffff" } - ] + viewportFit: 'cover' }; export default async function RootLayout({ @@ -43,9 +40,7 @@ export default async function RootLayout({ return ( - - - + diff --git a/src/app/theme-provider.tsx b/src/app/theme-provider.tsx index defddf8..48c3414 100644 --- a/src/app/theme-provider.tsx +++ b/src/app/theme-provider.tsx @@ -1,8 +1,28 @@ "use client"; import { ThemeProvider as NextThemeProvider } from "next-themes"; -import { ComponentProps, ReactNode } from "react"; +import { ComponentProps, ReactNode, useEffect } from "react"; + +const useMetaTheme = () => { + useEffect(() => { + const updateThemeColor = () => { + const bgColor = window.getComputedStyle(document.body).backgroundColor; + const metaThemeColor = document.querySelector("meta[name=theme-color]"); + metaThemeColor?.setAttribute("content", bgColor); + }; + + const observer = new MutationObserver(updateThemeColor); + + observer.observe(document.documentElement, { + attributes: true, + attributeFilter: ["class"] + }); + + return () => observer.disconnect(); + }, []); +}; const ThemeProvider = (props: ComponentProps): ReactNode => { + useMetaTheme(); return ( {props.children} diff --git a/src/components/theme-switcher/ThemeSwitcher.tsx b/src/components/theme-switcher/ThemeSwitcher.tsx index 34c45d8..fc783ef 100644 --- a/src/components/theme-switcher/ThemeSwitcher.tsx +++ b/src/components/theme-switcher/ThemeSwitcher.tsx @@ -10,16 +10,16 @@ export const ThemeSwitcher = ({ }: { variant?: "with-text" }): ReactNode => { - const { theme, setTheme } = useTheme(); + const { resolvedTheme, setTheme } = useTheme(); const [dark, setDark] = useState(false); const onThemeChange = useCallback(() => { - setTheme(theme == "dark" ? "light" : "dark"); - setDark(!dark); - }, [theme, dark]); + setTheme(resolvedTheme == "dark" ? "light" : "dark"); + setDark(resolvedTheme == "light"); + }, [resolvedTheme, dark]); useEffect(() => { - setDark(theme == "dark"); + setDark(resolvedTheme == "dark"); }, []); return ( diff --git a/tailwind.config.js b/tailwind.config.js index ce3cc1e..65fbc35 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,4 +1,5 @@ module.exports = { + darkMode: 'selector', plugins: [ require("@tailwindcss/line-clamp") ]