diff --git a/src/components/sections/HeroSection.astro b/src/components/sections/HeroSection.astro index 156823c..14d617c 100644 --- a/src/components/sections/HeroSection.astro +++ b/src/components/sections/HeroSection.astro @@ -1,8 +1,13 @@ --- import { Image } from 'astro:assets'; +import { readItems } from '@directus/sdk'; + +import type { HeaderImage } from '@lib/directusTypes'; import GoLinkPrimaryButton from '@components/buttons/GoLinkPrimaryButton.astro'; import GoLinkSecondaryButton from '@components/buttons/GoLinkSecondaryButton.astro'; +import directus from '@lib/directus'; +import { getDirectusImageURL } from '@/support/url'; interface Props { title: string; @@ -11,14 +16,20 @@ interface Props { primaryBtnURL?: string; secondaryBtn?: string; secondaryBtnURL?: string; - src?: any; - alt?: string; - rounded?: boolean; } -const { title, subTitle, primaryBtn, primaryBtnURL, secondaryBtn, secondaryBtnURL, src, alt } = Astro.props; +const { title, subTitle, primaryBtn, primaryBtnURL, secondaryBtn, secondaryBtnURL } = Astro.props; -const roundedClasses = Astro.props.rounded ? "rounded-2xl" : null; +const imagesData = ((await directus.request( + readItems('header_images', { + fields: ['*'], + }) +)) as unknown) as HeaderImage[]; + +const images = await Promise.all(imagesData.map(async (img) => ({ + ...img, + src: await getDirectusImageURL(img.image) +}))); ---
@@ -38,20 +49,53 @@ const roundedClasses = Astro.props.rounded ? "rounded-2xl" : null;
+ + diff --git a/src/images/autumn_bench.png b/src/images/autumn_bench.png deleted file mode 100644 index 3c25ee5..0000000 Binary files a/src/images/autumn_bench.png and /dev/null differ diff --git a/src/images/autumn_mountain.png b/src/images/autumn_mountain.png deleted file mode 100644 index 1ca3e72..0000000 Binary files a/src/images/autumn_mountain.png and /dev/null differ diff --git a/src/images/autumn_tree.png b/src/images/autumn_tree.png deleted file mode 100644 index 61cf9c3..0000000 Binary files a/src/images/autumn_tree.png and /dev/null differ diff --git a/src/images/cedar_tree.png b/src/images/cedar_tree.png deleted file mode 100644 index dfda9d4..0000000 Binary files a/src/images/cedar_tree.png and /dev/null differ diff --git a/src/images/portrait.avif b/src/images/portrait.avif deleted file mode 100644 index 9cda26b..0000000 Binary files a/src/images/portrait.avif and /dev/null differ diff --git a/src/lib/directus.ts b/src/lib/directus.ts index 1920d85..fcf6e01 100644 --- a/src/lib/directus.ts +++ b/src/lib/directus.ts @@ -5,6 +5,7 @@ import type { Weather, Post, Category, + HeaderImage, Application, Experience, Education, @@ -20,6 +21,7 @@ type Schema = { site_weather: Weather; posts: Post[]; categories: Category[]; + header_images: HeaderImage[]; site_applications: Application; site_experience: Experience; site_education: Education; diff --git a/src/lib/directusTypes.ts b/src/lib/directusTypes.ts index 126ed08..4bfddc4 100644 --- a/src/lib/directusTypes.ts +++ b/src/lib/directusTypes.ts @@ -61,6 +61,12 @@ export type Category = { logoDark: string; }; +export type HeaderImage = { + id: string; + image: string; + image_alt: string; +}; + export type Application = { id: string; name: string; diff --git a/src/pages/about.astro b/src/pages/about.astro index 9de35b2..cdb8d91 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -9,8 +9,6 @@ import SkillsSliderSection from '@components/sections/SkillsSliderSection.astro' import BaseLayout from '@layouts/BaseLayout.astro'; import directus from '@lib/directus'; -import portraitImg from '@images/portrait.avif'; - const global = await directus.request(readSingleton('site_global')); --- @@ -37,9 +35,6 @@ const global = await directus.request(readSingleton('site_global'));
diff --git a/src/pages/apps.astro b/src/pages/apps.astro index 84ff45f..b4d4f23 100644 --- a/src/pages/apps.astro +++ b/src/pages/apps.astro @@ -6,8 +6,6 @@ import ApplicationSection from '@components/sections/ApplicationSection.astro'; import BaseLayout from '@layouts/BaseLayout.astro'; import directus from '@lib/directus'; -import applicationImg from '@images/cedar_tree.png'; - const global = await directus.request(readSingleton('site_global')); --- @@ -34,8 +32,6 @@ const global = await directus.request(readSingleton('site_global')); diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro index fbeb377..2855b64 100644 --- a/src/pages/blog/index.astro +++ b/src/pages/blog/index.astro @@ -10,8 +10,6 @@ import AllPostsSection from '@components/sections/AllPostsSection.astro'; import BaseLayout from '@layouts/BaseLayout.astro'; import directus from '@lib/directus'; -import blogImg from '@images/autumn_tree.png'; - const global = await directus.request(readSingleton('site_global')); const posts = await directus.request( readItems('posts', { @@ -50,8 +48,6 @@ const recentPosts: Post[] = posts.filter( diff --git a/src/pages/categories/index.astro b/src/pages/categories/index.astro index ac99fa0..175ae37 100644 --- a/src/pages/categories/index.astro +++ b/src/pages/categories/index.astro @@ -7,8 +7,6 @@ import AllCategoriesSection from '@components/sections/AllCategoriesSection.astr import BaseLayout from '@layouts/BaseLayout.astro'; import directus from '@lib/directus'; -import categoryImg from '@images/autumn_bench.png'; - const global = await directus.request(readSingleton('site_global')); --- @@ -35,8 +33,6 @@ const global = await directus.request(readSingleton('site_global')); diff --git a/src/pages/index.astro b/src/pages/index.astro index 6d79a7c..8e2da8c 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -12,8 +12,6 @@ import GiteaSection from '@components/sections/GiteaSection.astro'; import BaseLayout from '@layouts/BaseLayout.astro'; import directus from '@lib/directus'; -import homeImg from '@images/autumn_mountain.png'; - const global = await directus.request(readSingleton('site_global')); const weather = await directus.request(readSingleton('site_weather')); const posts = await directus.request( @@ -54,8 +52,6 @@ const recentPosts = posts subTitle={global.about_description} primaryBtn="About Me" primaryBtnURL="/about" - src={homeImg} - alt={global.home_image_alt} />