@@ -7,6 +7,8 @@ import { PayNow } from '@/components/paynow'
77import EmailCapture from '@/components/EmailCapture'
88import { SocialShare } from '@/components/SocialShare'
99import { EcosystemFooter } from '@/components/EcosystemFooter'
10+ import { SplitText } from '@/components/SplitText'
11+ import { MagneticButton } from '@/components/MagneticButton'
1012
1113// ── Example CLAUDE.md for "Try with example" ─────────────────────────
1214
@@ -259,15 +261,17 @@ export default function Home() {
259261 Security Scanner for AI Agent Configs
260262 </ motion . div >
261263
262- < motion . h1
263- initial = { { opacity : 0 , y : 20 } }
264- animate = { { opacity : 1 , y : 0 } }
264+ < motion . div
265+ initial = { { opacity : 0 } }
266+ animate = { { opacity : 1 } }
265267 transition = { { delay : 0.1 } }
266- className = "mx-auto mb-6 max-w-4xl text-3xl font-bold leading-tight tracking-tight text-white sm:text-4xl md:text-5xl "
268+ className = "mx-auto mb-6 max-w-4xl"
267269 >
268- Your AI agent has more access than your junior dev.{ ' ' }
269- < span className = "text-accent" > Have you audited it?</ span >
270- </ motion . h1 >
270+ < h1 className = "text-3xl font-bold leading-tight tracking-tight text-white sm:text-4xl md:text-5xl" >
271+ < SplitText text = "Your AI agent has more access than your junior dev." className = "text-3xl sm:text-4xl md:text-5xl font-bold leading-tight tracking-tight justify-center" />
272+ < span className = "text-accent" > Have you audited it?</ span >
273+ </ h1 >
274+ </ motion . div >
271275
272276 < motion . p
273277 initial = { { opacity : 0 , y : 20 } }
@@ -330,29 +334,31 @@ export default function Home() {
330334
331335 { /* Action buttons */ }
332336 < div className = "flex flex-col gap-3 sm:flex-row" >
333- < button
334- onClick = { handleScan }
335- disabled = { ! config . trim ( ) || scanning }
336- className = { `flex-1 rounded-xl py-4 text-sm font-bold text-white transition-all ${
337- scanning
338- ? 'bg-accent/60 cursor-wait'
339- : config . trim ( )
340- ? 'bg-accent hover:bg-accent/90 pulse-glow cursor-pointer'
341- : 'bg-card-border cursor-not-allowed text-muted'
342- } `}
343- >
344- { scanning ? (
345- < span className = "flex items-center justify-center gap-3" >
346- < svg className = "h-5 w-5 animate-spin" fill = "none" viewBox = "0 0 24 24" >
347- < circle className = "opacity-25" cx = "12" cy = "12" r = "10" stroke = "currentColor" strokeWidth = "4" />
348- < path className = "opacity-75" fill = "currentColor" d = "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z" />
349- </ svg >
350- Scanning for vulnerabilities...
351- </ span >
352- ) : (
353- 'Scan Now -- Free'
354- ) }
355- </ button >
337+ < MagneticButton className = "flex-1" >
338+ < button
339+ onClick = { handleScan }
340+ disabled = { ! config . trim ( ) || scanning }
341+ className = { `w-full rounded-xl py-4 text-sm font-bold text-white transition-all ${
342+ scanning
343+ ? 'bg-accent/60 cursor-wait'
344+ : config . trim ( )
345+ ? 'bg-accent hover:bg-accent/90 pulse-glow cursor-pointer'
346+ : 'bg-card-border cursor-not-allowed text-muted'
347+ } `}
348+ >
349+ { scanning ? (
350+ < span className = "flex items-center justify-center gap-3" >
351+ < svg className = "h-5 w-5 animate-spin" fill = "none" viewBox = "0 0 24 24" >
352+ < circle className = "opacity-25" cx = "12" cy = "12" r = "10" stroke = "currentColor" strokeWidth = "4" />
353+ < path className = "opacity-75" fill = "currentColor" d = "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z" />
354+ </ svg >
355+ Scanning for vulnerabilities...
356+ </ span >
357+ ) : (
358+ 'Scan Now -- Free'
359+ ) }
360+ </ button >
361+ </ MagneticButton >
356362 < button
357363 onClick = { ( ) => {
358364 setConfig ( EXAMPLE_CONFIG )
0 commit comments