From 466059f01a57e14593a686fcd42f35eaa8752085 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 29 Sep 2026 06:28:29 +0700 Subject: [PATCH] x --- apps/spa/src/components/DynamicHero.tsx | 8 ++++---- apps/spa/src/components/ThemeInjector.tsx | 4 ++++ apps/spa/src/index.css | 4 ++++ apps/website/src/app/globals.css | 15 ++++++++------- .../components/dynamic/DynamicPageRenderer.tsx | 14 +++++++------- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/apps/spa/src/components/DynamicHero.tsx b/apps/spa/src/components/DynamicHero.tsx index ead9679..2a1a1c3 100644 --- a/apps/spa/src/components/DynamicHero.tsx +++ b/apps/spa/src/components/DynamicHero.tsx @@ -42,7 +42,7 @@ export default function DynamicHero({ payload }: DynamicHeroProps) { const [accent, rest] = part.split(']'); return ( - + {accent} {rest} @@ -201,7 +201,7 @@ export default function DynamicHero({ payload }: DynamicHeroProps) {
{tagline && ( -

+

{tagline}

)} @@ -219,14 +219,14 @@ export default function DynamicHero({ payload }: DynamicHeroProps) { {buttonText && ( {buttonText} )} {t('hero.learnMore')} → diff --git a/apps/spa/src/components/ThemeInjector.tsx b/apps/spa/src/components/ThemeInjector.tsx index 46c93af..ef9256b 100644 --- a/apps/spa/src/components/ThemeInjector.tsx +++ b/apps/spa/src/components/ThemeInjector.tsx @@ -16,6 +16,7 @@ export default function ThemeInjector() { if (tokens && typeof tokens === 'object') { const mapping: Record = { '--color-pop-pink': tokens.brandPrimary, + '--color-pop-red': tokens.brandPrimaryHover, '--color-pop-yellow': tokens.brandAccent, '--color-pop-orange': tokens.brandWarm, '--color-pop-cyan': tokens.brandCool, @@ -27,6 +28,9 @@ export default function ThemeInjector() { '--color-pop-muted-bg': tokens.surfaceMuted, '--radius-base': tokens.radiusBase, '--radius-card': tokens.radiusCard, + '--font-sans-active': tokens.fontBody, + '--font-heading-active': tokens.fontDisplay, + '--font-serif-active': tokens.fontDisplay, } for (const [key, value] of Object.entries(mapping)) { if (value && typeof value === 'string' && value.trim() !== '') { diff --git a/apps/spa/src/index.css b/apps/spa/src/index.css index 7f25636..72ab90d 100644 --- a/apps/spa/src/index.css +++ b/apps/spa/src/index.css @@ -122,6 +122,10 @@ @apply inline-flex items-center justify-center rounded-full bg-pop-bg px-6 py-3 text-xs font-bold uppercase tracking-widest text-pop-black transition-colors hover:bg-pop-pink hover:text-pop-bg; } + .ui-hero-button { + @apply inline-flex items-center justify-center rounded-full bg-pop-pink px-6 py-3 text-xs font-bold uppercase tracking-widest text-white transition-all shadow-lg hover:bg-pop-red hover:opacity-95; + } + .ui-input-shell { @apply w-full rounded-full border border-pop-black/20 bg-transparent px-6 py-4 text-sm text-pop-black outline-none transition placeholder:text-pop-black/50 focus:border-pop-pink; } diff --git a/apps/website/src/app/globals.css b/apps/website/src/app/globals.css index ba973d1..315dea0 100644 --- a/apps/website/src/app/globals.css +++ b/apps/website/src/app/globals.css @@ -315,7 +315,7 @@ } .ui-accent-text { - @apply italic text-brand-primary; + @apply italic text-brand-accent; } .ui-hero-shell { @@ -371,22 +371,23 @@ .ui-hero-button { @apply inline-flex items-center justify-center rounded-full px-6 py-3 text-xs font-bold uppercase tracking-widest transition-colors; - background-color: var(--color-surface-page); - color: var(--color-text-main); - box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); + background-color: var(--color-brand-primary); + color: #ffffff; + box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.2); } .ui-hero-button:hover { - opacity: 0.9; + background-color: var(--color-brand-primary-hover, var(--color-brand-primary)); + opacity: 0.95; } .ui-hero-link { @apply inline-flex items-center gap-2 text-xs font-bold uppercase tracking-widest transition-colors; - color: var(--color-brand-primary); + color: var(--color-brand-accent, var(--color-brand-primary)); padding: 0.75rem 1.5rem; } .ui-hero-link:hover { - color: var(--color-surface-page); + opacity: 0.85; } .ui-banner-shell { diff --git a/apps/website/src/components/dynamic/DynamicPageRenderer.tsx b/apps/website/src/components/dynamic/DynamicPageRenderer.tsx index e400e00..9eb2dcb 100644 --- a/apps/website/src/components/dynamic/DynamicPageRenderer.tsx +++ b/apps/website/src/components/dynamic/DynamicPageRenderer.tsx @@ -267,7 +267,7 @@ function HeroSection({ payload, lang }: { payload: Record, lang
{tagline && ( -

+

{tagline}

)} @@ -292,7 +292,7 @@ function HeroSection({ payload, lang }: { payload: Record, lang )}
{t('dynamic.heroLearnMore', { lng: resolvedLang })} → @@ -495,7 +495,7 @@ function HeroVideoSection({ payload, lang }: { payload: Record,
{tagline && ( -

+

{tagline}

)} @@ -641,13 +641,13 @@ function HeroMinimalSection({ payload, lang }: { payload: Record
{tagline && ( - + {tagline} )} {title && (

- {renderAccentTitle(title, 'text-[#EAEFEA] font-medium')} + {renderAccentTitle(title, 'text-brand-accent font-medium')}

)}
@@ -909,7 +909,7 @@ function HeroV2Section({ payload, lang }: { payload: Record, la {primaryBtnText && primaryBtnLink && ( {primaryBtnText} @@ -918,7 +918,7 @@ function HeroV2Section({ payload, lang }: { payload: Record, la {secondaryBtnText && secondaryBtnLink && ( {secondaryBtnText}