EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
ThemeShowcase.tsx
Go to the documentation of this file.
1"use client";
2
3import { themes } from '@/lib/themes';
4
5/**
6 * Theme Showcase Component
7 * Displays all available themes with their color palettes
8 * Used for documentation and marketing purposes
9 */
10export default function ThemeShowcase() {
11 return (
12 <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6 p-6">
13 {Object.values(themes).map((theme) => (
14 <div
15 key={theme.id}
16 className="rounded-xl overflow-hidden shadow-lg border-2"
17 style={{
18 borderColor: theme.colors.border,
19 background: theme.colors.surface,
20 }}
21 >
22 {/* Theme Header */}
23 <div
24 className="p-4"
25 style={{
26 background: theme.colors.brand,
27 color: '#ffffff',
28 }}
29 >
30 <h3 className="font-bold text-lg">{theme.name}</h3>
31 <p className="text-sm opacity-90">{theme.description}</p>
32 </div>
33
34 {/* Color Palette */}
35 <div className="p-4" style={{ background: theme.colors.bg }}>
36 <div className="space-y-2">
37 {/* Primary Colors */}
38 <div className="grid grid-cols-4 gap-2">
39 <div
40 className="aspect-square rounded shadow-sm"
41 style={{ background: theme.colors.brand }}
42 title="Brand"
43 />
44 <div
45 className="aspect-square rounded shadow-sm"
46 style={{ background: theme.colors.brand2 }}
47 title="Brand 2"
48 />
49 <div
50 className="aspect-square rounded shadow-sm"
51 style={{ background: theme.colors.warn }}
52 title="Warning"
53 />
54 <div
55 className="aspect-square rounded shadow-sm"
56 style={{ background: theme.colors.danger }}
57 title="Danger"
58 />
59 </div>
60
61 {/* Surface Colors */}
62 <div className="grid grid-cols-3 gap-2">
63 <div
64 className="aspect-square rounded shadow-sm border"
65 style={{
66 background: theme.colors.bg,
67 borderColor: theme.colors.border,
68 }}
69 title="Background"
70 />
71 <div
72 className="aspect-square rounded shadow-sm border"
73 style={{
74 background: theme.colors.surface,
75 borderColor: theme.colors.border,
76 }}
77 title="Surface"
78 />
79 <div
80 className="aspect-square rounded shadow-sm border"
81 style={{
82 background: theme.colors.surface2,
83 borderColor: theme.colors.border,
84 }}
85 title="Surface 2"
86 />
87 </div>
88
89 {/* Text Preview */}
90 <div
91 className="p-3 rounded"
92 style={{
93 background: theme.colors.surface,
94 border: `1px solid ${theme.colors.border}`,
95 }}
96 >
97 <p
98 className="font-bold text-sm mb-1"
99 style={{ color: theme.colors.text }}
100 >
101 Sample Text
102 </p>
103 <p
104 className="text-xs"
105 style={{ color: theme.colors.muted }}
106 >
107 Muted secondary text
108 </p>
109 </div>
110 </div>
111 </div>
112
113 {/* Theme ID Badge */}
114 <div
115 className="px-4 py-2 text-center text-xs font-mono"
116 style={{
117 background: theme.colors.surface2,
118 color: theme.colors.muted,
119 }}
120 >
121 {theme.id}
122 </div>
123 </div>
124 ))}
125 </div>
126 );
127}