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 (
+
+ );
+}
+
+function Logo() {
+ return (
+
+ );
+}
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 (
-
-
+
+
+
+
+
+ Memento Dev
+
+
+
+
+
+
+
+
+
+
+
+
);
}
-function Logo() {
+function Footer() {
return (
-
+
+ );
+}
+
+type DefaultLayoutProps = {
+ children: JSXElement;
+};
+
+export default function DefaultLayout(props: DefaultLayoutProps) {
+ const { urlPathname } = usePageContext();
+ const isHomePage = urlPathname === "/";
+
+ return (
+ <>
+
+
+
+ {isHomePage &&
}
+
+
+
+
+
+
+
+ >
);
}
diff --git a/app/package.json b/app/package.json
index ecdcdb1..999a862 100755
--- a/app/package.json
+++ b/app/package.json
@@ -21,6 +21,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",
diff --git a/app/pages/index/+Page.tsx b/app/pages/index/+Page.tsx
index 15adb9b..fa5d1c4 100755
--- a/app/pages/index/+Page.tsx
+++ b/app/pages/index/+Page.tsx
@@ -4,7 +4,7 @@ export default function Page() {
My Vike app
This page is:
- - Rendered to HTML.
+ - Rendered to HTMLs.
>
);
diff --git a/app/partials/HeroSection.tsx b/app/partials/HeroSection.tsx
index acdd9df..ccd9b30 100644
--- a/app/partials/HeroSection.tsx
+++ b/app/partials/HeroSection.tsx
@@ -34,7 +34,7 @@ function TrafficLightsIcon(props: JSX.IntrinsicElements["svg"]) {
);
}
-export function Hero() {
+export function HeroSection() {
return (