diff --git a/apps/website/astro.config.mjs b/apps/website/astro.config.mjs
index 1b61cc60..aac0d184 100644
--- a/apps/website/astro.config.mjs
+++ b/apps/website/astro.config.mjs
@@ -1,31 +1,34 @@
-import { defineConfig } from 'astro/config';
-import react from '@astrojs/react';
-import vercel from '@astrojs/vercel'
-import createRemarkPlugin from '@crocoder-dev/remark-plugin';
+import { defineConfig } from "astro/config";
+import react from "@astrojs/react";
+import vercel from "@astrojs/vercel";
+import createRemarkPlugin from "@crocoder-dev/remark-plugin";
import tailwindcss from "@tailwindcss/vite";
const classes = {
- titleClass: 'font-bold text-[1.25rem] mt-[2.5rem]',
- summaryClass: 'cursor-pointer font-bold text-[1.25rem]',
- detailsClass: 'mt-[2.5rem]',
- iframeClass: 'border-none w-full h-[360px] overflow-y-hidden'
-}
+ titleClass: "font-bold text-[1.25rem] mt-[2.5rem]",
+ summaryClass: "cursor-pointer font-bold text-[1.25rem]",
+ detailsClass: "mt-[2.5rem]",
+ iframeClass: "border-none w-full h-[360px] overflow-y-hidden",
+};
const remarkPlugin = createRemarkPlugin(classes);
export default defineConfig({
prefetch: true,
- output: 'server',
+ output: "server",
adapter: vercel({
imageService: true,
+ imagesConfig: {
+ sizes: [320, 480, 578, 640, 720, 800, 940, 1920],
+ formats: ["image/avif", "image/webp"],
+ },
}),
redirects: {
- '/feed': '/rss.xml',
- '/sitemap': '/sitemap.xml'
+ "/feed": "/rss.xml",
+ "/sitemap": "/sitemap.xml",
},
integrations: [tailwindcss(), react()],
markdown: {
remarkPlugins: [remarkPlugin],
},
});
-
diff --git a/apps/website/src/components/Clients.astro b/apps/website/src/components/Clients.astro
index 0d6b48bb..d463f001 100644
--- a/apps/website/src/components/Clients.astro
+++ b/apps/website/src/components/Clients.astro
@@ -10,31 +10,46 @@ import Section from "./Section.astro";
- Our tailored software services bridge the gap between the big-picture strategy
+
+ Our tailored software services bridge the gap between the big-picture
+ strategy
and day-to-day operations, turning ambitious goals into concrete,
- actionable steps that drive results.
+ actionable steps that drive results.
diff --git a/apps/website/src/components/ContactUs.astro b/apps/website/src/components/ContactUs.astro
index 1db25755..c9d25bb4 100644
--- a/apps/website/src/components/ContactUs.astro
+++ b/apps/website/src/components/ContactUs.astro
@@ -28,8 +28,8 @@ import peopleCollaborating from "../assets/people-collaborating.png";
diff --git a/apps/website/src/components/ServiceCard.astro b/apps/website/src/components/ServiceCard.astro
index f803c535..7e945583 100644
--- a/apps/website/src/components/ServiceCard.astro
+++ b/apps/website/src/components/ServiceCard.astro
@@ -94,11 +94,11 @@ const image = await src();
class="flex flex-col justify-center items-center row-start-3 lg:justify-start lg:col-span-1 lg:row-start-2"
>
diff --git a/apps/website/src/components/ValueCard.astro b/apps/website/src/components/ValueCard.astro
index 33facf8d..4bcdfa4e 100644
--- a/apps/website/src/components/ValueCard.astro
+++ b/apps/website/src/components/ValueCard.astro
@@ -16,7 +16,6 @@ interface Props {
const { title, content, img, styles, onDark, icon } = Astro.props;
-
const images = import.meta.glob("../assets/*.*");
const src = images[`../assets${img.path}`] as any as () => Promise<{
default: ImageMetadata;
@@ -29,10 +28,19 @@ const image = await src();
class={`col-span-6 rounded-2xl p-7 md:p-12 md:pb-0 max-md:max-w-[470px] mx-auto xl:p-12 xl:pb-0 pb-0 flex flex-col overflow-hidden lg:h-fit md:col-span-12 xl:col-span-4 ${styles} ${onDark ? "text-[#ffff]" : "text-secondary"}`}
>
-

+
-
{title}
-
+
+ {title}
+
+
@@ -40,8 +48,8 @@ const image = await src();
class="mt-auto max-w-[466px] w-full"
src={image.default}
alt={img.alt}
- widths={[320, 466, 640, 800]}
- sizes="(max-width: 768px) calc(100vw - 32px), (max-width: 1280px) calc(100vw - 56px), calc(33vw - 28px)"
+ widths={[320, 480, 640, 800]}
+ sizes="(max-width: 768px) calc(100vw - 32px), (max-width: 1280px) calc(100vw - 56px), 320px"
loading="lazy"
/>
diff --git a/apps/website/src/components/hero.astro b/apps/website/src/components/hero.astro
index 3c2fb896..fa9dbcac 100644
--- a/apps/website/src/components/hero.astro
+++ b/apps/website/src/components/hero.astro
@@ -2,8 +2,8 @@
import { grid_classes } from "./_grid";
import Pill from "./Pill.astro";
import Section from "./Section.astro";
-import { Image } from "astro:assets";
import heroImage from "../assets/croco-13.png";
+import { Picture } from "astro:assets";
---
@@ -13,34 +13,35 @@ import heroImage from "../assets/croco-13.png";
-
More than just developers
@@ -65,7 +66,8 @@ import heroImage from "../assets/croco-13.png";
class="fadeInUp"
style="animation-delay: 900ms;animation-fill-mode: backwards;"
>
- A web development consultancy delivering scalable solutions that drive real business impact.
+ A web development consultancy delivering scalable solutions that drive
+ real business impact.
diff --git a/apps/website/src/layouts/post-base.astro b/apps/website/src/layouts/post-base.astro
index 46e1c082..b51ea6c3 100644
--- a/apps/website/src/layouts/post-base.astro
+++ b/apps/website/src/layouts/post-base.astro
@@ -71,6 +71,8 @@ const dateObj = new Date(createdAt);
src={image}
height={500}
width={1000}
+ widths={[320, 480, 578, 640, 800, 920]}
+ sizes={"(max-width: 1024px): calc(100vw-64px), 940px"}
alt={title}
class="rounded-lg"
loading="eager"
diff --git a/apps/website/src/pages/blog/index.astro b/apps/website/src/pages/blog/index.astro
index 771c564f..d411a4a6 100644
--- a/apps/website/src/pages/blog/index.astro
+++ b/apps/website/src/pages/blog/index.astro
@@ -67,6 +67,12 @@ posts.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
alt={title}
width={936}
height={528}
+ widths={[320, 480, 578, 640, 800]}
+ sizes={
+ i > 0
+ ? "(max-width: 540px) 100vw, (max-width: 1024px) calc(50vw - 64px), 480px"
+ : "(max-width: 1024px) calc(100vw - 64px), 940px"
+ }
loading={i < 3 ? "eager" : "lazy"}
decoding="auto"
/>
diff --git a/apps/website/src/pages/contact/success.astro b/apps/website/src/pages/contact/success.astro
index ccbe4d39..f832de45 100644
--- a/apps/website/src/pages/contact/success.astro
+++ b/apps/website/src/pages/contact/success.astro
@@ -11,68 +11,75 @@ import contactSuccessHero from "../../assets/contact-success-hero.png";
-
-
-
-
-
-
-
-
- You're All Set!
-
-
-
-
-
-
- Your meeting is confirmed.
- A calendar invite is on its way to your inbox.
-
- Talk soon — we're looking forward to it.
-
-
-
-
-
- Back to homepage
-
+
+
+
+
+
+
+
+
+ You're All Set!
+
+
+
+
+
+
+ Your meeting is confirmed.
+ A calendar invite is on its way to your inbox.
+
+ Talk soon — we're looking forward to it.
+
+
+
+
-
-
-
-
-
-
\ No newline at end of file
+