diff --git a/src/components/ui/images/ImageTheme.astro b/src/components/ui/images/ImageTheme.astro new file mode 100644 index 0000000..3a7a75b --- /dev/null +++ b/src/components/ui/images/ImageTheme.astro @@ -0,0 +1,52 @@ +--- +import { Image } from 'astro:assets'; +import { blurStyle } from '@support/image'; + +const { srcLight, srcDark, alt, style, disableBlur, width, height } = Astro.props; + +const showBlur = !disableBlur; + +const blurLight = (srcLight?.fsPath && showBlur) ? await blurStyle(srcLight.fsPath) : {}; +const blurDark = (srcDark?.fsPath && showBlur) ? await blurStyle(srcDark.fsPath) : {}; +--- + +
+ + + +
+ + diff --git a/src/components/ui/logos/ApplicationLogo.astro b/src/components/ui/logos/ApplicationLogo.astro deleted file mode 100644 index f5bef55..0000000 --- a/src/components/ui/logos/ApplicationLogo.astro +++ /dev/null @@ -1,8 +0,0 @@ ---- -import Image from '@components/ui/images/Image.astro'; - -const { src, alt } = Astro.props; - ---- - -{alt} diff --git a/src/components/ui/logos/Logo.astro b/src/components/ui/logos/Logo.astro new file mode 100644 index 0000000..2eba3a9 --- /dev/null +++ b/src/components/ui/logos/Logo.astro @@ -0,0 +1,17 @@ +--- +import ImageTheme from '@components/ui/images/ImageTheme.astro'; + +const { srcLight, srcDark, alt } = Astro.props; + +--- + + diff --git a/src/components/ui/sections/Applications.astro b/src/components/ui/sections/Applications.astro index 1b22375..dae4fff 100644 --- a/src/components/ui/sections/Applications.astro +++ b/src/components/ui/sections/Applications.astro @@ -1,6 +1,7 @@ --- +import { Icon } from 'astro-icon/components'; import { readItems } from '@directus/sdk'; -import ApplicationLogo from '@components/ui/logos/ApplicationLogo.astro'; +import Logo from '@components/ui/logos/Logo.astro'; import type { Application } from '@lib/directusTypes'; @@ -13,7 +14,7 @@ const applications = await directus.request( }) ); -const baseClasses = 'smooth-reveal-cards rounded-xl flex flex-col'; +const baseClasses = 'smooth-reveal-cards rounded-xl flex flex-col group group-hover'; const borderClasses = 'border border-neutral-100 dark:border-stone-500/20'; const bgColorClasses = 'bg-neutral-100/80 hover:bg-neutral-100 dark:bg-neutral-800/60 dark:hover:bg-neutral-800/90'; @@ -31,9 +32,10 @@ const shadowClasses = 'shadow-xs hover:shadow-md dark:shadow-md dark:hover:shado href={application.url} >
-
- +

@@ -46,7 +48,18 @@ const shadowClasses = 'shadow-xs hover:shadow-md dark:shadow-md dark:hover:shado return
  • {highlight}
  • ; })} -
    +
    +
    +
    + Visit Page + +
    +
    diff --git a/src/components/ui/sections/Education.astro b/src/components/ui/sections/Education.astro index 5df5e95..eea5b00 100644 --- a/src/components/ui/sections/Education.astro +++ b/src/components/ui/sections/Education.astro @@ -1,10 +1,12 @@ --- import { Icon } from 'astro-icon/components'; import { readItems } from '@directus/sdk'; +import Logo from '@components/ui/logos/Logo.astro'; import type { Education } from '@lib/directusTypes'; import directus from '@lib/directus'; +import { getDirectusImageURL } from '@lib/directusFunctions'; const education = await directus.request( readItems('site_education', { @@ -20,7 +22,7 @@ const certificate = await directus.request( }) ); -const baseClasses = 'rounded-xl flex flex-col'; +const baseClasses = 'rounded-xl flex flex-col group group-hover'; const borderClasses = 'border border-neutral-100 dark:border-stone-500/20'; const bgColorClasses = 'bg-neutral-100/80 hover:bg-neutral-100 dark:bg-neutral-800/60 dark:hover:bg-neutral-800/90'; @@ -40,37 +42,40 @@ const shadowClasses = 'shadow-xs hover:shadow-md dark:shadow-md dark:hover:shado
      { - education.map(({ institution, area, url, graduationDate}) => { + education.map(({ institution, area, url, graduationDate, logo, logoDark }) => { return (
      -
      -

      - + - {institution} -

      -

      +

      + {institution} +

      +
      +

      {area} - {new Date(graduationDate).getFullYear()}

      -
      +
      ); }) @@ -87,37 +92,38 @@ const shadowClasses = 'shadow-xs hover:shadow-md dark:shadow-md dark:hover:shado

      - {certificate.map(({ name, issuer, url }) => { + {certificate.map(({ name, issuer, issuerDate, url, logoName }) => { return (
      -
      -

      - - {name} -

      -

      - {issuer} +

      +
      + +
      +

      + {name} +

      +
      +

      + {issuer} - {new Date(issuerDate).getFullYear()}

      -
      +
      ); })} diff --git a/src/components/ui/sections/Projects.astro b/src/components/ui/sections/Projects.astro index c2dacfc..e67c74c 100644 --- a/src/components/ui/sections/Projects.astro +++ b/src/components/ui/sections/Projects.astro @@ -13,7 +13,7 @@ const projects = await directus.request( }) ); -const baseClasses = 'smooth-reveal-cards rounded-xl flex flex-col'; +const baseClasses = 'smooth-reveal-cards rounded-xl flex flex-col group group-hover'; const borderClasses = 'border border-neutral-100 dark:border-stone-500/20'; const bgColorClasses = 'bg-neutral-100/80 hover:bg-neutral-100 dark:bg-neutral-800/60 dark:hover:bg-neutral-800/90'; @@ -31,8 +31,9 @@ const shadowClasses = 'shadow-xs hover:shadow-md dark:shadow-md dark:hover:shado projects.map((project: Project) => { return (
      -

      {project.name}

      @@ -43,30 +44,21 @@ const shadowClasses = 'shadow-xs hover:shadow-md dark:shadow-md dark:hover:shado })}
    -
    + ); }) diff --git a/src/lib/directusTypes.ts b/src/lib/directusTypes.ts index e874177..dd0dc77 100644 --- a/src/lib/directusTypes.ts +++ b/src/lib/directusTypes.ts @@ -73,6 +73,8 @@ export type Education = { area: string; studyType: string; graduationDate: string; + logo: string; + logoDark: string; }; export type Certificate = { @@ -81,6 +83,7 @@ export type Certificate = { issuer: string; issuerDate: string; url: string; + logoName: string; }; export type Project = {