diff --git a/app/bun.lock b/app/bun.lock index 7307ad4..83ec662 100644 --- a/app/bun.lock +++ b/app/bun.lock @@ -16,6 +16,7 @@ "solid-js": "^1.9.5", "solid-jsx": "^1.1.4", "solid-mdx": "^0.0.7", + "solid-toast": "^0.5.0", "telefunc": "^0.2.3", "terracotta": "^1.0.6", "vike": "^0.4.228", @@ -925,6 +926,8 @@ "solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], + "solid-toast": ["solid-toast@0.5.0", "", { "peerDependencies": { "solid-js": "^1.5.4" } }, "sha512-t770JakjyS2P9b8Qa1zMLOD51KYKWXbTAyJePVUoYex5c5FH5S/HtUBUbZAWFcqRCKmAE8KhyIiCvDZA8bOnxQ=="], + "solid-use": ["solid-use@0.9.1", "", { "peerDependencies": { "solid-js": "^1.7" } }, "sha512-UwvXDVPlrrbj/9ewG9ys5uL2IO4jSiwys2KPzK4zsnAcmEl7iDafZWW1Mo4BSEWOmQCGK6IvpmGHo1aou8iOFw=="], "sonic-boom": ["sonic-boom@4.2.0", "", { "dependencies": { "atomic-sleep": "^1.0.0" } }, "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww=="], diff --git a/app/images/blur-cyan.webp b/app/images/blur-cyan.webp new file mode 100644 index 0000000..44dda68 Binary files /dev/null and b/app/images/blur-cyan.webp differ diff --git a/app/images/blur-indigo.webp b/app/images/blur-indigo.webp new file mode 100644 index 0000000..f9217ca Binary files /dev/null and b/app/images/blur-indigo.webp differ diff --git a/app/layouts/LayoutDefault copy.tsx b/app/layouts/LayoutDefault copy.tsx new file mode 100755 index 0000000..9f916e2 --- /dev/null +++ b/app/layouts/LayoutDefault copy.tsx @@ -0,0 +1,52 @@ +import type { JSX } from "solid-js"; + +import "./tailwind.css"; + +import { Link } from "@/components/Link"; +import logoUrl from "@/assets/logo.svg"; + +export default function LayoutDefault(props: { children?: JSX.Element }) { + return ( +
+ + + Welcome + Todo + Data Fetching + {""} + + {props.children} +
+ ); +} + +function Sidebar(props: { children: JSX.Element }) { + return ( + + ); +} + +function Content(props: { children: JSX.Element }) { + return ( +
+
+ {props.children} +
+
+ ); +} + +function Logo() { + return ( +
+ + logo + +
+ ); +} diff --git a/app/layouts/LayoutDefault.tsx b/app/layouts/LayoutDefault.tsx index 9f916e2..d37bcda 100755 --- a/app/layouts/LayoutDefault.tsx +++ b/app/layouts/LayoutDefault.tsx @@ -1,52 +1,163 @@ -import type { JSX } from "solid-js"; - -import "./tailwind.css"; +import type { JSX, JSXElement } from "solid-js"; +// import { CookiesContainer } from "@/components/common/Cookies"; +import { MobileNavigation } from "@/partials/MobileNavigation"; +import { usePageContext } from "vike-solid/usePageContext"; +// import { ThemeProvider } from "@/providers/ThemeProvider"; +// import { clientOnly } from "vike-react/clientOnly"; +import { createEffect, createSignal } from "solid-js"; +import { HeroSection } from "@/partials/HeroSection"; +import { Navigation } from "@/partials/Navigation"; import { Link } from "@/components/Link"; -import logoUrl from "@/assets/logo.svg"; +import { Logo } from "@/components/Logo"; +import { Toaster } from "solid-toast"; +import clsx from "clsx"; -export default function LayoutDefault(props: { children?: JSX.Element }) { +import "./style.css"; +import "./tailwind.css"; +// import "./prism.css"; +import "unfonts.css"; + +// const Search = clientOnly(() => import("@/components/Search").then((module) => module.Search)); + +function Search() { + return null; +} + +function GitHubIcon(props: JSX.IntrinsicElements["svg"]) { return ( -
- - - Welcome - Todo - Data Fetching - {""} - - {props.children} -
+ ); } -function Sidebar(props: { children: JSX.Element }) { +function Header() { + const [isScrolled, setIsScrolled] = createSignal(false); + + createEffect(() => { + function onScroll() { + setIsScrolled(window.scrollY > 0); + } + onScroll(); + window.addEventListener("scroll", onScroll, { passive: true }); + return () => { + window.removeEventListener("scroll", onScroll); + }; + }, []); + return ( - - ); -} - -function Content(props: { children: JSX.Element }) { - return ( -
-
- {props.children} +
+
-
+ +
+ + + + +
+ +
+ {/* } /> */} +
+
+ +
+ + + +
+ ); } -function Logo() { +function Footer() { return ( -
- - logo - -
+
+
+
+
+ +

Memento Dev

+
+ +

+ Plateforme de ressources et documentations synthétiques et concises, + conçue pour les développeurs ou passionnés de l‘informatique + en quête de savoir. +

+
+ +
+ +
+
+

+ © 2022 - {new Date().getFullYear()} Memento Dev. Tous droits + réservés +

+
+ +

+ Memento Dev est une plateforme open-source, développée par{" "} + + Gauthier Daniels + + , soutenue et maintenue par une communauté de contributeurs + passionnés. +

+
+
+
+ ); +} + +type DefaultLayoutProps = { + children: JSXElement; +}; + +export default function DefaultLayout(props: DefaultLayoutProps) { + const { urlPathname } = usePageContext(); + const isHomePage = urlPathname === "/"; + + return ( + <> +
+
+ + {isHomePage && } + +
+