From 21e613891eb4fcf165422cd3af9267d480d6dd82 Mon Sep 17 00:00:00 2001 From: Neshura Date: Wed, 14 Dec 2022 19:35:27 +0100 Subject: [PATCH] Added styled-components + various Includes changes due to NextJS version bump and attempts at storing theme via cookie --- app/layout.tsx | 76 +++++++++++++++++++++++++++++++++++ components/layout.tsx | 44 +++++++++++--------- components/navbar.tsx | 13 +++--- components/styles/generic.tsx | 8 ++++ components/themes.tsx | 51 +++++++++++++++++++++++ components/themeselector.tsx | 52 ++++++++++++++++++++++++ pages/_app.tsx | 38 +++++++++++++++++- pages/_document.tsx | 10 ++++- pages/games.tsx | 20 +++++---- pages/index.tsx | 29 +++++-------- pages/services.tsx | 68 +++++++++++++++---------------- styled.d.ts | 12 ++++++ styles/Home.module.css | 6 +-- 13 files changed, 325 insertions(+), 102 deletions(-) create mode 100644 app/layout.tsx create mode 100644 components/styles/generic.tsx create mode 100644 components/themes.tsx create mode 100644 components/themeselector.tsx create mode 100644 styled.d.ts diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..c59c454 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,76 @@ +'use client' +import Script from "next/script" +import Footer from "../components/footer" +import Navbar from "../components/navbar" +import StyleSelector from "../components/themeselector" +import styles from "../styles/Home.module.css" +import { Page } from '../components/styles/generic' +import { DefaultTheme, ThemeProvider } from 'styled-components'; +import { createContext, useContext, useEffect, useState } from "react" +import { setCookie } from "cookies-next" +import { darkTheme } from "../components/themes" + +const ThemeUpdateContext = createContext( + (theme: DefaultTheme) => console.error("attempted to set theme outside of a ThemeUpdateContext.Provider") +) + +// eslint-disable-next-line react-hooks/rules-of-hooks +export const useUpdateTheme = () => useContext(ThemeUpdateContext); + +export default function Layout({ children, }: { children: React.ReactNode }) { + const [selectedTheme, setselectedTheme] = useState(darkTheme); + console.log("Selected Theme: ", selectedTheme); // DEBUG + + + return ( + + + + + + + + + {children} + + + + + + + + ) +} + +{/* + + + + {children} + +