|
1 | | -import Image from "next/image"; |
2 | | -import { |
3 | | - Badge, |
4 | | - Button, |
5 | | - Card, |
6 | | - CardHeader, |
7 | | - CardTitle, |
8 | | - CardDescription, |
9 | | - CardContent, |
10 | | - CardFooter, |
11 | | - Section, |
12 | | - Heading, |
13 | | - Text, |
14 | | - Hero, |
15 | | -} from "@/components/ui"; |
16 | | -import { ThemeToggle } from '../components/ui/ThemeToggle' |
| 1 | +import { HeroSection } from "@/components/sections"; |
| 2 | +import { ThemeToggle } from '@/components/ui/ThemeToggle'; |
17 | 3 |
|
18 | 4 | export default function Home() { |
19 | 5 | return ( |
20 | 6 | <div className="min-h-screen bg-background text-text"> |
21 | | - <Hero |
22 | | - title="Senior Full-Stack Developer" |
23 | | - description="Building modern web applications with React, Next.js, and TypeScript. Passionate about creating beautiful, performant, and accessible user experiences." |
24 | | - location="San Francisco, CA" |
| 7 | + {/* Header with theme toggle */} |
| 8 | + <header className="fixed top-0 right-0 z-50 p-4"> |
| 9 | + <ThemeToggle /> |
| 10 | + </header> |
| 11 | + |
| 12 | + {/* Hero Section */} |
| 13 | + <HeroSection |
| 14 | + title="Senior Full-Stack Developer & Problem Solver" |
| 15 | + description="20+ years crafting scalable web applications with React, Node.js, and modern architectures" |
| 16 | + location="Istanbul, Turkey • Remote Worldwide" |
25 | 17 | avatarSrc="/avatar.png" |
26 | 18 | avatarAlt="Profile picture" |
27 | 19 | ctaPrimary={{ |
28 | | - text: "Contact Me", |
29 | | - link: "/contact", |
| 20 | + text: "View Projects", |
| 21 | + link: "#projects" |
30 | 22 | }} |
31 | 23 | ctaSecondary={{ |
32 | | - text: "View Work", |
33 | | - link: "/work", |
| 24 | + text: "Download CV", |
| 25 | + link: "/cv.pdf" |
| 26 | + }} |
| 27 | + ctaTertiary={{ |
| 28 | + text: "Contact Me", |
| 29 | + link: "#contact" |
34 | 30 | }} |
35 | 31 | /> |
36 | | - |
37 | | - <Section variant="surface" spacing="lg" className="border-b border-accent/20"> |
38 | | - <div className="container mx-auto flex justify-between items-center"> |
39 | | - <Heading as="h1" size="h2" className="text-accent">UI Component Showcase</Heading> |
40 | | - <ThemeToggle /> |
41 | | - </div> |
42 | | - </Section> |
43 | | - |
44 | | - <Section spacing="lg" maxWidth="4xl" align="center" className="container mx-auto"> |
45 | | - <div className="grid gap-8 md:grid-cols-2"> |
46 | | - <div className="space-y-4"> |
47 | | - <Heading as="h2" size="h3" className="text-accent">Buttons</Heading> |
48 | | - <div className="flex flex-wrap gap-4"> |
49 | | - <Button>Default</Button> |
50 | | - <Button variant="secondary">Secondary</Button> |
51 | | - <Button variant="destructive">Destructive</Button> |
52 | | - <Button variant="outline">Outline</Button> |
53 | | - <Button variant="ghost">Ghost</Button> |
54 | | - <Button variant="link">Link</Button> |
55 | | - <Button isLoading>Loading</Button> |
56 | | - </div> |
57 | | - </div> |
58 | | - |
59 | | - <div className="space-y-4"> |
60 | | - <Heading as="h2" size="h3" className="text-accent">Badges</Heading> |
61 | | - <div className="flex flex-wrap gap-4"> |
62 | | - <Badge>Default</Badge> |
63 | | - <Badge variant="secondary">Secondary</Badge> |
64 | | - <Badge variant="outline">Outline</Badge> |
65 | | - </div> |
66 | | - </div> |
67 | | - </div> |
68 | | - |
69 | | - <div className="mt-12 grid gap-8 md:grid-cols-2"> |
70 | | - <Card className="bg-surface"> |
71 | | - <CardHeader> |
72 | | - <CardTitle>Card Title</CardTitle> |
73 | | - <CardDescription>Card description goes here.</CardDescription> |
74 | | - </CardHeader> |
75 | | - <CardContent> |
76 | | - <Text>This is the card content area with some example text to demonstrate the theme integration.</Text> |
77 | | - </CardContent> |
78 | | - <CardFooter> |
79 | | - <Button size="sm">Action</Button> |
80 | | - </CardFooter> |
81 | | - </Card> |
82 | | - |
83 | | - <Section variant="accent" spacing="md" maxWidth="md" align="center" className="rounded-lg"> |
84 | | - <Heading as="h3" size="h4">Section Title</Heading> |
85 | | - <Text>This is a section container with accent background and centered text.</Text> |
86 | | - </Section> |
87 | | - </div> |
88 | | - |
89 | | - <div className="mt-12"> |
90 | | - <Heading as="h2" size="h3" className="text-accent mb-6">Typography</Heading> |
91 | | - <div className="space-y-4"> |
92 | | - <Heading as="h1" size="h1">Heading 1</Heading> |
93 | | - <Heading as="h2" size="h2">Heading 2</Heading> |
94 | | - <Heading as="h3" size="h3">Heading 3</Heading> |
95 | | - <Heading as="h4" size="h4">Heading 4</Heading> |
96 | | - <Heading as="h5" size="h5">Heading 5</Heading> |
97 | | - <Heading as="h6" size="h6">Heading 6</Heading> |
98 | | - <Text size="xl">Body text xl</Text> |
99 | | - <Text size="lg">Body text lg</Text> |
100 | | - <Text size="base">Body text base</Text> |
101 | | - <Text size="sm">Body text sm</Text> |
102 | | - <Text size="xs">Body text xs</Text> |
103 | | - <Text variant="muted">Muted text</Text> |
104 | | - <Text variant="subtle">Subtle text</Text> |
105 | | - <Text weight="bold">Bold text</Text> |
106 | | - <Text weight="semibold">Semibold text</Text> |
107 | | - <Text weight="medium">Medium text</Text> |
108 | | - </div> |
109 | | - </div> |
110 | | - </Section> |
111 | | - |
112 | | - <Section variant="surface" spacing="md" className="border-t border-accent/20"> |
113 | | - <div className="container mx-auto flex flex-wrap gap-6 items-center justify-center"> |
114 | | - <a |
115 | | - className="flex items-center gap-2 hover:underline hover:underline-offset-4 text-accent" |
116 | | - href="https://nextjs.org/learn" |
117 | | - target="_blank" |
118 | | - rel="noopener noreferrer" |
119 | | - > |
120 | | - <Image |
121 | | - aria-hidden |
122 | | - src="/file.svg" |
123 | | - alt="File icon" |
124 | | - width={16} |
125 | | - height={16} |
126 | | - /> |
127 | | - Learn |
128 | | - </a> |
129 | | - <a |
130 | | - className="flex items-center gap-2 hover:underline hover:underline-offset-4 text-accent" |
131 | | - href="https://vercel.com/templates" |
132 | | - target="_blank" |
133 | | - rel="noopener noreferrer" |
134 | | - > |
135 | | - <Image |
136 | | - aria-hidden |
137 | | - src="/window.svg" |
138 | | - alt="Window icon" |
139 | | - width={16} |
140 | | - height={16} |
141 | | - /> |
142 | | - Examples |
143 | | - </a> |
144 | | - <a |
145 | | - className="flex items-center gap-2 hover:underline hover:underline-offset-4 text-accent" |
146 | | - href="https://nextjs.org" |
147 | | - target="_blank" |
148 | | - rel="noopener noreferrer" |
149 | | - > |
150 | | - <Image |
151 | | - aria-hidden |
152 | | - src="/globe.svg" |
153 | | - alt="Globe icon" |
154 | | - width={16} |
155 | | - height={16} |
156 | | - /> |
157 | | - Go to nextjs.org → |
158 | | - </a> |
159 | | - </div> |
160 | | - </Section> |
161 | 32 | </div> |
162 | 33 | ); |
163 | 34 | } |
0 commit comments