Skip to content

Commit 0ff1ae6

Browse files
FEAT: Add Trusted by and Testimonial section (#626)
* feat: Add Trusted by and Testimonial section * feat: Optimize image for smaller screens
1 parent 080f1ce commit 0ff1ae6

File tree

6 files changed

+76
-48
lines changed

6 files changed

+76
-48
lines changed

apps/website/astro.config.mjs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ export default defineConfig({
1919
adapter: vercel({
2020
imageService: true,
2121
imagesConfig: {
22-
sizes: [320, 480, 578, 640, 720, 800, 940, 1200, 1412, 1536, 1800, 1920],
22+
sizes: [
23+
320, 480, 578, 640, 720, 800, 940, 960, 1200, 1280, 1412, 1440, 1536,
24+
1600, 1800, 1920,
25+
],
2326
formats: ["image/avif", "image/webp"],
2427
},
2528
}),

apps/website/src/components/Clients.astro

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,10 @@
11
---
22
import Section from "./Section.astro";
3+
import TrustedBy from "./TrustedBy.astro";
34
---
45

56
<Section className="lg:py-24">
6-
<h4
7-
class="text-base text-start md:text-center mx-4 md:mx-7 font-bold uppercase"
8-
>
9-
Trusted By:
10-
</h4>
11-
<div class="overflow-x-auto whitespace-nowrap px-4 no-scrollbar mt-4">
12-
<div class="flex gap-7 justify-center min-w-max max-h-10 lg:max-h-[60px]">
13-
<img
14-
src="/conductor.svg"
15-
alt="Conductor logo"
16-
class="grayscale opacity-50 w-[200px]"
17-
/>
18-
<img
19-
src="/lynes.svg"
20-
width="200"
21-
alt="Lynes logo"
22-
class="grayscale opacity-50 w-[200px] md:hidden xl:block"
23-
/>
24-
<img
25-
src="/submix.svg"
26-
width="200"
27-
alt="Submix logo"
28-
class="grayscale invert opacity-50 w-[200px]"
29-
/>
30-
<img
31-
src="/sevdesk.svg"
32-
width="200"
33-
alt="SevDesk logo"
34-
class="grayscale opacity-50 w-[200px]"
35-
/>
36-
<img
37-
src="/misterspex.svg"
38-
width="200"
39-
alt="Misterspex logo"
40-
class="grayscale opacity-50 w-[200px]"
41-
/>
42-
</div>
43-
</div>
44-
7+
<TrustedBy />
458
<div
469
class="text-[#3C3843] md:text-center text-2xl leading-9 md:text-4xl md:leading-[54px] font-medium px-4 md:px-7 xl:px-60 mt-[72px] md:mt-32 lg:mt-[138px]"
4710
>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<h4
2+
class="text-base text-start md:text-center mx-4 md:mx-7 font-bold uppercase"
3+
>
4+
Trusted By:
5+
</h4>
6+
<div class="overflow-x-auto whitespace-nowrap px-4 no-scrollbar mt-4">
7+
<div class="flex gap-7 justify-center min-w-max max-h-10 lg:max-h-[60px]">
8+
<img
9+
src="/conductor.svg"
10+
alt="Conductor logo"
11+
class="grayscale opacity-50 w-[200px]"
12+
/>
13+
<img
14+
src="/lynes.svg"
15+
width="200"
16+
alt="Lynes logo"
17+
class="grayscale opacity-50 w-[200px] md:hidden xl:block"
18+
/>
19+
<img
20+
src="/submix.svg"
21+
width="200"
22+
alt="Submix logo"
23+
class="grayscale invert opacity-50 w-[200px]"
24+
/>
25+
<img
26+
src="/sevdesk.svg"
27+
width="200"
28+
alt="SevDesk logo"
29+
class="grayscale opacity-50 w-[200px]"
30+
/>
31+
<img
32+
src="/misterspex.svg"
33+
width="200"
34+
alt="Misterspex logo"
35+
class="grayscale opacity-50 w-[200px]"
36+
/>
37+
</div>
38+
</div>

apps/website/src/components/cto/Testimonial.astro

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,25 @@ import { grid_classes } from "../_grid";
33
import Section from "../Section.astro";
44
import { getImage } from "astro:assets";
55
import raphaelBauerBubble from "../../assets/raphael-bauer-bubble.png";
6+
import classnames from "classnames";
67
78
const optimizedTestimonial = await getImage({
89
src: raphaelBauerBubble,
910
width: 569,
1011
height: 547,
1112
});
13+
14+
type Props = {
15+
classNames?: string;
16+
};
17+
18+
const { classNames } = Astro.props;
1219
---
1320

14-
<Section className="bg-white" contentClassName={grid_classes}>
21+
<Section
22+
className={classnames("bg-white", classNames)}
23+
contentClassName={grid_classes}
24+
>
1525
<div
1626
class="bg-[#F4F4F4] rounded-2xl col-span-6 md:col-span-12 lg:col-span-10 lg:col-start-2 p-12 md:pt-0 md:pr-0 gap-7 grid relative text-secondary md:grid-cols-[auto_1fr_auto]"
1727
>

apps/website/src/components/staff-agmentation/MainContent.astro

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Pill from "../../components/Pill.astro";
88
import Section from "../../components/Section.astro";
99
import { grid_classes } from "../_grid";
1010
import CircleCheck from "../icons/CircleCheck.astro";
11+
import { Picture } from "astro:assets";
1112
1213
export type MainContent = {
1314
pillText: string;
@@ -51,11 +52,11 @@ const { data } = content;
5152
<div
5253
class="relative
5354
col-span-6
54-
overflow-hidden
5555
h-[calc(120vw+100px)]
5656
max-h-[700px]
5757
md:col-span-12
58-
md:h-[70vw]
58+
md:h-[calc(70vw+100px)]
59+
lg:h-[70vw]
5960
lg:col-span-6
6061
lg:max-h-[870px]
6162
xl:overflow-visible"
@@ -75,16 +76,19 @@ const { data } = content;
7576
lg:-left-1/5
7677
lg:max-w-[800px]"
7778
>
78-
<Image
79+
<Picture
7980
src={staffCollaborationImg}
8081
alt="Two male developers in CroCoder hoodies collaborating"
8182
class="absolute top-1/12 left-1/6 md:left-0"
83+
widths={[320, 480, 640, 800, 960, 1280, 1600]}
84+
sizes={"(max-width: 500px) 120vw, (max-width: 1280px) 640px, 800px"}
85+
format="avif"
8286
/>
8387
</div>
8488
<Image
8589
src={crocoIcon}
8690
alt="Illustration of a crocodile in a cloud with laptop"
87-
class="absolute bottom-0 left-4 lg:left-7 w-[300px]"
91+
class="absolute bottom-0 left-4 md:left-7 w-[300px]"
8892
/>
8993
</div>
9094
<div
@@ -165,10 +169,13 @@ const { data } = content;
165169
))
166170
}
167171
</div>
168-
<Image
172+
<Picture
169173
src={idealForIllustration}
170174
alt="Illustration of crocodile and developers collaborating"
171175
class="w-[calc(100%+32px)] max-w-[715px] relative top-21"
176+
widths={[320, 480, 640, 720, 800, 940, 1200, 1280, 1440, 1600]}
177+
sizes={"(max-width: 768px) 100vw, 720px"}
178+
format="avif"
172179
/>
173180
</div>
174181
</div>

apps/website/src/pages/staff-augmentation.astro

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
---
22
import BookACallForm from "../components/BookACallForm.astro";
3-
import GetYourPlan from "../components/staff-agmentation/GetYourPlan.astro";
3+
import Testimonial from "../components/cto/Testimonial.astro";
44
import Footer from "../components/footer.astro";
55
import Navigation from "../components/navigation.astro";
6+
import Section from "../components/Section.astro";
7+
import GetYourPlan from "../components/staff-agmentation/GetYourPlan.astro";
68
import Hero from "../components/staff-agmentation/Hero.astro";
79
import MainContent from "../components/staff-agmentation/MainContent.astro";
810
import OurEngineers from "../components/staff-agmentation/OurEngineers.astro";
911
import Specialization from "../components/staff-agmentation/Specialization.astro";
12+
import ThankYouCard from "../components/staff-agmentation/ThankYouCard.astro";
13+
import TrustedBy from "../components/TrustedBy.astro";
1014
import Base from "../layouts/base.astro";
1115
import "../styles/main.css";
12-
import ThankYouCard from "../components/staff-agmentation/ThankYouCard.astro";
1316
1417
const { ogImage = "https://www.crocoder.dev/homepage-metadata-img.png" } =
1518
Astro.props;
@@ -21,6 +24,10 @@ const { ogImage = "https://www.crocoder.dev/homepage-metadata-img.png" } =
2124
<GetYourPlan />
2225
<ThankYouCard />
2326
<MainContent />
27+
<Section className="!pb-0 lg:!pt-24">
28+
<TrustedBy />
29+
</Section>
30+
<Testimonial classNames="lg:py-24" />
2431
<Specialization />
2532
<OurEngineers />
2633

0 commit comments

Comments
 (0)