Skip to content

Commit e2ff9e6

Browse files
committed
feat: add intro screens to Brand and Product pages
- Add animated intro screens with Menu icon and catchphrases - Brand: 'Shaping how Buzzvil looks, feels, and behaves across every touchpoint.' - Product: 'Designing delightful experiences that users love to engage with.' - Include motion animations with staggered entrance effects - Add comprehensive English and Korean translations - Maintain existing section structure (Principles, Guidelines, Resources) - Consistent styling with homepage intro patterns
1 parent ca60c4d commit e2ff9e6

File tree

3 files changed

+73
-2
lines changed

3 files changed

+73
-2
lines changed

src/app/design/brand/page.tsx

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ import Header from '@/components/Header';
44
import Footer from '@/components/Footer';
55
import SectionNavigation from '@/components/SectionNavigation';
66
import SectionPlaceholder from '@/components/SectionPlaceholder';
7-
import { Award, FileText, Download } from 'lucide-react';
7+
import { Award, FileText, Download, Menu } from 'lucide-react';
88
import { useLanguage } from '@/contexts/LanguageContext';
9+
import { motion } from 'framer-motion';
910

1011
export default function BrandPage() {
1112
const { t } = useLanguage();
@@ -22,6 +23,38 @@ export default function BrandPage() {
2223

2324
<SectionNavigation sections={sections} />
2425

26+
{/* Intro Screen */}
27+
<section className="min-h-screen flex items-center justify-center px-4 sm:px-6 lg:px-8">
28+
<div className="max-w-4xl mx-auto text-center">
29+
<motion.div
30+
initial={{ opacity: 0, y: 30 }}
31+
animate={{ opacity: 1, y: 0 }}
32+
transition={{ duration: 0.8, ease: 'easeOut' }}
33+
className="mb-8"
34+
>
35+
<Menu className="w-16 h-16 text-white mx-auto mb-6" />
36+
</motion.div>
37+
38+
<motion.h1
39+
initial={{ opacity: 0, y: 30 }}
40+
animate={{ opacity: 1, y: 0 }}
41+
transition={{ duration: 0.8, delay: 0.2, ease: 'easeOut' }}
42+
className="text-5xl md:text-7xl font-bold mb-6 bg-gradient-to-r from-foreground to-muted-foreground bg-clip-text text-transparent"
43+
>
44+
{t('nav.brand')}
45+
</motion.h1>
46+
47+
<motion.p
48+
initial={{ opacity: 0, y: 30 }}
49+
animate={{ opacity: 1, y: 0 }}
50+
transition={{ duration: 0.8, delay: 0.4, ease: 'easeOut' }}
51+
className="text-xl text-muted-foreground max-w-2xl mx-auto leading-relaxed"
52+
>
53+
{t('brand.intro.catchphrase')}
54+
</motion.p>
55+
</div>
56+
</section>
57+
2558
<div id="principles" className="min-h-screen flex items-center justify-center scroll-mt-24">
2659
<SectionPlaceholder
2760
title={t('brand.principles.title')}

src/app/design/product/page.tsx

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import Footer from '@/components/Footer';
55
import SectionNavigation from '@/components/SectionNavigation';
66
import ProductPrinciples from '@/components/ProductPrinciples';
77
import SectionPlaceholder from '@/components/SectionPlaceholder';
8-
import { FileText, Download } from 'lucide-react';
8+
import { FileText, Download, Menu } from 'lucide-react';
99
import { useLanguage } from '@/contexts/LanguageContext';
10+
import { motion } from 'framer-motion';
1011

1112
export default function ProductPage() {
1213
const { t } = useLanguage();
@@ -22,6 +23,39 @@ export default function ProductPage() {
2223
<Header />
2324

2425
<SectionNavigation sections={sections} />
26+
27+
{/* Intro Screen */}
28+
<section className="min-h-screen flex items-center justify-center px-4 sm:px-6 lg:px-8">
29+
<div className="max-w-4xl mx-auto text-center">
30+
<motion.div
31+
initial={{ opacity: 0, y: 30 }}
32+
animate={{ opacity: 1, y: 0 }}
33+
transition={{ duration: 0.8, ease: 'easeOut' }}
34+
className="mb-8"
35+
>
36+
<Menu className="w-16 h-16 text-white mx-auto mb-6" />
37+
</motion.div>
38+
39+
<motion.h1
40+
initial={{ opacity: 0, y: 30 }}
41+
animate={{ opacity: 1, y: 0 }}
42+
transition={{ duration: 0.8, delay: 0.2, ease: 'easeOut' }}
43+
className="text-5xl md:text-7xl font-bold mb-6 bg-gradient-to-r from-foreground to-muted-foreground bg-clip-text text-transparent"
44+
>
45+
{t('nav.product')}
46+
</motion.h1>
47+
48+
<motion.p
49+
initial={{ opacity: 0, y: 30 }}
50+
animate={{ opacity: 1, y: 0 }}
51+
transition={{ duration: 0.8, delay: 0.4, ease: 'easeOut' }}
52+
className="text-xl text-muted-foreground max-w-2xl mx-auto leading-relaxed"
53+
>
54+
{t('product.intro.catchphrase')}
55+
</motion.p>
56+
</div>
57+
</section>
58+
2559
<div id="principles" className="min-h-screen flex items-center justify-center scroll-mt-24">
2660
<ProductPrinciples />
2761
</div>

src/contexts/LanguageContext.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ const translations = {
142142
'brand.sections.principles': 'Principles',
143143
'brand.sections.guidelines': 'Guidelines',
144144
'brand.sections.resources': 'Resources',
145+
'brand.intro.catchphrase': 'Shaping how Buzzvil looks, feels, and behaves across every touchpoint.',
145146
'brand.principles.title': 'Brand Principles',
146147
'brand.principles.description': 'Our core brand principles that guide every decision, interaction, and experience we create. These fundamental values ensure consistency and authenticity across all touchpoints.',
147148
'brand.guidelines.title': 'Brand Guidelines',
@@ -153,6 +154,7 @@ const translations = {
153154
'product.sections.principles': 'Principles',
154155
'product.sections.guidelines': 'Guidelines',
155156
'product.sections.resources': 'Resources',
157+
'product.intro.catchphrase': 'Designing delightful experiences that users love to engage with.',
156158
'product.guidelines.title': 'Product Guidelines',
157159
'product.guidelines.description': 'Comprehensive guidelines for designing consistent product experiences. From user interface patterns to interaction design, accessibility standards, and development workflows.',
158160
'product.resources.title': 'Product Resources',
@@ -307,6 +309,7 @@ const translations = {
307309
'brand.sections.principles': '원칙',
308310
'brand.sections.guidelines': '가이드라인',
309311
'brand.sections.resources': '리소스',
312+
'brand.intro.catchphrase': '모든 접점에서 버즈빌이 어떻게 보이고, 느껴지고, 행동하는지를 형성합니다.',
310313
'brand.principles.title': '브랜드 원칙',
311314
'brand.principles.description': '모든 결정, 상호작용, 우리가 만드는 경험을 이끄는 핵심 브랜드 원칙들. 이러한 근본적인 가치들은 모든 접점에서 일관성과 진정성을 보장합니다.',
312315
'brand.guidelines.title': '브랜드 가이드라인',
@@ -318,6 +321,7 @@ const translations = {
318321
'product.sections.principles': '원칙',
319322
'product.sections.guidelines': '가이드라인',
320323
'product.sections.resources': '리소스',
324+
'product.intro.catchphrase': '사용자가 참여하고 싶어하는 즐거운 경험을 디자인합니다.',
321325
'product.guidelines.title': '제품 가이드라인',
322326
'product.guidelines.description': '일관된 제품 경험을 디자인하기 위한 포괄적인 가이드라인. 사용자 인터페이스 패턴부터 상호작용 디자인, 접근성 표준, 개발 워크플로우까지.',
323327
'product.resources.title': '제품 리소스',

0 commit comments

Comments
 (0)