This commit is contained in:
2026-03-31 05:10:44 +01:00
parent 89b33d03e5
commit 3844713f90
12 changed files with 65 additions and 28 deletions
+2 -7
View File
@@ -5,14 +5,9 @@ import Footer from "./Footer";
import { twMerge } from "tailwind-merge";
import MobileMenu from "./(sections)/MobileMenu";
type Props = PropsWithChildren & {
meta?: {
title?: string;
description?: string;
};
};
type Props = PropsWithChildren;
export default function Layout({ children, meta }: Props) {
export default function Layout({ children }: Props) {
const [menuOpen, setMenuOpen] = React.useState(false);
return (
+13
View File
@@ -0,0 +1,13 @@
import { SchemaJSON } from "@/src/layouts/main/(data)/schema";
import { BunextPageHeadFCProps } from "@moduletrace/bunext/types";
export const RootHead = ({}: BunextPageHeadFCProps) => {
return (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(SchemaJSON),
}}
></script>
);
};
+10
View File
@@ -6,7 +6,9 @@ import {
BunextRootComponentProps,
BunextHTMLProps,
BunextRouteConfig,
BunextPageModuleMeta,
} from "@moduletrace/bunext/types";
import { RootHead } from "./(partials)/root-head";
export type AppContextType = {
pageProps: PagePropsType;
@@ -40,3 +42,11 @@ export const config: BunextRouteConfig = {
cacheExpiry: 60 * 60, // 1 hour
cachePage: true,
};
export const meta: BunextPageModuleMeta = {
title: `10X Devops/SRE Engineer | Tben.me`,
description:
"Software Engineer, DevOps Engineer, Full Stack Developer, Software Architect, Philosopher, Solar Energy Enthusiast.",
};
export const Head = RootHead;
+7 -2
View File
@@ -1,10 +1,15 @@
import Layout from "@/src/layouts/main";
import Main from "@/src/components/pages/about";
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
export default function ContactPage() {
export default function AboutMePage() {
return (
<Layout meta={{ title: "About Me | Tben.me" }}>
<Layout>
<Main />
</Layout>
);
}
export const meta: BunextPageModuleMeta = {
title: `About Me | Tben.me`,
};
+10 -7
View File
@@ -1,16 +1,19 @@
import Layout from "@/src/layouts/main";
import Main from "@/src/components/pages/blog/slug";
import { PagePropsType } from "@/src/types";
import { BunextPageModuleMetaFn } from "@moduletrace/bunext/types";
export default function SingleBlogPost({ blogPost }: PagePropsType) {
export default function SingleBlogPost() {
return (
<Layout
meta={{
title: blogPost?.meta_title,
description: blogPost?.meta_description,
}}
>
<Layout>
<Main />
</Layout>
);
}
export const meta: BunextPageModuleMetaFn = async ({ serverRes }) => {
return {
title: serverRes?.props?.blogPost?.meta_title,
description: serverRes?.props?.blogPost?.meta_description,
};
};
+6 -1
View File
@@ -1,10 +1,15 @@
import Layout from "@/src/layouts/main";
import Main from "@/src/components/pages/contact";
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
export default function ContactPage() {
return (
<Layout meta={{ title: "Contact Me | Tben.me" }}>
<Layout>
<Main />
</Layout>
);
}
export const meta: BunextPageModuleMeta = {
title: "Contact Me | Tben.me",
};
+2 -6
View File
@@ -5,15 +5,11 @@ import Divider from "@/src/components/lib/layout/Divider";
import MySkillsSection from "@/src/components/pages/Home/(sections)/MySkillsSection";
import MyWorkSection from "@/src/components/pages/Home/(sections)/MyWorkSection";
import FooterCTASection from "@/src/components/pages/Home/(sections)/footer-cta-section";
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
export default function Home() {
return (
<Layout
meta={{
description:
"Software Engineer, DevOps Engineer, Full Stack Developer, Software Architect, Philosopher, Solar Energy Enthusiast.",
}}
>
<Layout>
<Main />
<Divider />
<AboutSection />
+6 -1
View File
@@ -2,13 +2,18 @@ import Layout from "@/src/layouts/main";
import Main from "@/src/components/pages/skills";
import Divider from "@/src/components/lib/layout/Divider";
import MySkillsSection from "@/src/components/pages/Home/(sections)/MySkillsSection";
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
export default function SkillsPage() {
return (
<Layout meta={{ title: "My Skills | Tben.me" }}>
<Layout>
<Main />
<Divider />
<MySkillsSection noTitle expand />
</Layout>
);
}
export const meta: BunextPageModuleMeta = {
title: "My Skills | Tben.me",
};
+6 -1
View File
@@ -2,13 +2,18 @@ import Layout from "@/src/layouts/main";
import Main from "@/src/components/pages/work";
import Divider from "@/src/components/lib/layout/Divider";
import MyWorkSection from "@/src/components/pages/Home/(sections)/MyWorkSection";
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
export default function WorkPage() {
return (
<Layout meta={{ title: "My Work | Tben.me" }}>
<Layout>
<Main />
<Divider />
<MyWorkSection noTitle expand />
</Layout>
);
}
export const meta: BunextPageModuleMeta = {
title: "My Work | Tben.me",
};