From 50dc6ec4c0838ce58d8240a7cce7b32e7585319f Mon Sep 17 00:00:00 2001 From: itsfinniii <102350242+itsfinniii@users.noreply.github.com> Date: Fri, 20 Mar 2026 18:07:16 +0100 Subject: [PATCH] Add webpage component with Hero component --- astro/src/components/web/Hero.astro | 33 +++++++++++++++++ astro/src/components/webpage/Webpage.astro | 19 ++++++++++ astro/src/pages/[...route].astro | 43 +++++++++++++--------- 3 files changed, 77 insertions(+), 18 deletions(-) create mode 100644 astro/src/components/web/Hero.astro create mode 100644 astro/src/components/webpage/Webpage.astro diff --git a/astro/src/components/web/Hero.astro b/astro/src/components/web/Hero.astro new file mode 100644 index 0000000..1aa387c --- /dev/null +++ b/astro/src/components/web/Hero.astro @@ -0,0 +1,33 @@ +--- +import { Image } from 'astro:assets'; + +interface Props { + hero: HeroComponent; +} + +const hero = Astro.props.hero; +console.log(hero); +--- + +
+
+ + +
+
+
+

{hero.title}

+ { hero.text !== null && ( +
{hero.text}
+ ) } +
+
+
+
+
diff --git a/astro/src/components/webpage/Webpage.astro b/astro/src/components/webpage/Webpage.astro new file mode 100644 index 0000000..983fe42 --- /dev/null +++ b/astro/src/components/webpage/Webpage.astro @@ -0,0 +1,19 @@ +--- +import Hero from '../web/Hero.astro'; + +interface Props { + webpage: WebpageComponent[]; +} + +const components = Astro.props.webpage; + +console.log(Astro.props.webpage); +--- + +
+ { components.map((component) => ( + + { component.component === "Hero" && } + + )) } +
diff --git a/astro/src/pages/[...route].astro b/astro/src/pages/[...route].astro index ba4fa07..9cec203 100644 --- a/astro/src/pages/[...route].astro +++ b/astro/src/pages/[...route].astro @@ -3,8 +3,11 @@ import { getAllRoutesList } from "@/lib/routing"; import { getPage } from "@/lib/pages"; import { getSettings } from "@/content/settings/settings" import WebpageLayout from "@/layouts/WebpageLayout.astro"; +import BlogLayout from "@/layouts/BlogLayout.astro"; +import ProjectLayout from "@/layouts/ProjectLayout.astro"; import BlogIndex from "@/components/blogs/BlogIndex.astro"; import ProjectIndex from "@/components/projects/ProjectIndex.astro"; +import Webpage from "@/components/webpage/Webpage.astro"; export async function getStaticPaths() { const settings = await getSettings(); @@ -45,12 +48,12 @@ if (page === null || page.page === null) { } }}}> -
Webpage
+
) } -{ page.pageType === "BlogIndex" && ( +{ page.page.type === "BlogIndex" && ( - + ) } -{ page?.pageType === "BlogPost" && ( - + }, + tags: [] + }}> BlogPost - + ) } -{ page.pageType === "ProjectIndex" && ( +{ page.page.type === "ProjectIndex" && ( ) } -{ page.pageType === "ProjectPost" && ( - + }, + tags: [] + }}>
ProjectPost
-
+ ) } { page.pageType === "PhotoCategoryIndex" && (