@nextsparkjs/theme-blog 0.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -0
- package/about.md +93 -0
- package/api/authors/[username]/route.ts +150 -0
- package/api/authors/route.ts +63 -0
- package/api/posts/public/route.ts +151 -0
- package/components/ExportPostsButton.tsx +102 -0
- package/components/ImportPostsDialog.tsx +284 -0
- package/components/PostsToolbar.tsx +24 -0
- package/components/editor/FeaturedImageUpload.tsx +185 -0
- package/components/editor/WysiwygEditor.tsx +340 -0
- package/components/index.ts +4 -0
- package/components/public/AuthorBio.tsx +105 -0
- package/components/public/AuthorCard.tsx +130 -0
- package/components/public/BlogFooter.tsx +185 -0
- package/components/public/BlogNavbar.tsx +201 -0
- package/components/public/PostCard.tsx +306 -0
- package/components/public/ReadingProgress.tsx +70 -0
- package/components/public/RelatedPosts.tsx +78 -0
- package/config/app.config.ts +200 -0
- package/config/billing.config.ts +146 -0
- package/config/dashboard.config.ts +333 -0
- package/config/dev.config.ts +48 -0
- package/config/features.config.ts +196 -0
- package/config/flows.config.ts +333 -0
- package/config/permissions.config.ts +101 -0
- package/config/theme.config.ts +128 -0
- package/entities/categories/categories.config.ts +60 -0
- package/entities/categories/categories.fields.ts +115 -0
- package/entities/categories/categories.service.ts +333 -0
- package/entities/categories/categories.types.ts +58 -0
- package/entities/categories/messages/en.json +33 -0
- package/entities/categories/messages/es.json +33 -0
- package/entities/posts/messages/en.json +100 -0
- package/entities/posts/messages/es.json +100 -0
- package/entities/posts/migrations/001_posts_table.sql +110 -0
- package/entities/posts/migrations/002_add_featured.sql +19 -0
- package/entities/posts/migrations/003_post_categories_pivot.sql +47 -0
- package/entities/posts/posts.config.ts +61 -0
- package/entities/posts/posts.fields.ts +234 -0
- package/entities/posts/posts.service.ts +464 -0
- package/entities/posts/posts.types.ts +80 -0
- package/lib/selectors.ts +179 -0
- package/messages/en.json +113 -0
- package/messages/es.json +113 -0
- package/migrations/002_author_profile_fields.sql +37 -0
- package/migrations/003_categories_table.sql +90 -0
- package/migrations/999_sample_data.sql +412 -0
- package/migrations/999_theme_sample_data.sql +1070 -0
- package/package.json +18 -0
- package/permissions-matrix.md +63 -0
- package/styles/article.css +333 -0
- package/styles/components.css +204 -0
- package/styles/globals.css +327 -0
- package/styles/theme.css +167 -0
- package/templates/(public)/author/[username]/page.tsx +247 -0
- package/templates/(public)/authors/page.tsx +161 -0
- package/templates/(public)/layout.tsx +44 -0
- package/templates/(public)/page.tsx +276 -0
- package/templates/(public)/posts/[slug]/page.tsx +342 -0
- package/templates/dashboard/(main)/page.tsx +385 -0
- package/templates/dashboard/(main)/posts/[id]/edit/page.tsx +529 -0
- package/templates/dashboard/(main)/posts/[id]/page.tsx +33 -0
- package/templates/dashboard/(main)/posts/create/page.tsx +353 -0
- package/templates/dashboard/(main)/posts/page.tsx +833 -0
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blog Theme - Custom Color Palette & Typography
|
|
3
|
+
*
|
|
4
|
+
* Warm amber/orange palette with editorial typography.
|
|
5
|
+
* Fonts: Oxanium (sans), Merriweather (serif), Fira Code (mono)
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
--background: oklch(0.9885 0.0057 84.5659);
|
|
10
|
+
--foreground: oklch(0.3660 0.0251 49.6085);
|
|
11
|
+
--card: oklch(0.9686 0.0091 78.2818);
|
|
12
|
+
--card-foreground: oklch(0.3660 0.0251 49.6085);
|
|
13
|
+
--popover: oklch(0.9686 0.0091 78.2818);
|
|
14
|
+
--popover-foreground: oklch(0.3660 0.0251 49.6085);
|
|
15
|
+
--primary: oklch(0.5553 0.1455 48.9975);
|
|
16
|
+
--primary-foreground: oklch(1.0000 0 0);
|
|
17
|
+
--secondary: oklch(0.8276 0.0752 74.4400);
|
|
18
|
+
--secondary-foreground: oklch(0.4444 0.0096 73.6390);
|
|
19
|
+
--muted: oklch(0.9363 0.0218 83.2637);
|
|
20
|
+
--muted-foreground: oklch(0.5534 0.0116 58.0708);
|
|
21
|
+
--accent: oklch(0.9000 0.0500 74.9889);
|
|
22
|
+
--accent-foreground: oklch(0.4444 0.0096 73.6390);
|
|
23
|
+
--destructive: oklch(0.4437 0.1613 26.8994);
|
|
24
|
+
--destructive-foreground: oklch(1.0000 0 0);
|
|
25
|
+
--border: oklch(0.8866 0.0404 89.6994);
|
|
26
|
+
--input: oklch(0.8866 0.0404 89.6994);
|
|
27
|
+
--ring: oklch(0.5553 0.1455 48.9975);
|
|
28
|
+
--chart-1: oklch(0.5553 0.1455 48.9975);
|
|
29
|
+
--chart-2: oklch(0.5534 0.0116 58.0708);
|
|
30
|
+
--chart-3: oklch(0.5538 0.1207 66.4416);
|
|
31
|
+
--chart-4: oklch(0.5534 0.0116 58.0708);
|
|
32
|
+
--chart-5: oklch(0.6806 0.1423 75.8340);
|
|
33
|
+
--sidebar: oklch(0.9363 0.0218 83.2637);
|
|
34
|
+
--sidebar-foreground: oklch(0.3660 0.0251 49.6085);
|
|
35
|
+
--sidebar-primary: oklch(0.5553 0.1455 48.9975);
|
|
36
|
+
--sidebar-primary-foreground: oklch(1.0000 0 0);
|
|
37
|
+
--sidebar-accent: oklch(0.5538 0.1207 66.4416);
|
|
38
|
+
--sidebar-accent-foreground: oklch(1.0000 0 0);
|
|
39
|
+
--sidebar-border: oklch(0.8866 0.0404 89.6994);
|
|
40
|
+
--sidebar-ring: oklch(0.5553 0.1455 48.9975);
|
|
41
|
+
--font-sans: Oxanium, sans-serif;
|
|
42
|
+
--font-serif: Merriweather, serif;
|
|
43
|
+
--font-mono: Fira Code, monospace;
|
|
44
|
+
--radius: 0.3rem;
|
|
45
|
+
--shadow-2xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.09);
|
|
46
|
+
--shadow-xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.09);
|
|
47
|
+
--shadow-sm: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 1px 2px -1px hsl(28 18% 25% / 0.18);
|
|
48
|
+
--shadow: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 1px 2px -1px hsl(28 18% 25% / 0.18);
|
|
49
|
+
--shadow-md: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 2px 4px -1px hsl(28 18% 25% / 0.18);
|
|
50
|
+
--shadow-lg: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 4px 6px -1px hsl(28 18% 25% / 0.18);
|
|
51
|
+
--shadow-xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 8px 10px -1px hsl(28 18% 25% / 0.18);
|
|
52
|
+
--shadow-2xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.45);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.dark {
|
|
56
|
+
--background: oklch(0.2161 0.0061 56.0434);
|
|
57
|
+
--foreground: oklch(0.9699 0.0013 106.4238);
|
|
58
|
+
--card: oklch(0.2685 0.0063 34.2976);
|
|
59
|
+
--card-foreground: oklch(0.9699 0.0013 106.4238);
|
|
60
|
+
--popover: oklch(0.2685 0.0063 34.2976);
|
|
61
|
+
--popover-foreground: oklch(0.9699 0.0013 106.4238);
|
|
62
|
+
--primary: oklch(0.7049 0.1867 47.6044);
|
|
63
|
+
--primary-foreground: oklch(1.0000 0 0);
|
|
64
|
+
--secondary: oklch(0.4444 0.0096 73.6390);
|
|
65
|
+
--secondary-foreground: oklch(0.9232 0.0026 48.7171);
|
|
66
|
+
--muted: oklch(0.2330 0.0073 67.4563);
|
|
67
|
+
--muted-foreground: oklch(0.7161 0.0091 56.2590);
|
|
68
|
+
--accent: oklch(0.3598 0.0497 229.3202);
|
|
69
|
+
--accent-foreground: oklch(0.9232 0.0026 48.7171);
|
|
70
|
+
--destructive: oklch(0.5771 0.2152 27.3250);
|
|
71
|
+
--destructive-foreground: oklch(1.0000 0 0);
|
|
72
|
+
--border: oklch(0.3741 0.0087 67.5582);
|
|
73
|
+
--input: oklch(0.3741 0.0087 67.5582);
|
|
74
|
+
--ring: oklch(0.7049 0.1867 47.6044);
|
|
75
|
+
--chart-1: oklch(0.7049 0.1867 47.6044);
|
|
76
|
+
--chart-2: oklch(0.6847 0.1479 237.3225);
|
|
77
|
+
--chart-3: oklch(0.7952 0.1617 86.0468);
|
|
78
|
+
--chart-4: oklch(0.7161 0.0091 56.2590);
|
|
79
|
+
--chart-5: oklch(0.5534 0.0116 58.0708);
|
|
80
|
+
--sidebar: oklch(0.2685 0.0063 34.2976);
|
|
81
|
+
--sidebar-foreground: oklch(0.9699 0.0013 106.4238);
|
|
82
|
+
--sidebar-primary: oklch(0.7049 0.1867 47.6044);
|
|
83
|
+
--sidebar-primary-foreground: oklch(1.0000 0 0);
|
|
84
|
+
--sidebar-accent: oklch(0.6847 0.1479 237.3225);
|
|
85
|
+
--sidebar-accent-foreground: oklch(0.2839 0.0734 254.5378);
|
|
86
|
+
--sidebar-border: oklch(0.3741 0.0087 67.5582);
|
|
87
|
+
--sidebar-ring: oklch(0.7049 0.1867 47.6044);
|
|
88
|
+
--font-sans: Oxanium, sans-serif;
|
|
89
|
+
--font-serif: Merriweather, serif;
|
|
90
|
+
--font-mono: Fira Code, monospace;
|
|
91
|
+
--radius: 0.3rem;
|
|
92
|
+
--shadow-2xs: 0px 2px 3px 0px hsl(0 0% 5% / 0.09);
|
|
93
|
+
--shadow-xs: 0px 2px 3px 0px hsl(0 0% 5% / 0.09);
|
|
94
|
+
--shadow-sm: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 1px 2px -1px hsl(0 0% 5% / 0.18);
|
|
95
|
+
--shadow: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 1px 2px -1px hsl(0 0% 5% / 0.18);
|
|
96
|
+
--shadow-md: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 2px 4px -1px hsl(0 0% 5% / 0.18);
|
|
97
|
+
--shadow-lg: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 4px 6px -1px hsl(0 0% 5% / 0.18);
|
|
98
|
+
--shadow-xl: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 8px 10px -1px hsl(0 0% 5% / 0.18);
|
|
99
|
+
--shadow-2xl: 0px 2px 3px 0px hsl(0 0% 5% / 0.45);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@theme inline {
|
|
103
|
+
--color-background: var(--background);
|
|
104
|
+
--color-foreground: var(--foreground);
|
|
105
|
+
--color-card: var(--card);
|
|
106
|
+
--color-card-foreground: var(--card-foreground);
|
|
107
|
+
--color-popover: var(--popover);
|
|
108
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
109
|
+
--color-primary: var(--primary);
|
|
110
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
111
|
+
--color-secondary: var(--secondary);
|
|
112
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
113
|
+
--color-muted: var(--muted);
|
|
114
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
115
|
+
--color-accent: var(--accent);
|
|
116
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
117
|
+
--color-destructive: var(--destructive);
|
|
118
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
119
|
+
--color-border: var(--border);
|
|
120
|
+
--color-input: var(--input);
|
|
121
|
+
--color-ring: var(--ring);
|
|
122
|
+
--color-chart-1: var(--chart-1);
|
|
123
|
+
--color-chart-2: var(--chart-2);
|
|
124
|
+
--color-chart-3: var(--chart-3);
|
|
125
|
+
--color-chart-4: var(--chart-4);
|
|
126
|
+
--color-chart-5: var(--chart-5);
|
|
127
|
+
--color-sidebar: var(--sidebar);
|
|
128
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
129
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
130
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
131
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
132
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
133
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
134
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
135
|
+
|
|
136
|
+
--font-sans: var(--font-sans);
|
|
137
|
+
--font-mono: var(--font-mono);
|
|
138
|
+
--font-serif: var(--font-serif);
|
|
139
|
+
|
|
140
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
141
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
142
|
+
--radius-lg: var(--radius);
|
|
143
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
144
|
+
|
|
145
|
+
--shadow-2xs: var(--shadow-2xs);
|
|
146
|
+
--shadow-xs: var(--shadow-xs);
|
|
147
|
+
--shadow-sm: var(--shadow-sm);
|
|
148
|
+
--shadow: var(--shadow);
|
|
149
|
+
--shadow-md: var(--shadow-md);
|
|
150
|
+
--shadow-lg: var(--shadow-lg);
|
|
151
|
+
--shadow-xl: var(--shadow-xl);
|
|
152
|
+
--shadow-2xl: var(--shadow-2xl);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/* ============================================================================
|
|
156
|
+
TYPOGRAPHY
|
|
157
|
+
============================================================================ */
|
|
158
|
+
|
|
159
|
+
/* Use Merriweather serif font for post content for better readability */
|
|
160
|
+
.prose {
|
|
161
|
+
font-family: var(--font-serif, 'Merriweather', Georgia, serif);
|
|
162
|
+
font-size: 1.125rem;
|
|
163
|
+
line-height: 1.8;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.prose h1,
|
|
167
|
+
.prose h2,
|
|
168
|
+
.prose h3,
|
|
169
|
+
.prose h4,
|
|
170
|
+
.prose h5,
|
|
171
|
+
.prose h6 {
|
|
172
|
+
font-family: var(--font-sans, 'Oxanium', sans-serif);
|
|
173
|
+
font-weight: 600;
|
|
174
|
+
letter-spacing: -0.01em;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.prose h1 {
|
|
178
|
+
font-size: 2.5rem;
|
|
179
|
+
margin-bottom: 1.5rem;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.prose h2 {
|
|
183
|
+
font-size: 1.875rem;
|
|
184
|
+
margin-top: 3rem;
|
|
185
|
+
margin-bottom: 1rem;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.prose h3 {
|
|
189
|
+
font-size: 1.5rem;
|
|
190
|
+
margin-top: 2.5rem;
|
|
191
|
+
margin-bottom: 0.75rem;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.prose p {
|
|
195
|
+
margin-bottom: 1.5rem;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.prose a {
|
|
199
|
+
color: var(--primary);
|
|
200
|
+
text-decoration: underline;
|
|
201
|
+
text-underline-offset: 3px;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.prose a:hover {
|
|
205
|
+
text-decoration-thickness: 2px;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.prose blockquote {
|
|
209
|
+
border-left: 4px solid var(--primary);
|
|
210
|
+
padding-left: 1.5rem;
|
|
211
|
+
font-style: italic;
|
|
212
|
+
color: var(--muted-foreground);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.prose code {
|
|
216
|
+
background-color: var(--muted);
|
|
217
|
+
padding: 0.2em 0.4em;
|
|
218
|
+
border-radius: 0.25rem;
|
|
219
|
+
font-size: 0.9em;
|
|
220
|
+
font-family: var(--font-mono, 'Fira Code', monospace);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.prose pre {
|
|
224
|
+
background-color: var(--muted);
|
|
225
|
+
padding: 1.25rem;
|
|
226
|
+
border-radius: 0.5rem;
|
|
227
|
+
overflow-x: auto;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.prose pre code {
|
|
231
|
+
background: none;
|
|
232
|
+
padding: 0;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.prose img {
|
|
236
|
+
border-radius: 0.5rem;
|
|
237
|
+
margin: 2rem 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.prose ul,
|
|
241
|
+
.prose ol {
|
|
242
|
+
margin-bottom: 1.5rem;
|
|
243
|
+
padding-left: 1.5rem;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.prose li {
|
|
247
|
+
margin-bottom: 0.5rem;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* ============================================================================
|
|
251
|
+
BLOG SPECIFIC
|
|
252
|
+
============================================================================ */
|
|
253
|
+
|
|
254
|
+
/* Post card hover effect */
|
|
255
|
+
.post-card {
|
|
256
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.post-card:hover {
|
|
260
|
+
transform: translateY(-2px);
|
|
261
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* Featured image aspect ratio */
|
|
265
|
+
.featured-image {
|
|
266
|
+
aspect-ratio: 16 / 9;
|
|
267
|
+
object-fit: cover;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/* Category and tag badges */
|
|
271
|
+
.category-badge {
|
|
272
|
+
display: inline-flex;
|
|
273
|
+
align-items: center;
|
|
274
|
+
padding: 0.25rem 0.75rem;
|
|
275
|
+
background-color: color-mix(in oklch, var(--primary) 10%, transparent);
|
|
276
|
+
color: var(--primary);
|
|
277
|
+
border-radius: 9999px;
|
|
278
|
+
font-size: 0.875rem;
|
|
279
|
+
font-weight: 500;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.tag-badge {
|
|
283
|
+
display: inline-flex;
|
|
284
|
+
align-items: center;
|
|
285
|
+
padding: 0.125rem 0.5rem;
|
|
286
|
+
background-color: var(--muted);
|
|
287
|
+
color: var(--muted-foreground);
|
|
288
|
+
border-radius: 0.25rem;
|
|
289
|
+
font-size: 0.75rem;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/* ============================================================================
|
|
293
|
+
READING PROGRESS
|
|
294
|
+
============================================================================ */
|
|
295
|
+
|
|
296
|
+
.reading-progress {
|
|
297
|
+
position: fixed;
|
|
298
|
+
top: 0;
|
|
299
|
+
left: 0;
|
|
300
|
+
height: 3px;
|
|
301
|
+
background: var(--primary);
|
|
302
|
+
z-index: 100;
|
|
303
|
+
transition: width 0.1s ease;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* ============================================================================
|
|
307
|
+
ANIMATIONS
|
|
308
|
+
============================================================================ */
|
|
309
|
+
|
|
310
|
+
@keyframes fadeInUp {
|
|
311
|
+
from {
|
|
312
|
+
opacity: 0;
|
|
313
|
+
transform: translateY(20px);
|
|
314
|
+
}
|
|
315
|
+
to {
|
|
316
|
+
opacity: 1;
|
|
317
|
+
transform: translateY(0);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.animate-fade-in-up {
|
|
322
|
+
animation: fadeInUp 0.5s ease forwards;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
.animate-delay-100 { animation-delay: 100ms; }
|
|
326
|
+
.animate-delay-200 { animation-delay: 200ms; }
|
|
327
|
+
.animate-delay-300 { animation-delay: 300ms; }
|
package/styles/theme.css
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blog Theme - Custom Color Palette & Typography
|
|
3
|
+
*
|
|
4
|
+
* Warm amber/orange palette with editorial typography.
|
|
5
|
+
* Fonts: Oxanium (sans), Merriweather (serif), Fira Code (mono)
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
--background: oklch(0.9885 0.0057 84.5659);
|
|
10
|
+
--foreground: oklch(0.3660 0.0251 49.6085);
|
|
11
|
+
--card: oklch(0.9686 0.0091 78.2818);
|
|
12
|
+
--card-foreground: oklch(0.3660 0.0251 49.6085);
|
|
13
|
+
--popover: oklch(0.9686 0.0091 78.2818);
|
|
14
|
+
--popover-foreground: oklch(0.3660 0.0251 49.6085);
|
|
15
|
+
--primary: oklch(0.5553 0.1455 48.9975);
|
|
16
|
+
--primary-foreground: oklch(1.0000 0 0);
|
|
17
|
+
--secondary: oklch(0.8276 0.0752 74.4400);
|
|
18
|
+
--secondary-foreground: oklch(0.4444 0.0096 73.6390);
|
|
19
|
+
--muted: oklch(0.9363 0.0218 83.2637);
|
|
20
|
+
--muted-foreground: oklch(0.5534 0.0116 58.0708);
|
|
21
|
+
--accent: oklch(0.9000 0.0500 74.9889);
|
|
22
|
+
--accent-foreground: oklch(0.4444 0.0096 73.6390);
|
|
23
|
+
--destructive: oklch(0.4437 0.1613 26.8994);
|
|
24
|
+
--destructive-foreground: oklch(1.0000 0 0);
|
|
25
|
+
--border: oklch(0.8866 0.0404 89.6994);
|
|
26
|
+
--input: oklch(0.8866 0.0404 89.6994);
|
|
27
|
+
--ring: oklch(0.5553 0.1455 48.9975);
|
|
28
|
+
--chart-1: oklch(0.5553 0.1455 48.9975);
|
|
29
|
+
--chart-2: oklch(0.5534 0.0116 58.0708);
|
|
30
|
+
--chart-3: oklch(0.5538 0.1207 66.4416);
|
|
31
|
+
--chart-4: oklch(0.5534 0.0116 58.0708);
|
|
32
|
+
--chart-5: oklch(0.6806 0.1423 75.8340);
|
|
33
|
+
--sidebar: oklch(0.9363 0.0218 83.2637);
|
|
34
|
+
--sidebar-foreground: oklch(0.3660 0.0251 49.6085);
|
|
35
|
+
--sidebar-primary: oklch(0.5553 0.1455 48.9975);
|
|
36
|
+
--sidebar-primary-foreground: oklch(1.0000 0 0);
|
|
37
|
+
--sidebar-accent: oklch(0.5538 0.1207 66.4416);
|
|
38
|
+
--sidebar-accent-foreground: oklch(1.0000 0 0);
|
|
39
|
+
--sidebar-border: oklch(0.8866 0.0404 89.6994);
|
|
40
|
+
--sidebar-ring: oklch(0.5553 0.1455 48.9975);
|
|
41
|
+
--font-sans: Oxanium, sans-serif;
|
|
42
|
+
--font-serif: Merriweather, serif;
|
|
43
|
+
--font-mono: Fira Code, monospace;
|
|
44
|
+
--radius: 0.3rem;
|
|
45
|
+
--shadow-x: 0px;
|
|
46
|
+
--shadow-y: 2px;
|
|
47
|
+
--shadow-blur: 3px;
|
|
48
|
+
--shadow-spread: 0px;
|
|
49
|
+
--shadow-opacity: 0.18;
|
|
50
|
+
--shadow-color: hsl(28 18% 25%);
|
|
51
|
+
--shadow-2xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.09);
|
|
52
|
+
--shadow-xs: 0px 2px 3px 0px hsl(28 18% 25% / 0.09);
|
|
53
|
+
--shadow-sm: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 1px 2px -1px hsl(28 18% 25% / 0.18);
|
|
54
|
+
--shadow: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 1px 2px -1px hsl(28 18% 25% / 0.18);
|
|
55
|
+
--shadow-md: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 2px 4px -1px hsl(28 18% 25% / 0.18);
|
|
56
|
+
--shadow-lg: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 4px 6px -1px hsl(28 18% 25% / 0.18);
|
|
57
|
+
--shadow-xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.18), 0px 8px 10px -1px hsl(28 18% 25% / 0.18);
|
|
58
|
+
--shadow-2xl: 0px 2px 3px 0px hsl(28 18% 25% / 0.45);
|
|
59
|
+
--tracking-normal: 0em;
|
|
60
|
+
--spacing: 0.25rem;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.dark {
|
|
64
|
+
--background: oklch(0.2161 0.0061 56.0434);
|
|
65
|
+
--foreground: oklch(0.9699 0.0013 106.4238);
|
|
66
|
+
--card: oklch(0.2685 0.0063 34.2976);
|
|
67
|
+
--card-foreground: oklch(0.9699 0.0013 106.4238);
|
|
68
|
+
--popover: oklch(0.2685 0.0063 34.2976);
|
|
69
|
+
--popover-foreground: oklch(0.9699 0.0013 106.4238);
|
|
70
|
+
--primary: oklch(0.7049 0.1867 47.6044);
|
|
71
|
+
--primary-foreground: oklch(1.0000 0 0);
|
|
72
|
+
--secondary: oklch(0.4444 0.0096 73.6390);
|
|
73
|
+
--secondary-foreground: oklch(0.9232 0.0026 48.7171);
|
|
74
|
+
--muted: oklch(0.2330 0.0073 67.4563);
|
|
75
|
+
--muted-foreground: oklch(0.7161 0.0091 56.2590);
|
|
76
|
+
--accent: oklch(0.3598 0.0497 229.3202);
|
|
77
|
+
--accent-foreground: oklch(0.9232 0.0026 48.7171);
|
|
78
|
+
--destructive: oklch(0.5771 0.2152 27.3250);
|
|
79
|
+
--destructive-foreground: oklch(1.0000 0 0);
|
|
80
|
+
--border: oklch(0.3741 0.0087 67.5582);
|
|
81
|
+
--input: oklch(0.3741 0.0087 67.5582);
|
|
82
|
+
--ring: oklch(0.7049 0.1867 47.6044);
|
|
83
|
+
--chart-1: oklch(0.7049 0.1867 47.6044);
|
|
84
|
+
--chart-2: oklch(0.6847 0.1479 237.3225);
|
|
85
|
+
--chart-3: oklch(0.7952 0.1617 86.0468);
|
|
86
|
+
--chart-4: oklch(0.7161 0.0091 56.2590);
|
|
87
|
+
--chart-5: oklch(0.5534 0.0116 58.0708);
|
|
88
|
+
--sidebar: oklch(0.2685 0.0063 34.2976);
|
|
89
|
+
--sidebar-foreground: oklch(0.9699 0.0013 106.4238);
|
|
90
|
+
--sidebar-primary: oklch(0.7049 0.1867 47.6044);
|
|
91
|
+
--sidebar-primary-foreground: oklch(1.0000 0 0);
|
|
92
|
+
--sidebar-accent: oklch(0.6847 0.1479 237.3225);
|
|
93
|
+
--sidebar-accent-foreground: oklch(0.2839 0.0734 254.5378);
|
|
94
|
+
--sidebar-border: oklch(0.3741 0.0087 67.5582);
|
|
95
|
+
--sidebar-ring: oklch(0.7049 0.1867 47.6044);
|
|
96
|
+
--font-sans: Oxanium, sans-serif;
|
|
97
|
+
--font-serif: Merriweather, serif;
|
|
98
|
+
--font-mono: Fira Code, monospace;
|
|
99
|
+
--radius: 0.3rem;
|
|
100
|
+
--shadow-x: 0px;
|
|
101
|
+
--shadow-y: 2px;
|
|
102
|
+
--shadow-blur: 3px;
|
|
103
|
+
--shadow-spread: 0px;
|
|
104
|
+
--shadow-opacity: 0.18;
|
|
105
|
+
--shadow-color: hsl(0 0% 5%);
|
|
106
|
+
--shadow-2xs: 0px 2px 3px 0px hsl(0 0% 5% / 0.09);
|
|
107
|
+
--shadow-xs: 0px 2px 3px 0px hsl(0 0% 5% / 0.09);
|
|
108
|
+
--shadow-sm: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 1px 2px -1px hsl(0 0% 5% / 0.18);
|
|
109
|
+
--shadow: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 1px 2px -1px hsl(0 0% 5% / 0.18);
|
|
110
|
+
--shadow-md: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 2px 4px -1px hsl(0 0% 5% / 0.18);
|
|
111
|
+
--shadow-lg: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 4px 6px -1px hsl(0 0% 5% / 0.18);
|
|
112
|
+
--shadow-xl: 0px 2px 3px 0px hsl(0 0% 5% / 0.18), 0px 8px 10px -1px hsl(0 0% 5% / 0.18);
|
|
113
|
+
--shadow-2xl: 0px 2px 3px 0px hsl(0 0% 5% / 0.45);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@theme inline {
|
|
117
|
+
--color-background: var(--background);
|
|
118
|
+
--color-foreground: var(--foreground);
|
|
119
|
+
--color-card: var(--card);
|
|
120
|
+
--color-card-foreground: var(--card-foreground);
|
|
121
|
+
--color-popover: var(--popover);
|
|
122
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
123
|
+
--color-primary: var(--primary);
|
|
124
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
125
|
+
--color-secondary: var(--secondary);
|
|
126
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
127
|
+
--color-muted: var(--muted);
|
|
128
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
129
|
+
--color-accent: var(--accent);
|
|
130
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
131
|
+
--color-destructive: var(--destructive);
|
|
132
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
133
|
+
--color-border: var(--border);
|
|
134
|
+
--color-input: var(--input);
|
|
135
|
+
--color-ring: var(--ring);
|
|
136
|
+
--color-chart-1: var(--chart-1);
|
|
137
|
+
--color-chart-2: var(--chart-2);
|
|
138
|
+
--color-chart-3: var(--chart-3);
|
|
139
|
+
--color-chart-4: var(--chart-4);
|
|
140
|
+
--color-chart-5: var(--chart-5);
|
|
141
|
+
--color-sidebar: var(--sidebar);
|
|
142
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
143
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
144
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
145
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
146
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
147
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
148
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
149
|
+
|
|
150
|
+
--font-sans: var(--font-sans);
|
|
151
|
+
--font-mono: var(--font-mono);
|
|
152
|
+
--font-serif: var(--font-serif);
|
|
153
|
+
|
|
154
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
155
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
156
|
+
--radius-lg: var(--radius);
|
|
157
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
158
|
+
|
|
159
|
+
--shadow-2xs: var(--shadow-2xs);
|
|
160
|
+
--shadow-xs: var(--shadow-xs);
|
|
161
|
+
--shadow-sm: var(--shadow-sm);
|
|
162
|
+
--shadow: var(--shadow);
|
|
163
|
+
--shadow-md: var(--shadow-md);
|
|
164
|
+
--shadow-lg: var(--shadow-lg);
|
|
165
|
+
--shadow-xl: var(--shadow-xl);
|
|
166
|
+
--shadow-2xl: var(--shadow-2xl);
|
|
167
|
+
}
|