@dailyautomations/ui 1.2.0 → 1.4.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/dist/components/common/button.js +6 -6
- package/dist/components/common/button.js.map +1 -1
- package/dist/components/dev/theme-tester.d.ts +2 -0
- package/dist/components/dev/theme-tester.d.ts.map +1 -0
- package/dist/components/dev/theme-tester.js +105 -0
- package/dist/components/dev/theme-tester.js.map +1 -0
- package/dist/components/layout/app-shell.d.ts +14 -0
- package/dist/components/layout/app-shell.d.ts.map +1 -0
- package/dist/components/layout/app-shell.js +25 -0
- package/dist/components/layout/app-shell.js.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +15 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.js +40 -0
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +7 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar.js +15 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +37 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +7 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +15 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/combobox.d.ts +20 -0
- package/dist/components/ui/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox.js +21 -0
- package/dist/components/ui/combobox.js.map +1 -0
- package/dist/components/ui/command.d.ts +81 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.js +30 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/confirm-dialog.d.ts +16 -0
- package/dist/components/ui/confirm-dialog.d.ts.map +1 -0
- package/dist/components/ui/confirm-dialog.js +31 -0
- package/dist/components/ui/confirm-dialog.js.map +1 -0
- package/dist/components/ui/date-picker.d.ts +13 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -0
- package/dist/components/ui/date-picker.js +19 -0
- package/dist/components/ui/date-picker.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +25 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +51 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/empty-state.d.ts +14 -0
- package/dist/components/ui/empty-state.d.ts.map +1 -0
- package/dist/components/ui/empty-state.js +20 -0
- package/dist/components/ui/empty-state.js.map +1 -0
- package/dist/components/ui/filter-bar.d.ts +29 -0
- package/dist/components/ui/filter-bar.d.ts.map +1 -0
- package/dist/components/ui/filter-bar.js +19 -0
- package/dist/components/ui/filter-bar.js.map +1 -0
- package/dist/components/ui/form.d.ts +25 -0
- package/dist/components/ui/form.d.ts.map +1 -0
- package/dist/components/ui/form.js +62 -0
- package/dist/components/ui/form.js.map +1 -0
- package/dist/components/ui/input-otp.d.ts +15 -0
- package/dist/components/ui/input-otp.d.ts.map +1 -0
- package/dist/components/ui/input-otp.js +50 -0
- package/dist/components/ui/input-otp.js.map +1 -0
- package/dist/components/ui/loading-spinner.d.ts +19 -0
- package/dist/components/ui/loading-spinner.d.ts.map +1 -0
- package/dist/components/ui/loading-spinner.js +28 -0
- package/dist/components/ui/loading-spinner.js.map +1 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/popover.js +18 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/progress.d.ts +8 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/progress.js +9 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/radio-group.d.ts +6 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/radio-group.js +12 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +14 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/separator.d.ts +7 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/separator.js +9 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +21 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +50 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/slider.d.ts +7 -0
- package/dist/components/ui/slider.d.ts.map +1 -0
- package/dist/components/ui/slider.js +9 -0
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/stat-card.d.ts +23 -0
- package/dist/components/ui/stat-card.d.ts.map +1 -0
- package/dist/components/ui/stat-card.js +46 -0
- package/dist/components/ui/stat-card.js.map +1 -0
- package/dist/components/ui/switch.d.ts +7 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/switch.js +9 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.d.ts +11 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/table.js +28 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/textarea-autosize.d.ts +12 -0
- package/dist/components/ui/textarea-autosize.d.ts.map +1 -0
- package/dist/components/ui/textarea-autosize.js +44 -0
- package/dist/components/ui/textarea-autosize.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.js +18 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/config/themes.d.ts +18 -0
- package/dist/config/themes.d.ts.map +1 -0
- package/dist/config/themes.js +267 -0
- package/dist/config/themes.js.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -1
- package/examples/home-page.tsx +81 -81
- package/examples/main.tsx +24 -9
- package/examples/pages/ComponentsPage.tsx +726 -0
- package/examples/pages/LandingPage.tsx +860 -0
- package/examples/pages/index.ts +2 -0
- package/examples/styles.css +61 -0
- package/package.json +34 -1
package/examples/home-page.tsx
CHANGED
|
@@ -6,26 +6,26 @@ import { Badge } from '../src/components/common/badge';
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Daily X Homepage Template
|
|
9
|
-
* Dark theme with purple
|
|
10
|
-
*
|
|
9
|
+
* Dark theme with purple primary and configurable accent colors
|
|
10
|
+
* Uses CSS variables for theme switching support
|
|
11
11
|
*/
|
|
12
12
|
export default function HomePage() {
|
|
13
13
|
return (
|
|
14
|
-
<div className="min-h-screen bg-
|
|
14
|
+
<div className="min-h-screen bg-background text-foreground font-['Inter',sans-serif]">
|
|
15
15
|
{/* Navigation */}
|
|
16
|
-
<nav className="border-b border-
|
|
16
|
+
<nav className="border-b border-border bg-background/90 backdrop-blur-md sticky top-0 z-50">
|
|
17
17
|
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
18
18
|
<div className="flex justify-between items-center h-16">
|
|
19
19
|
<div className="flex items-center gap-3">
|
|
20
|
-
<div className="w-9 h-9 bg-gradient-to-br from-
|
|
20
|
+
<div className="w-9 h-9 bg-gradient-to-br from-primary to-accent rounded-lg flex items-center justify-center">
|
|
21
21
|
<span className="text-white font-extrabold text-sm">dX</span>
|
|
22
22
|
</div>
|
|
23
|
-
<span className="font-bold text-
|
|
23
|
+
<span className="font-bold text-foreground text-lg tracking-tight">daily x</span>
|
|
24
24
|
</div>
|
|
25
25
|
<div className="hidden md:flex items-center gap-8">
|
|
26
|
-
<a href="#products" className="text-sm text-
|
|
27
|
-
<a href="#features" className="text-sm text-
|
|
28
|
-
<a href="#pricing" className="text-sm text-
|
|
26
|
+
<a href="#products" className="text-sm text-muted-foreground hover:text-foreground transition-colors">Products</a>
|
|
27
|
+
<a href="#features" className="text-sm text-muted-foreground hover:text-foreground transition-colors">Features</a>
|
|
28
|
+
<a href="#pricing" className="text-sm text-muted-foreground hover:text-foreground transition-colors">Pricing</a>
|
|
29
29
|
<Button variant="ghost" size="sm">Sign In</Button>
|
|
30
30
|
<Button size="sm">Get Started</Button>
|
|
31
31
|
</div>
|
|
@@ -36,21 +36,21 @@ export default function HomePage() {
|
|
|
36
36
|
{/* Hero Section */}
|
|
37
37
|
<section className="pt-24 pb-32 px-4 sm:px-6 lg:px-8 relative overflow-hidden">
|
|
38
38
|
{/* Background gradient orbs */}
|
|
39
|
-
<div className="absolute top-0 left-1/4 w-96 h-96 bg-
|
|
40
|
-
<div className="absolute bottom-0 right-1/4 w-96 h-96 bg-
|
|
39
|
+
<div className="absolute top-0 left-1/4 w-96 h-96 bg-primary/20 rounded-full blur-3xl" />
|
|
40
|
+
<div className="absolute bottom-0 right-1/4 w-96 h-96 bg-accent/10 rounded-full blur-3xl" />
|
|
41
41
|
|
|
42
42
|
<div className="max-w-7xl mx-auto relative">
|
|
43
43
|
<div className="text-center max-w-4xl mx-auto">
|
|
44
|
-
<Badge className="mb-8 bg-
|
|
44
|
+
<Badge className="mb-8 bg-primary/10 text-primary border-primary/30 hover:bg-primary/20">
|
|
45
45
|
AI-Powered Automation Suite
|
|
46
46
|
</Badge>
|
|
47
47
|
<h1 className="text-5xl md:text-6xl lg:text-7xl font-extrabold tracking-tight mb-8 leading-[1.1]">
|
|
48
48
|
Automate Your
|
|
49
|
-
<span className="block bg-gradient-to-r from-
|
|
49
|
+
<span className="block bg-gradient-to-r from-primary via-primary to-accent bg-clip-text text-transparent">
|
|
50
50
|
Daily Workflows
|
|
51
51
|
</span>
|
|
52
52
|
</h1>
|
|
53
|
-
<p className="text-xl md:text-2xl text-
|
|
53
|
+
<p className="text-xl md:text-2xl text-muted-foreground mb-12 leading-relaxed max-w-2xl mx-auto">
|
|
54
54
|
Five intelligent tools that transform how teams work. From LinkedIn coordination to SEO automation—powered by AI that learns your patterns.
|
|
55
55
|
</p>
|
|
56
56
|
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
|
@@ -74,10 +74,10 @@ export default function HomePage() {
|
|
|
74
74
|
].map((product) => (
|
|
75
75
|
<div
|
|
76
76
|
key={product.name}
|
|
77
|
-
className="px-4 py-2 bg-
|
|
77
|
+
className="px-4 py-2 bg-card border border-border rounded-full text-sm hover:border-primary/50 hover:bg-muted transition-all cursor-pointer group"
|
|
78
78
|
>
|
|
79
|
-
<span className="text-
|
|
80
|
-
<span className="text-
|
|
79
|
+
<span className="text-accent font-semibold group-hover:text-accent">{product.name}</span>
|
|
80
|
+
<span className="text-muted-foreground ml-2">{product.desc}</span>
|
|
81
81
|
</div>
|
|
82
82
|
))}
|
|
83
83
|
</div>
|
|
@@ -85,55 +85,55 @@ export default function HomePage() {
|
|
|
85
85
|
</section>
|
|
86
86
|
|
|
87
87
|
{/* Features Grid */}
|
|
88
|
-
<section id="features" className="py-24 px-4 sm:px-6 lg:px-8 bg-
|
|
88
|
+
<section id="features" className="py-24 px-4 sm:px-6 lg:px-8 bg-card/50">
|
|
89
89
|
<div className="max-w-7xl mx-auto">
|
|
90
90
|
<div className="text-center mb-16">
|
|
91
91
|
<h2 className="text-3xl md:text-4xl font-extrabold mb-4">
|
|
92
92
|
Built for Modern Teams
|
|
93
93
|
</h2>
|
|
94
|
-
<p className="text-lg text-
|
|
94
|
+
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
95
95
|
AI-driven tools designed to eliminate repetitive work and amplify your impact
|
|
96
96
|
</p>
|
|
97
97
|
</div>
|
|
98
98
|
|
|
99
99
|
<div className="grid md:grid-cols-3 gap-6">
|
|
100
|
-
<Card className="bg-
|
|
100
|
+
<Card className="bg-card border-border hover:border-primary/30 transition-colors group">
|
|
101
101
|
<CardHeader>
|
|
102
|
-
<div className="w-12 h-12 bg-
|
|
103
|
-
<svg className="w-6 h-6 text-
|
|
102
|
+
<div className="w-12 h-12 bg-primary/10 rounded-xl flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors">
|
|
103
|
+
<svg className="w-6 h-6 text-primary" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
104
104
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
|
|
105
105
|
</svg>
|
|
106
106
|
</div>
|
|
107
|
-
<CardTitle className="text-xl text-
|
|
108
|
-
<CardDescription className="text-base text-
|
|
107
|
+
<CardTitle className="text-xl text-foreground">Intelligent Memory</CardTitle>
|
|
108
|
+
<CardDescription className="text-base text-muted-foreground">
|
|
109
109
|
AI that learns from your work patterns and surfaces the right information exactly when you need it.
|
|
110
110
|
</CardDescription>
|
|
111
111
|
</CardHeader>
|
|
112
112
|
</Card>
|
|
113
113
|
|
|
114
|
-
<Card className="bg-
|
|
114
|
+
<Card className="bg-card border-border hover:border-accent/30 transition-colors group">
|
|
115
115
|
<CardHeader>
|
|
116
|
-
<div className="w-12 h-12 bg-
|
|
117
|
-
<svg className="w-6 h-6 text-
|
|
116
|
+
<div className="w-12 h-12 bg-accent/10 rounded-xl flex items-center justify-center mb-4 group-hover:bg-accent/20 transition-colors">
|
|
117
|
+
<svg className="w-6 h-6 text-accent" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
118
118
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
|
|
119
119
|
</svg>
|
|
120
120
|
</div>
|
|
121
|
-
<CardTitle className="text-xl text-
|
|
122
|
-
<CardDescription className="text-base text-
|
|
121
|
+
<CardTitle className="text-xl text-foreground">Lightning Fast</CardTitle>
|
|
122
|
+
<CardDescription className="text-base text-muted-foreground">
|
|
123
123
|
Sub-2-second load times. Lighthouse scores above 90. Optimized for speed at every layer.
|
|
124
124
|
</CardDescription>
|
|
125
125
|
</CardHeader>
|
|
126
126
|
</Card>
|
|
127
127
|
|
|
128
|
-
<Card className="bg-
|
|
128
|
+
<Card className="bg-card border-border hover:border-primary/30 transition-colors group">
|
|
129
129
|
<CardHeader>
|
|
130
|
-
<div className="w-12 h-12 bg-
|
|
131
|
-
<svg className="w-6 h-6 text-
|
|
130
|
+
<div className="w-12 h-12 bg-primary/10 rounded-xl flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors">
|
|
131
|
+
<svg className="w-6 h-6 text-primary" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
132
132
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" />
|
|
133
133
|
</svg>
|
|
134
134
|
</div>
|
|
135
|
-
<CardTitle className="text-xl text-
|
|
136
|
-
<CardDescription className="text-base text-
|
|
135
|
+
<CardTitle className="text-xl text-foreground">Real-time Sync</CardTitle>
|
|
136
|
+
<CardDescription className="text-base text-muted-foreground">
|
|
137
137
|
Changes propagate instantly across all devices. Conflict-free collaboration built in.
|
|
138
138
|
</CardDescription>
|
|
139
139
|
</CardHeader>
|
|
@@ -147,13 +147,13 @@ export default function HomePage() {
|
|
|
147
147
|
<div className="max-w-7xl mx-auto">
|
|
148
148
|
<div className="grid lg:grid-cols-2 gap-12 items-center">
|
|
149
149
|
<div>
|
|
150
|
-
<Badge className="mb-6 bg-
|
|
150
|
+
<Badge className="mb-6 bg-accent/10 text-accent border-accent/30">
|
|
151
151
|
Featured Product
|
|
152
152
|
</Badge>
|
|
153
153
|
<h2 className="text-4xl md:text-5xl font-extrabold mb-6">
|
|
154
154
|
dailyreach.ai
|
|
155
155
|
</h2>
|
|
156
|
-
<p className="text-xl text-
|
|
156
|
+
<p className="text-xl text-muted-foreground mb-8 leading-relaxed">
|
|
157
157
|
Coordinate your team's LinkedIn presence with AI-powered content recommendations, optimal posting times, and engagement analytics.
|
|
158
158
|
</p>
|
|
159
159
|
<ul className="space-y-4 mb-8">
|
|
@@ -163,9 +163,9 @@ export default function HomePage() {
|
|
|
163
163
|
'Automated scheduling',
|
|
164
164
|
'Engagement analytics',
|
|
165
165
|
].map((feature) => (
|
|
166
|
-
<li key={feature} className="flex items-center gap-3 text-
|
|
167
|
-
<div className="w-5 h-5 bg-
|
|
168
|
-
<svg className="w-3 h-3 text-
|
|
166
|
+
<li key={feature} className="flex items-center gap-3 text-foreground/80">
|
|
167
|
+
<div className="w-5 h-5 bg-primary/20 rounded-full flex items-center justify-center">
|
|
168
|
+
<svg className="w-3 h-3 text-primary" fill="currentColor" viewBox="0 0 20 20">
|
|
169
169
|
<path fillRule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clipRule="evenodd" />
|
|
170
170
|
</svg>
|
|
171
171
|
</div>
|
|
@@ -178,31 +178,31 @@ export default function HomePage() {
|
|
|
178
178
|
</Button>
|
|
179
179
|
</div>
|
|
180
180
|
<div className="relative">
|
|
181
|
-
<div className="rounded-2xl border border-
|
|
182
|
-
<div className="aspect-[4/3] bg-gradient-to-br from-
|
|
181
|
+
<div className="rounded-2xl border border-border bg-card overflow-hidden shadow-2xl">
|
|
182
|
+
<div className="aspect-[4/3] bg-gradient-to-br from-primary/5 to-accent/5 flex items-center justify-center">
|
|
183
183
|
<div className="text-center">
|
|
184
|
-
<div className="w-20 h-20 bg-gradient-to-br from-
|
|
185
|
-
<svg className="w-10 h-10 text-
|
|
184
|
+
<div className="w-20 h-20 bg-gradient-to-br from-primary/20 to-accent/20 rounded-2xl mx-auto mb-4 flex items-center justify-center">
|
|
185
|
+
<svg className="w-10 h-10 text-primary" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
186
186
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={1.5} d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" />
|
|
187
187
|
</svg>
|
|
188
188
|
</div>
|
|
189
|
-
<p className="text-
|
|
189
|
+
<p className="text-muted-foreground text-sm">Product Screenshot</p>
|
|
190
190
|
</div>
|
|
191
191
|
</div>
|
|
192
192
|
</div>
|
|
193
193
|
{/* Floating accent */}
|
|
194
|
-
<div className="absolute -bottom-6 -right-6 w-32 h-32 bg-
|
|
194
|
+
<div className="absolute -bottom-6 -right-6 w-32 h-32 bg-accent/10 rounded-full blur-2xl" />
|
|
195
195
|
</div>
|
|
196
196
|
</div>
|
|
197
197
|
</div>
|
|
198
198
|
</section>
|
|
199
199
|
|
|
200
200
|
{/* Social Proof */}
|
|
201
|
-
<section className="py-24 px-4 sm:px-6 lg:px-8 bg-
|
|
201
|
+
<section className="py-24 px-4 sm:px-6 lg:px-8 bg-card/50">
|
|
202
202
|
<div className="max-w-4xl mx-auto text-center">
|
|
203
203
|
<div className="inline-flex items-center gap-1 mb-8">
|
|
204
204
|
{[...Array(5)].map((_, i) => (
|
|
205
|
-
<svg key={i} className="w-5 h-5 text-
|
|
205
|
+
<svg key={i} className="w-5 h-5 text-accent" fill="currentColor" viewBox="0 0 20 20">
|
|
206
206
|
<path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" />
|
|
207
207
|
</svg>
|
|
208
208
|
))}
|
|
@@ -211,12 +211,12 @@ export default function HomePage() {
|
|
|
211
211
|
"Daily X cut our context switching by 60%. It's like having a second brain for the entire team."
|
|
212
212
|
</blockquote>
|
|
213
213
|
<div className="flex items-center justify-center gap-4">
|
|
214
|
-
<div className="w-12 h-12 bg-gradient-to-br from-
|
|
214
|
+
<div className="w-12 h-12 bg-gradient-to-br from-primary to-accent rounded-full flex items-center justify-center">
|
|
215
215
|
<span className="text-white font-semibold">SJ</span>
|
|
216
216
|
</div>
|
|
217
217
|
<div className="text-left">
|
|
218
|
-
<p className="font-semibold text-
|
|
219
|
-
<p className="text-sm text-
|
|
218
|
+
<p className="font-semibold text-foreground">Sarah Johnson</p>
|
|
219
|
+
<p className="text-sm text-muted-foreground">Head of Engineering, TechCorp</p>
|
|
220
220
|
</div>
|
|
221
221
|
</div>
|
|
222
222
|
</div>
|
|
@@ -224,89 +224,89 @@ export default function HomePage() {
|
|
|
224
224
|
|
|
225
225
|
{/* CTA Section */}
|
|
226
226
|
<section className="py-24 px-4 sm:px-6 lg:px-8 relative overflow-hidden">
|
|
227
|
-
<div className="absolute inset-0 bg-gradient-to-r from-
|
|
227
|
+
<div className="absolute inset-0 bg-gradient-to-r from-primary/10 via-transparent to-accent/10" />
|
|
228
228
|
<div className="max-w-4xl mx-auto text-center relative">
|
|
229
229
|
<h2 className="text-3xl md:text-4xl lg:text-5xl font-extrabold mb-6">
|
|
230
230
|
Ready to transform your workflow?
|
|
231
231
|
</h2>
|
|
232
|
-
<p className="text-xl text-
|
|
232
|
+
<p className="text-xl text-muted-foreground mb-10">
|
|
233
233
|
Join teams who've automated their daily work with AI.
|
|
234
234
|
</p>
|
|
235
235
|
<div className="flex flex-col sm:flex-row gap-3 max-w-md mx-auto">
|
|
236
236
|
<Input
|
|
237
237
|
type="email"
|
|
238
238
|
placeholder="Enter your email"
|
|
239
|
-
className="bg-
|
|
239
|
+
className="bg-card border-border text-foreground placeholder:text-muted-foreground h-12"
|
|
240
240
|
/>
|
|
241
241
|
<Button size="lg" className="whitespace-nowrap h-12">
|
|
242
242
|
Get Started
|
|
243
243
|
</Button>
|
|
244
244
|
</div>
|
|
245
|
-
<p className="text-sm text-
|
|
245
|
+
<p className="text-sm text-muted-foreground mt-4">
|
|
246
246
|
No credit card required • 14-day free trial
|
|
247
247
|
</p>
|
|
248
248
|
</div>
|
|
249
249
|
</section>
|
|
250
250
|
|
|
251
251
|
{/* Footer */}
|
|
252
|
-
<footer className="bg-
|
|
252
|
+
<footer className="bg-background border-t border-border py-12 px-4 sm:px-6 lg:px-8">
|
|
253
253
|
<div className="max-w-7xl mx-auto">
|
|
254
254
|
<div className="grid md:grid-cols-5 gap-8 mb-12">
|
|
255
255
|
<div className="md:col-span-2">
|
|
256
256
|
<div className="flex items-center gap-3 mb-4">
|
|
257
|
-
<div className="w-8 h-8 bg-gradient-to-br from-
|
|
257
|
+
<div className="w-8 h-8 bg-gradient-to-br from-primary to-accent rounded-lg flex items-center justify-center">
|
|
258
258
|
<span className="text-white font-extrabold text-xs">dX</span>
|
|
259
259
|
</div>
|
|
260
|
-
<span className="font-bold text-
|
|
260
|
+
<span className="font-bold text-foreground">daily x</span>
|
|
261
261
|
</div>
|
|
262
|
-
<p className="text-sm text-
|
|
262
|
+
<p className="text-sm text-muted-foreground max-w-xs">
|
|
263
263
|
AI-powered automation suite for modern teams. Transform how you work, one daily task at a time.
|
|
264
264
|
</p>
|
|
265
265
|
</div>
|
|
266
266
|
<div>
|
|
267
|
-
<h3 className="font-semibold text-
|
|
268
|
-
<ul className="space-y-2 text-sm text-
|
|
269
|
-
<li><a href="#" className="hover:text-
|
|
270
|
-
<li><a href="#" className="hover:text-
|
|
271
|
-
<li><a href="#" className="hover:text-
|
|
272
|
-
<li><a href="#" className="hover:text-
|
|
273
|
-
<li><a href="#" className="hover:text-
|
|
267
|
+
<h3 className="font-semibold text-foreground mb-4">Products</h3>
|
|
268
|
+
<ul className="space-y-2 text-sm text-muted-foreground">
|
|
269
|
+
<li><a href="#" className="hover:text-primary transition-colors">dailyreach.ai</a></li>
|
|
270
|
+
<li><a href="#" className="hover:text-primary transition-colors">dailyseo.ai</a></li>
|
|
271
|
+
<li><a href="#" className="hover:text-primary transition-colors">dailydashboards.ai</a></li>
|
|
272
|
+
<li><a href="#" className="hover:text-primary transition-colors">dailyscrape.ai</a></li>
|
|
273
|
+
<li><a href="#" className="hover:text-primary transition-colors">dailycoverage.ai</a></li>
|
|
274
274
|
</ul>
|
|
275
275
|
</div>
|
|
276
276
|
<div>
|
|
277
|
-
<h3 className="font-semibold text-
|
|
278
|
-
<ul className="space-y-2 text-sm text-
|
|
279
|
-
<li><a href="#" className="hover:text-
|
|
280
|
-
<li><a href="#" className="hover:text-
|
|
281
|
-
<li><a href="#" className="hover:text-
|
|
282
|
-
<li><a href="#" className="hover:text-
|
|
277
|
+
<h3 className="font-semibold text-foreground mb-4">Company</h3>
|
|
278
|
+
<ul className="space-y-2 text-sm text-muted-foreground">
|
|
279
|
+
<li><a href="#" className="hover:text-primary transition-colors">About</a></li>
|
|
280
|
+
<li><a href="#" className="hover:text-primary transition-colors">Blog</a></li>
|
|
281
|
+
<li><a href="#" className="hover:text-primary transition-colors">Careers</a></li>
|
|
282
|
+
<li><a href="#" className="hover:text-primary transition-colors">Contact</a></li>
|
|
283
283
|
</ul>
|
|
284
284
|
</div>
|
|
285
285
|
<div>
|
|
286
|
-
<h3 className="font-semibold text-
|
|
287
|
-
<ul className="space-y-2 text-sm text-
|
|
288
|
-
<li><a href="#" className="hover:text-
|
|
289
|
-
<li><a href="#" className="hover:text-
|
|
290
|
-
<li><a href="#" className="hover:text-
|
|
286
|
+
<h3 className="font-semibold text-foreground mb-4">Legal</h3>
|
|
287
|
+
<ul className="space-y-2 text-sm text-muted-foreground">
|
|
288
|
+
<li><a href="#" className="hover:text-primary transition-colors">Privacy</a></li>
|
|
289
|
+
<li><a href="#" className="hover:text-primary transition-colors">Terms</a></li>
|
|
290
|
+
<li><a href="#" className="hover:text-primary transition-colors">Security</a></li>
|
|
291
291
|
</ul>
|
|
292
292
|
</div>
|
|
293
293
|
</div>
|
|
294
|
-
<div className="border-t border-
|
|
295
|
-
<p className="text-sm text-
|
|
294
|
+
<div className="border-t border-border pt-8 flex flex-col md:flex-row justify-between items-center gap-4">
|
|
295
|
+
<p className="text-sm text-muted-foreground">© 2026 Daily X. All rights reserved.</p>
|
|
296
296
|
<div className="flex gap-6">
|
|
297
|
-
<a href="#" className="text-
|
|
297
|
+
<a href="#" className="text-muted-foreground hover:text-primary transition-colors">
|
|
298
298
|
<span className="sr-only">Twitter</span>
|
|
299
299
|
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
|
|
300
300
|
<path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
|
|
301
301
|
</svg>
|
|
302
302
|
</a>
|
|
303
|
-
<a href="#" className="text-
|
|
303
|
+
<a href="#" className="text-muted-foreground hover:text-primary transition-colors">
|
|
304
304
|
<span className="sr-only">GitHub</span>
|
|
305
305
|
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
|
|
306
306
|
<path fillRule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clipRule="evenodd" />
|
|
307
307
|
</svg>
|
|
308
308
|
</a>
|
|
309
|
-
<a href="#" className="text-
|
|
309
|
+
<a href="#" className="text-muted-foreground hover:text-primary transition-colors">
|
|
310
310
|
<span className="sr-only">LinkedIn</span>
|
|
311
311
|
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
|
|
312
312
|
<path fillRule="evenodd" d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z" clipRule="evenodd" />
|
package/examples/main.tsx
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import React, { useState } from 'react'
|
|
1
|
+
import React, { useState, useEffect } from 'react'
|
|
2
2
|
import ReactDOM from 'react-dom/client'
|
|
3
3
|
import './styles.css'
|
|
4
4
|
|
|
5
|
+
// Import theme system
|
|
6
|
+
import { ThemeTester, initializeTheme } from '../src'
|
|
7
|
+
|
|
5
8
|
// Import example pages
|
|
6
9
|
import { DashboardPage } from './pages/DashboardPage'
|
|
7
10
|
import { ListPage, ListPageEmpty } from './pages/ListPage'
|
|
@@ -13,12 +16,16 @@ import { BlogPage } from './pages/BlogPage'
|
|
|
13
16
|
import { ContactPage } from './pages/ContactPage'
|
|
14
17
|
import { AboutPage } from './pages/AboutPage'
|
|
15
18
|
import { PricingPage } from './pages/PricingPage'
|
|
19
|
+
import { LandingPage } from './pages/LandingPage'
|
|
20
|
+
import { ComponentsPage } from './pages/ComponentsPage'
|
|
16
21
|
import HomePage from './home-page'
|
|
17
22
|
|
|
18
|
-
type PageKey = 'home' | 'about' | 'pricing' | 'blog' | 'contact' | 'dashboard' | 'list' | 'list-empty' | 'login' | 'signup' | 'settings' | 'onboarding'
|
|
23
|
+
type PageKey = 'components' | 'home' | 'landing' | 'about' | 'pricing' | 'blog' | 'contact' | 'dashboard' | 'list' | 'list-empty' | 'login' | 'signup' | 'settings' | 'onboarding'
|
|
19
24
|
|
|
20
25
|
const pages: Record<PageKey, { label: string; component: React.ComponentType }> = {
|
|
26
|
+
components: { label: 'Components', component: ComponentsPage },
|
|
21
27
|
home: { label: 'Home (Marketing)', component: HomePage },
|
|
28
|
+
landing: { label: 'Landing (Conversion)', component: LandingPage },
|
|
22
29
|
about: { label: 'About Us', component: AboutPage },
|
|
23
30
|
pricing: { label: 'Pricing', component: PricingPage },
|
|
24
31
|
blog: { label: 'Blog', component: BlogPage },
|
|
@@ -33,19 +40,24 @@ const pages: Record<PageKey, { label: string; component: React.ComponentType }>
|
|
|
33
40
|
}
|
|
34
41
|
|
|
35
42
|
function App() {
|
|
36
|
-
const [currentPage, setCurrentPage] = useState<PageKey>('
|
|
43
|
+
const [currentPage, setCurrentPage] = useState<PageKey>('components')
|
|
37
44
|
const [navOpen, setNavOpen] = useState(true)
|
|
38
45
|
|
|
46
|
+
// Initialize theme on mount
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
initializeTheme()
|
|
49
|
+
}, [])
|
|
50
|
+
|
|
39
51
|
const CurrentComponent = pages[currentPage].component
|
|
40
52
|
|
|
41
53
|
return (
|
|
42
|
-
<div className="min-h-screen bg-
|
|
54
|
+
<div className="min-h-screen bg-background text-foreground">
|
|
43
55
|
{/* Floating Nav */}
|
|
44
56
|
<div className={`fixed top-4 left-4 z-50 transition-all ${navOpen ? 'w-56' : 'w-auto'}`}>
|
|
45
|
-
<div className="bg-
|
|
57
|
+
<div className="bg-card border border-border rounded-lg shadow-xl overflow-hidden">
|
|
46
58
|
<button
|
|
47
59
|
onClick={() => setNavOpen(!navOpen)}
|
|
48
|
-
className="w-full px-4 py-3 flex items-center justify-between text-
|
|
60
|
+
className="w-full px-4 py-3 flex items-center justify-between text-foreground hover:bg-muted transition-colors"
|
|
49
61
|
>
|
|
50
62
|
<span className="font-semibold text-sm">
|
|
51
63
|
{navOpen ? 'Page Examples' : '☰'}
|
|
@@ -58,15 +70,15 @@ function App() {
|
|
|
58
70
|
</button>
|
|
59
71
|
|
|
60
72
|
{navOpen && (
|
|
61
|
-
<nav className="border-t border-
|
|
73
|
+
<nav className="border-t border-border">
|
|
62
74
|
{(Object.keys(pages) as PageKey[]).map((key) => (
|
|
63
75
|
<button
|
|
64
76
|
key={key}
|
|
65
77
|
onClick={() => setCurrentPage(key)}
|
|
66
78
|
className={`w-full px-4 py-2.5 text-left text-sm transition-colors ${
|
|
67
79
|
currentPage === key
|
|
68
|
-
? 'bg-
|
|
69
|
-
: 'text-
|
|
80
|
+
? 'bg-accent/20 text-accent border-l-2 border-accent'
|
|
81
|
+
: 'text-muted-foreground hover:bg-muted hover:text-foreground border-l-2 border-transparent'
|
|
70
82
|
}`}
|
|
71
83
|
>
|
|
72
84
|
{pages[key].label}
|
|
@@ -79,6 +91,9 @@ function App() {
|
|
|
79
91
|
|
|
80
92
|
{/* Page Content */}
|
|
81
93
|
<CurrentComponent />
|
|
94
|
+
|
|
95
|
+
{/* Theme Tester - Floating button in bottom-right */}
|
|
96
|
+
<ThemeTester />
|
|
82
97
|
</div>
|
|
83
98
|
)
|
|
84
99
|
}
|