Skip to content

Commit 7856fef

Browse files
Feat ideal for section redesign (#619)
* feat: Redesign of 'Ideal for teams who' section * fix: Smaller styling issues
1 parent c46afce commit 7856fef

File tree

6 files changed

+123
-173
lines changed

6 files changed

+123
-173
lines changed
190 KB
Loading
122 KB
Loading
5.81 MB
Loading

apps/website/src/components/icons/CircleCheck.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import classnames from "classnames";
44
55
type Props = HTMLAttributes<"svg"> & { classNames?: string };
66
7-
const { width, height, classNames } = Astro.props;
7+
const { width, height, classNames, stroke } = Astro.props;
88
---
99

1010
<svg
@@ -17,7 +17,7 @@ const { width, height, classNames } = Astro.props;
1717
>
1818
<path
1919
d="M6.96437 12.7707L9.75943 15.9083C9.83415 15.9946 9.92716 16.0631 10.0317 16.109C10.1363 16.1548 10.2497 16.1768 10.3638 16.1733C10.4787 16.1713 10.5919 16.1446 10.6956 16.095C10.7993 16.0454 10.891 15.974 10.9647 15.8858L17.5048 8.06773M22.4038 12C22.4038 17.7459 17.7459 22.4038 12 22.4038C6.25414 22.4038 1.59619 17.7459 1.59619 12C1.59619 6.25414 6.25414 1.59619 12 1.59619C17.7459 1.59619 22.4038 6.25414 22.4038 12Z"
20-
stroke="#00A708"
20+
stroke={stroke || "#00A708"}
2121
stroke-width="1.5"
2222
stroke-linecap="round"
2323
stroke-linejoin="round"></path>
Lines changed: 121 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
import { Image } from "astro:assets";
33
import { getCollection } from "astro:content";
4-
import circleCheckIcon from "../../assets/circle-check-icon.svg";
5-
import paulJeszenszky from "../../assets/paul-jeszenszky.png";
6-
import picCrocoderTeam from "../../assets/pic-crocoder-team-3362ae.png";
7-
import quoteIcon from "../../assets/quote-icon.svg";
8-
import targetIconCorrect from "../../assets/target-icon-correct.svg";
4+
import crocoIcon from "../../assets/croco_in_cloud.png";
5+
import idealForIllustration from "../../assets/pic_phase_3.png";
6+
import staffCollaborationImg from "../../assets/staff_collaboration.png";
97
import Pill from "../../components/Pill.astro";
108
import Section from "../../components/Section.astro";
9+
import { grid_classes } from "../_grid";
10+
import CircleCheck from "../icons/CircleCheck.astro";
1111
1212
export type MainContent = {
1313
pillText: string;
@@ -29,7 +29,7 @@ const staffContent = (await getCollection("staff_augmentation")) as {
2929
}[];
3030
3131
const contentVariantId = String(
32-
Astro.url.searchParams.get("id") || "backfill-your-developer-gap",
32+
Astro.url.searchParams.get("id") || "backfill-your-developer-gap"
3333
);
3434
3535
let content = staffContent.find((c) => c.data.id === contentVariantId);
@@ -42,167 +42,132 @@ const { data } = content;
4242
---
4343

4444
<Section
45-
className="!py-0 !px-0"
46-
contentClassName="relative before:absolute before:z-[-1] before:top-0 before:w-full before:h-full before:bg-[#4E5BC8] md:max-w-screen"
45+
className="!p-0 bg-[#4E5BC8]"
46+
contentClassName="relative before:absolute before:z-[-1] before:top-0 before:w-full before:h-full bg-contrast rounded-t-4xl md:rounded-t-[96px] md:max-w-screen overflow-hidden pb-12 lg:pb-24"
4747
>
4848
<div
49-
class="px-4 md:px-7 py-18 md:py-24 bg-[#1E1A1A] rounded-t-4xl md:rounded-t-[96px]"
49+
class={`${grid_classes} md:max-w-[var(--max-width)] md:mx-auto relative z-[2]`}
5050
>
51-
<div class="md:max-w-[var(--max-width)] md:mx-auto">
52-
<!-- Section Title -->
51+
<div
52+
class="relative
53+
col-span-6
54+
overflow-hidden
55+
h-[calc(120vw+100px)]
56+
max-h-[700px]
57+
md:col-span-12
58+
md:h-[70vw]
59+
lg:col-span-6
60+
lg:max-h-[870px]
61+
xl:overflow-visible"
62+
>
5363
<div
54-
class="flex flex-col items-center gap-4 mb-12 md:mb-24 px-1 md:px-2 xl:px-[104px] mx-auto"
64+
class="aspect-square
65+
relative
66+
rounded-full
67+
overflow-hidden
68+
w-[120%]
69+
max-w-[630px]
70+
-left-1/4
71+
-top-1/12
72+
md:w-[70%]
73+
md:-left-18
74+
lg:w-[120%]
75+
lg:-left-1/5
76+
lg:max-w-[800px]"
5577
>
56-
<Pill className="min-w-0 w-auto max-w-[280px] !whitespace-normal break-words text-center sm:w-fit sm:max-w-none">
57-
{data.main.pillText}
58-
</Pill>
59-
<h2
60-
class="text-[32px] leading-[36px] md:text-[48px] md:leading-[52px] lg:text-[60px] lg:leading-[66px] xl:text-[74px] xl:leading-[81px] font-medium tracking-[-2%] text-center"
78+
<Image
79+
src={staffCollaborationImg}
80+
alt="Two male developers in CroCoder hoodies collaborating"
81+
class="absolute top-1/12 left-1/6 md:left-0"
82+
/>
83+
</div>
84+
<Image
85+
src={crocoIcon}
86+
alt="Illustration of a crocodile in a cloud with laptop"
87+
class="absolute bottom-0 left-4 lg:left-7 w-[300px]"
88+
/>
89+
</div>
90+
<div
91+
class="col-span-6 md:col-span-12 py-12 lg:py-24 px-4 md:px-7 lg:col-span-6 lg:pl-0"
92+
>
93+
<div class="flex flex-col gap-4">
94+
<Pill>We're 100% Focused on results</Pill>
95+
<h2
96+
class="text-[32px]
97+
leading-[36px]
98+
font-medium
99+
tracking-[-2%]
100+
md:text-[48px]
101+
md:leading-[52px]
102+
lg:text-[54px]
103+
lg:leading-[1.1]"
61104
>
62-
<span class="text-white block md:whitespace-nowrap"
63-
>{data.main.title_1}</span
64-
>
65-
<span class="text-[#FEC343] block">{data.main.title_2}</span>
105+
<span class="text-white block"> Flexible, Embedded Engineers, </span>
106+
<span class="text-[#FEC343] block">Ready to Plug-In</span>
66107
</h2>
67108
</div>
68-
69-
<!-- Content Container -->
70-
<div class="pb-12 md:pb-24">
71-
<div class="grid grid-cols-1 xl:grid-cols-2 gap-4">
72-
<!-- Left Column -->
73-
<div class="space-y-4">
74-
<!-- Main Description Card -->
75-
<div
76-
class="bg-[rgba(66,76,109,0.9)] rounded-2xl p-6 md:p-12 text-white"
77-
>
78-
<div
79-
class="w-[60px] h-[60px] md:w-[90px] md:h-[90px] flex items-center justify-center mb-6 md:mb-7"
80-
>
81-
<Image
82-
src={targetIconCorrect}
83-
alt="Target icon"
84-
width={90}
85-
height={90}
86-
loading="lazy"
87-
class="w-full h-full"
88-
/>
89-
</div>
90-
<div class="space-y-4 md:space-y-7">
91-
{
92-
data.main.aboutUs.map((about) => (
93-
<p class="text-[16px] leading-[24px] md:text-[22px] md:leading-[32px] font-normal">
94-
{about}
95-
</p>
96-
))
97-
}
98-
</div>
99-
</div>
100-
101-
<!-- Testimonial Card -->
102-
<div
103-
class="bg-white rounded-2xl p-4 md:p-7 backdrop-blur-[30px] flex flex-col md:flex-row gap-4"
104-
>
105-
<div class="flex-1">
106-
<p
107-
class="text-sm md:text-base leading-[22px] md:leading-[26px] text-black mb-4 md:mb-7"
108-
>
109-
We have found the perfect extension of our team with CroCoder.
110-
We operate as one team, celebrating our wins and working
111-
through the challenges together. They "own" the roadmap,
112-
deadlines and outcomes with us — from the ideation and
113-
direction stages through to post-launch optimization.
114-
</p>
115-
<div class="flex items-center gap-3">
116-
<div
117-
class="w-[48px] h-[48px] md:w-[72px] md:h-[72px] rounded-full overflow-hidden flex-shrink-0"
118-
>
119-
<Image
120-
src={paulJeszenszky}
121-
alt="Paul Jeszenszky"
122-
width={72}
123-
height={72}
124-
class="w-full h-full object-cover"
125-
loading="lazy"
126-
/>
127-
</div>
128-
<div>
129-
<p
130-
class="text-[16px] md:text-[20px] leading-[22px] md:leading-[28px] text-black font-medium"
131-
>
132-
Paul Jeszenszky
133-
</p>
134-
<p
135-
class="text-[14px] md:text-[20px] leading-[20px] md:leading-[28px] text-black"
136-
>
137-
Submix co-founder & CEO
138-
</p>
139-
</div>
140-
</div>
141-
</div>
142-
<div
143-
class="w-[60px] h-[40px] md:w-[82px] md:h-[54px] opacity-20 self-start md:self-auto"
144-
>
145-
<Image
146-
src={quoteIcon}
147-
alt="Quote icon"
148-
width={82}
149-
height={54}
150-
loading="lazy"
151-
class="w-full h-full"
152-
/>
153-
</div>
154-
</div>
155-
</div>
156-
157-
<!-- Right Column - Ideal for Teams Card -->
158-
<div
159-
class="bg-[rgba(60,56,67,0.8)] rounded-2xl p-6 md:p-12 text-white flex flex-col justify-center"
160-
>
161-
<h3
162-
class="text-[24px] leading-[28px] md:text-[36px] md:leading-[40px] font-medium mb-4 md:mb-7"
163-
>
164-
Ideal for Teams who
165-
</h3>
166-
<div class="space-y-4 md:space-y-7 mb-4 md:mb-7">
167-
{
168-
content.data.main.fitChecks.map((check) => (
169-
<div class="flex gap-4 md:gap-7">
170-
<div class="w-8 h-8 md:w-12 md:h-12 flex-shrink-0">
171-
<Image
172-
src={circleCheckIcon}
173-
alt="Check icon"
174-
width={48}
175-
height={48}
176-
loading="lazy"
177-
class="w-full h-full"
178-
/>
179-
</div>
180-
<div>
181-
<p class="text-[16px] mb-2 leading-[24px] md:text-[22px] md:leading-[32px] md:h-8 flex items-center font-semibold">
182-
{check.highlight}
183-
</p>
184-
<p class="text-[16px] leading-[24px] md:text-[22px] md:leading-[32px]">
185-
{check.text}
186-
</p>
187-
</div>
188-
</div>
189-
))
190-
}
191-
</div>
192-
193-
<div class="flex justify-center">
194-
<Image
195-
src={picCrocoderTeam}
196-
alt="CroCoder team"
197-
widths={[320, 480, 640, 800]}
198-
sizes="(max-width: 768px) calc(100vw - 32px), 640px"
199-
loading="lazy"
200-
class="w-full max-w-[625px] h-auto"
109+
<div class="pt-12 flex flex-col gap-8">
110+
{
111+
data.main.aboutUs.map((p) => (
112+
<p class="text-[22px] leading-8 text-white">{p}</p>
113+
))
114+
}
115+
</div>
116+
</div>
117+
<div
118+
class="col-span-6
119+
bg-[#3C3843CC]
120+
rounded-[48px]
121+
mx-4
122+
py-12
123+
px-4
124+
flex
125+
flex-col
126+
items-center
127+
overflow-hidden
128+
md:col-span-12
129+
md:mx-7
130+
lg:p-12
131+
xl:mx-7"
132+
>
133+
<h2
134+
class="text-[32px]
135+
leading-[36px]
136+
font-medium
137+
tracking-[-2%]
138+
text-white
139+
text-center
140+
md:text-[48px]
141+
md:leading-[52px]
142+
lg:text-[54px]
143+
lg:leading-[1.1]"
144+
>
145+
<span class="text-[#FEC343]">Ideal</span> For Teams Who
146+
</h2>
147+
<div class="flex flex-col lg:flex-row gap-7 mt-12">
148+
{
149+
data.main.fitChecks.map((c) => (
150+
<div class="flex lg:flex-col items-center gap-4 grow basis-0">
151+
<CircleCheck
152+
width={48}
153+
height={48}
154+
stroke="#FEC343"
155+
classNames="min-w-12"
201156
/>
157+
<p class="text-[22px] leading-8 text-white lg:text-center">
158+
<strong>{c.highlight}</strong>
159+
<br />
160+
{c.text}
161+
</p>
202162
</div>
203-
</div>
204-
</div>
163+
))
164+
}
205165
</div>
166+
<Image
167+
src={idealForIllustration}
168+
alt="Illustration of crocodile and developers collaborating"
169+
class="w-[calc(100%+32px)] max-w-[715px] relative top-21"
170+
/>
206171
</div>
207172
</div>
208173
</Section>

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

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,3 @@ const { ogImage = "https://www.crocoder.dev/homepage-metadata-img.png" } =
3333

3434
<Footer />
3535
</Base>
36-
37-
<script is:inline>
38-
function handleActionHeroClick() {
39-
window.navScroll = true;
40-
setTimeout(() => {
41-
window.navScroll = false;
42-
}, 1500);
43-
}
44-
45-
document
46-
.querySelectorAll("#book-a-call-action-hero")
47-
.forEach((element) =>
48-
element.addEventListener("click", handleActionHeroClick),
49-
);
50-
</script>

0 commit comments

Comments
 (0)