feat(site): implement dynamic client OS negotiation for Hero and CTA download buttons
This commit is contained in:
parent
4865387d7f
commit
55d03baf6b
5 changed files with 280 additions and 16 deletions
|
|
@ -3,9 +3,11 @@ import { Crosshair } from '../components/Crosshair'
|
|||
import { WaveBars } from '../components/WaveBars'
|
||||
import { GlowButton } from '../components/GlowButton'
|
||||
import { useI18n } from '../i18n'
|
||||
import { useClientOS } from '../hooks/useClientOS'
|
||||
|
||||
export function CTA() {
|
||||
const { t } = useI18n()
|
||||
const { t, locale } = useI18n()
|
||||
const clientOS = useClientOS()
|
||||
|
||||
return (
|
||||
<section className="relative py-28 md:py-36 overflow-hidden">
|
||||
|
|
@ -47,15 +49,23 @@ export function CTA() {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div className="flex flex-col items-center gap-3">
|
||||
<GlowButton
|
||||
href="#download"
|
||||
href={clientOS.downloadUrl}
|
||||
download={clientOS.downloadFilename || undefined}
|
||||
variant="primary"
|
||||
size="lg"
|
||||
className="shadow-glow-md hover:shadow-glow-lg"
|
||||
>
|
||||
{t.cta.downloadBtn}
|
||||
{locale === 'ko' ? clientOS.buttonLabelKo : clientOS.buttonLabelEn}
|
||||
</GlowButton>
|
||||
<div className="flex items-center gap-2 font-mono text-xs text-neutral-400">
|
||||
<span>{locale === 'ko' ? clientOS.subtextKo : clientOS.subtextEn}</span>
|
||||
<span>·</span>
|
||||
<a href="#download" className="underline hover:text-brand-amber transition-colors">
|
||||
{locale === 'ko' ? '다른 OS 다운로드' : 'Other Platforms'}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p className="font-mono text-nano text-neutral-500 mt-8 uppercase tracking-widest">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue