Skip to content

Commit 7ea5cb7

Browse files
committed
Update IDEDemo.tsx
1 parent 4306b11 commit 7ea5cb7

File tree

4 files changed

+83
-31
lines changed

4 files changed

+83
-31
lines changed

web/src/components/IDEDemo.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -380,9 +380,9 @@ export function IDEDemo({ className }: IDEDemoProps) {
380380
<div className="flex flex-col h-full">
381381
<div className="bg-zinc-900 p-2 flex items-center justify-between border-b border-zinc-800">
382382
<div className="flex items-center">
383-
<Files size={16} className="text-green-500 mr-2" />
384-
<span className="text-sm text-white font-medium">
385-
Your favorite IDE
383+
<Files size={16} className="text-green-500 mr-2" />{' '}
384+
<span className="text-xs text-zinc-500">
385+
YOUR FAVORITE IDE
386386
</span>
387387
</div>
388388
<div className="flex items-center space-x-3">
@@ -407,7 +407,7 @@ export function IDEDemo({ className }: IDEDemoProps) {
407407

408408
<div
409409
className={cn(
410-
'flex-1 p-3 font-mono text-xs relative bg-black/60 transition-all duration-500',
410+
'flex-1 p-3 text-xs font-dm-mono relative bg-black/60 transition-all duration-500',
411411
expandTerminal && 'h-[30%]'
412412
)}
413413
>
@@ -449,9 +449,8 @@ export function IDEDemo({ className }: IDEDemoProps) {
449449
<ChevronRight size={14} className="text-zinc-400" />
450450
)}
451451
</button>
452-
</div>
453-
454-
<div className="p-3 text-xs">
452+
</div>{' '}
453+
<div className="p-3 text-xs font-dm-mono">
455454
{terminalLines.length > 0 ? (
456455
<>
457456
{terminalLines.map((line, index) => (

web/src/components/ui/hero.tsx

Lines changed: 47 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -67,29 +67,60 @@ export function Hero() {
6767
>
6868
<motion.h1
6969
className="hero-heading text-center mb-8 text-white text-balance"
70-
initial={{ opacity: 0, scale: 0.95 }}
71-
animate={{ opacity: 1, scale: 1 }}
72-
transition={{
73-
duration: 0.8,
74-
ease: [0.165, 0.84, 0.44, 1],
70+
variants={{
71+
animate: {
72+
transition: {
73+
staggerChildren: 0.2,
74+
},
75+
},
7576
}}
77+
initial="initial"
78+
animate="animate"
7679
>
7780
<motion.span
78-
className="relative inline-block"
79-
initial={{ y: 20 }}
80-
animate={{ y: 0 }}
81-
transition={{ duration: 0.5, delay: 0.1 }}
81+
variants={{
82+
initial: { opacity: 0, y: 20 },
83+
animate: {
84+
opacity: 1,
85+
y: 0,
86+
transition: {
87+
duration: 0.8,
88+
ease: [0.165, 0.84, 0.44, 1],
89+
},
90+
},
91+
}}
8292
>
83-
<span className="relative z-10">Supercharge</span>
93+
Supercharge
8494
</motion.span>{' '}
85-
Your{' '}
8695
<motion.span
87-
className="relative inline-block"
88-
initial={{ y: 20 }}
89-
animate={{ y: 0 }}
90-
transition={{ duration: 0.5, delay: 0.2 }}
96+
variants={{
97+
initial: { opacity: 0, y: 20 },
98+
animate: {
99+
opacity: 1,
100+
y: 0,
101+
transition: {
102+
duration: 0.8,
103+
ease: [0.165, 0.84, 0.44, 1],
104+
},
105+
},
106+
}}
91107
>
92-
<span className="relative z-10">AI Coding</span>
108+
Your AI
109+
</motion.span>{' '}
110+
<motion.span
111+
variants={{
112+
initial: { opacity: 0, y: 20 },
113+
animate: {
114+
opacity: 1,
115+
y: 0,
116+
transition: {
117+
duration: 0.8,
118+
ease: [0.165, 0.84, 0.44, 1],
119+
},
120+
},
121+
}}
122+
>
123+
Coding
93124
</motion.span>
94125
</motion.h1>
95126
</motion.div>

web/src/styles/globals.css

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,14 @@
8888
}
8989

9090
.hero-heading {
91-
@apply text-4xl md:text-5xl lg:text-6xl font-medium tracking-tight;
91+
@apply text-4xl md:text-5xl lg:text-6xl xl:text-7xl font-medium;
9292
font-family: 'Domine', serif;
93+
letter-spacing: 0.005em;
94+
word-spacing: 0.005em;
95+
/* Enable proper text shaping */
96+
font-kerning: normal;
97+
font-feature-settings: "kern" 1, "liga" 1;
98+
text-rendering: optimizeLegibility;
9399
}
94100

95101
.hero-subtext {
@@ -176,17 +182,32 @@
176182
/* Ensure proper text wrapping in headings on mobile */
177183
@media (max-width: 767px) {
178184
:where(h1, h2, h3, h4, h5, h6) {
179-
/* Use flexbox for robust wrapping */
180-
display: inline-flex;
181-
flex-wrap: wrap;
182-
align-items: baseline;
183-
line-height: 1; /* Minimal line spacing */
184-
gap: 0; /* Remove gap between items */
185-
margin-top: 0rem; /* Reduce top margin */
185+
/* Revert to normal text flow for proper kerning */
186+
display: block;
187+
line-height: 1.2;
188+
margin-top: 0rem;
189+
/* Enable proper text shaping and kerning */
190+
font-kerning: normal;
191+
font-feature-settings: "kern" 1, "liga" 1;
192+
text-rendering: optimizeLegibility;
186193
}
187194

188195
/* Keep code snippets from breaking on mobile */
189196
:where(h1, h2, h3, h4, h5, h6) code {
190197
white-space: nowrap;
191198
}
199+
200+
/* Specific spacing fixes for hero text */
201+
.hero-heading {
202+
line-height: 1.15;
203+
margin-bottom: 2rem;
204+
text-wrap: balance;
205+
}
206+
207+
.hero-subtext {
208+
line-height: 1.5;
209+
margin-bottom: 2rem;
210+
letter-spacing: 0.015em;
211+
word-spacing: 0.01em;
212+
}
192213
}

web/tailwind.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const config = {
1313
fontFamily: {
1414
sans: ['var(--font-sans)'],
1515
mono: ['"DM Mono"', 'var(--font-mono)'],
16+
'dm-mono': ['"DM Mono"', 'monospace'],
1617
paragraph: ['Manrope', 'var(--font-sans)', 'sans-serif'],
1718
serif: ['Domine', 'serif'],
1819
},

0 commit comments

Comments
 (0)