Crispinoigara commited on
Commit
3b65624
·
verified ·
1 Parent(s): b619b7e

Instruction:

Browse files

In the CrispData project, review all buttons (e.g., “Subscribe”, “Get Started”, “Upload”, “Save”, etc.). Some buttons are not responding when clicked.
Please:

Ensure every button has a valid onClick or href handler.

Example:

<button onClick={handleSubscribe}>Subscribe</button>


If the button should navigate, use next/link in Next.js or router.push() correctly.

Example:

import Link from 'next/link'
<Link href="/pricing"><button>See Pricing</button></Link>


If the button should trigger a function (like upload, subscribe, checkout), connect it to the correct function in the codebase.

Example:

const handleSubscribe = async () => {
const res = await fetch("/api/checkout", { method: "POST" });
const { url } = await res.json();
window.location.href = url;
}


Add loading states so when a button is clicked, the user sees feedback (spinner, disabled state).

Example:

<button disabled={loading}>{loading ? "Processing..." : "Subscribe"}</button>


Run through every button in the app (Upload, Subscribe, Start Trial, etc.) and confirm they are interactive and functional. - Initial Deployment

Files changed (6) hide show
  1. README.md +7 -5
  2. dashboard.html +624 -0
  3. index.html +526 -18
  4. pricing.html +559 -0
  5. prompts.txt +290 -0
  6. upload.html +105 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Crispdata Tool
3
- emoji: 👁
4
- colorFrom: indigo
5
- colorTo: red
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: crispdata-tool
3
+ emoji: 🐳
4
+ colorFrom: pink
5
+ colorTo: blue
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
dashboard.html ADDED
@@ -0,0 +1,624 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Dashboard | CrispData</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
10
+ <script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
12
+ <script src="https://unpkg.com/feather-icons"></script>
13
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
14
+ <style>
15
+ .sidebar {
16
+ transition: all 0.3s ease;
17
+ }
18
+ .sidebar.collapsed {
19
+ width: 5rem;
20
+ }
21
+ .sidebar.collapsed .sidebar-item-text {
22
+ display: none;
23
+ }
24
+ .sidebar.collapsed .sidebar-header-text {
25
+ display: none;
26
+ }
27
+ .sidebar.collapsed .sidebar-item {
28
+ justify-content: center;
29
+ }
30
+ .content-card:hover {
31
+ transform: translateY(-5px);
32
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
33
+ }
34
+ .progress-bar {
35
+ height: 0.5rem;
36
+ border-radius: 0.25rem;
37
+ background-color: #e5e7eb;
38
+ }
39
+ .progress-bar-fill {
40
+ height: 100%;
41
+ border-radius: 0.25rem;
42
+ background-color: #6366f1;
43
+ transition: width 0.3s ease;
44
+ }
45
+ </style>
46
+ </head>
47
+ <body class="bg-gray-50 font-sans antialiased">
48
+ <div class="flex h-screen overflow-hidden">
49
+ <!-- Sidebar -->
50
+ <div class="sidebar bg-white shadow-md w-64 flex-shrink-0 flex flex-col">
51
+ <div class="flex items-center justify-between p-4 border-b">
52
+ <div class="flex items-center">
53
+ <i data-feather="layers" class="h-8 w-8 text-indigo-600"></i>
54
+ <span class="sidebar-header-text ml-2 text-xl font-bold text-gray-900">CrispData</span>
55
+ </div>
56
+ <button id="sidebar-toggle" class="text-gray-500 hover:text-gray-700 focus:outline-none">
57
+ <i data-feather="chevron-left"></i>
58
+ </button>
59
+ </div>
60
+ <div class="flex-1 overflow-y-auto">
61
+ <nav class="px-2 py-4">
62
+ <div class="space-y-1">
63
+ <a href="#" class="sidebar-item bg-indigo-50 text-indigo-700 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
64
+ <i data-feather="home" class="text-indigo-500 flex-shrink-0 h-6 w-6"></i>
65
+ <span class="sidebar-item-text ml-3">Dashboard</span>
66
+ </a>
67
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
68
+ <i data-feather="upload" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
69
+ <span class="sidebar-item-text ml-3">Upload Content</span>
70
+ </a>
71
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
72
+ <i data-feather="folder" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
73
+ <span class="sidebar-item-text ml-3">Content Library</span>
74
+ </a>
75
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
76
+ <i data-feather="bar-chart-2" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
77
+ <span class="sidebar-item-text ml-3">Analytics</span>
78
+ </a>
79
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
80
+ <i data-feather="users" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
81
+ <span class="sidebar-item-text ml-3">Audience</span>
82
+ </a>
83
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
84
+ <i data-feather="settings" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
85
+ <span class="sidebar-item-text ml-3">Settings</span>
86
+ </a>
87
+ </div>
88
+ <div class="mt-8">
89
+ <h3 class="sidebar-header-text px-3 text-xs font-semibold text-gray-500 uppercase tracking-wider">
90
+ Content Types
91
+ </h3>
92
+ <div class="mt-1 space-y-1">
93
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
94
+ <i data-feather="music" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
95
+ <span class="sidebar-item-text ml-3">Music</span>
96
+ </a>
97
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
98
+ <i data-feather="film" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
99
+ <span class="sidebar-item-text ml-3">Videos</span>
100
+ </a>
101
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
102
+ <i data-feather="edit-3" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
103
+ <span class="sidebar-item-text ml-3">Blogs</span>
104
+ </a>
105
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
106
+ <i data-feather="mic" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
107
+ <span class="sidebar-item-text ml-3">Voice Overs</span>
108
+ </a>
109
+ </div>
110
+ </div>
111
+ </nav>
112
+ </div>
113
+ <div class="p-4 border-t">
114
+ <div class="flex items-center">
115
+ <img class="h-9 w-9 rounded-full" src="http://static.photos/people/200x200/42" alt="User avatar">
116
+ <div class="ml-3 sidebar-header-text">
117
+ <p class="text-sm font-medium text-gray-700">John Doe</p>
118
+ <p class="text-xs font-medium text-gray-500">View profile</p>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </div>
123
+
124
+ <!-- Main content -->
125
+ <div class="flex-1 overflow-auto">
126
+ <!-- Top navigation -->
127
+ <header class="bg-white shadow-sm">
128
+ <div class="px-4 sm:px-6 lg:px-8">
129
+ <div class="flex justify-between h-16">
130
+ <div class="flex">
131
+ <!-- Mobile menu button -->
132
+ <button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500 lg:hidden">
133
+ <span class="sr-only">Open sidebar</span>
134
+ <i data-feather="menu"></i>
135
+ </button>
136
+ <!-- Search bar -->
137
+ <div class="flex-1 flex items-center justify-center px-2 lg:ml-6 lg:justify-end">
138
+ <div class="max-w-lg w-full lg:max-w-xs">
139
+ <label for="search" class="sr-only">Search</label>
140
+ <div class="relative">
141
+ <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
142
+ <i data-feather="search" class="h-5 w-5 text-gray-400"></i>
143
+ </div>
144
+ <input id="search" name="search" class="block w-full pl-10 pr-3 py-2 border border-gray-300 rounded-md leading-5 bg-white placeholder-gray-500 focus:outline-none focus:placeholder-gray-400 focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" placeholder="Search" type="search">
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ <div class="flex items-center">
150
+ <button type="button" class="bg-white p-1 rounded-full text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
151
+ <span class="sr-only">View notifications</span>
152
+ <i data-feather="bell"></i>
153
+ </button>
154
+ <div class="ml-3 relative">
155
+ <div>
156
+ <button type="button" class="bg-white rounded-full flex text-sm focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" id="user-menu" aria-expanded="false" aria-haspopup="true">
157
+ <span class="sr-only">Open user menu</span>
158
+ <img class="h-8 w-8 rounded-full" src="http://static.photos/people/200x200/42" alt="User avatar">
159
+ </button>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ </div>
164
+ </div>
165
+ </header>
166
+
167
+ <!-- Main content area -->
168
+ <main class="py-6 px-4 sm:px-6 lg:px-8">
169
+ <div class="mb-6">
170
+ <h1 class="text-2xl font-bold text-gray-900">Dashboard</h1>
171
+ <p class="mt-1 text-sm text-gray-500">Welcome back! Here's what's happening with your content.</p>
172
+ </div>
173
+
174
+ <!-- Stats cards -->
175
+ <div class="grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-4 mb-8">
176
+ <div class="bg-white overflow-hidden shadow rounded-lg content-card transition-all duration-300 ease-in-out" data-aos="fade-up">
177
+ <div class="px-4 py-5 sm:p-6">
178
+ <div class="flex items-center">
179
+ <div class="flex-shrink-0 bg-indigo-100 rounded-md p-3">
180
+ <i data-feather="eye" class="h-6 w-6 text-indigo-600"></i>
181
+ </div>
182
+ <div class="ml-5 w-0 flex-1">
183
+ <dt class="text-sm font-medium text-gray-500 truncate">Total Views</dt>
184
+ <dd class="flex items-baseline">
185
+ <div class="text-2xl font-semibold text-gray-900">24,573</div>
186
+ <div class="ml-2 flex items-baseline text-sm font-semibold text-green-600">
187
+ <i data-feather="trending-up" class="h-4 w-4"></i>
188
+ <span class="sr-only">Increased by</span>
189
+ 12%
190
+ </div>
191
+ </dd>
192
+ </div>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ <div class="bg-white overflow-hidden shadow rounded-lg content-card transition-all duration-300 ease-in-out" data-aos="fade-up" data-aos-delay="100">
197
+ <div class="px-4 py-5 sm:p-6">
198
+ <div class="flex items-center">
199
+ <div class="flex-shrink-0 bg-green-100 rounded-md p-3">
200
+ <i data-feather="play" class="h-6 w-6 text-green-600"></i>
201
+ </div>
202
+ <div class="ml-5 w-0 flex-1">
203
+ <dt class="text-sm font-medium text-gray-500 truncate">Total Plays</dt>
204
+ <dd class="flex items-baseline">
205
+ <div class="text-2xl font-semibold text-gray-900">15,892</div>
206
+ <div class="ml-2 flex items-baseline text-sm font-semibold text-green-600">
207
+ <i data-feather="trending-up" class="h-4 w-4"></i>
208
+ <span class="sr-only">Increased by</span>
209
+ 8%
210
+ </div>
211
+ </dd>
212
+ </div>
213
+ </div>
214
+ </div>
215
+ </div>
216
+ <div class="bg-white overflow-hidden shadow rounded-lg content-card transition-all duration-300 ease-in-out" data-aos="fade-up" data-aos-delay="200">
217
+ <div class="px-4 py-5 sm:p-6">
218
+ <div class="flex items-center">
219
+ <div class="flex-shrink-0 bg-blue-100 rounded-md p-3">
220
+ <i data-feather="download" class="h-6 w-6 text-blue-600"></i>
221
+ </div>
222
+ <div class="ml-5 w-0 flex-1">
223
+ <dt class="text-sm font-medium text-gray-500 truncate">Downloads</dt>
224
+ <dd class="flex items-baseline">
225
+ <div class="text-2xl font-semibold text-gray-900">3,245</div>
226
+ <div class="ml-2 flex items-baseline text-sm font-semibold text-green-600">
227
+ <i data-feather="trending-up" class="h-4 w-4"></i>
228
+ <span class="sr-only">Increased by</span>
229
+ 5%
230
+ </div>
231
+ </dd>
232
+ </div>
233
+ </div>
234
+ </div>
235
+ </div>
236
+ <div class="bg-white overflow-hidden shadow rounded-lg content-card transition-all duration-300 ease-in-out" data-aos="fade-up" data-aos-delay="300">
237
+ <div class="px-4 py-5 sm:p-6">
238
+ <div class="flex items-center">
239
+ <div class="flex-shrink-0 bg-purple-100 rounded-md p-3">
240
+ <i data-feather="users" class="h-6 w-6 text-purple-600"></i>
241
+ </div>
242
+ <div class="ml-5 w-0 flex-1">
243
+ <dt class="text-sm font-medium text-gray-500 truncate">New Followers</dt>
244
+ <dd class="flex items-baseline">
245
+ <div class="text-2xl font-semibold text-gray-900">1,234</div>
246
+ <div class="ml-2 flex items-baseline text-sm font-semibold text-green-600">
247
+ <i data-feather="trending-up" class="h-4 w-4"></i>
248
+ <span class="sr-only">Increased by</span>
249
+ 20%
250
+ </div>
251
+ </dd>
252
+ </div>
253
+ </div>
254
+ </div>
255
+ </div>
256
+ </div>
257
+
258
+ <!-- Charts row -->
259
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8">
260
+ <!-- Engagement chart -->
261
+ <div class="bg-white shadow rounded-lg p-6 content-card transition-all duration-300 ease-in-out" data-aos="fade-up">
262
+ <div class="flex items-center justify-between mb-4">
263
+ <h2 class="text-lg font-medium text-gray-900">Engagement Overview</h2>
264
+ <div class="relative">
265
+ <select class="appearance-none bg-white border border-gray-300 rounded-md pl-3 pr-8 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500">
266
+ <option>Last 7 days</option>
267
+ <option>Last 30 days</option>
268
+ <option>Last 90 days</option>
269
+ </select>
270
+ <div class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700">
271
+ <i data-feather="chevron-down" class="h-4 w-4"></i>
272
+ </div>
273
+ </div>
274
+ </div>
275
+ <div class="h-64">
276
+ <canvas id="engagementChart"></canvas>
277
+ </div>
278
+ </div>
279
+
280
+ <!-- Content distribution chart -->
281
+ <div class="bg-white shadow rounded-lg p-6 content-card transition-all duration-300 ease-in-out" data-aos="fade-up" data-aos-delay="100">
282
+ <div class="flex items-center justify-between mb-4">
283
+ <h2 class="text-lg font-medium text-gray-900">Content Distribution</h2>
284
+ <div class="relative">
285
+ <select class="appearance-none bg-white border border-gray-300 rounded-md pl-3 pr-8 py-1 text-sm focus:outline-none focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500">
286
+ <option>By Type</option>
287
+ <option>By Views</option>
288
+ <option>By Plays</option>
289
+ </select>
290
+ <div class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700">
291
+ <i data-feather="chevron-down" class="h-4 w-4"></i>
292
+ </div>
293
+ </div>
294
+ </div>
295
+ <div class="h-64">
296
+ <canvas id="contentChart"></canvas>
297
+ </div>
298
+ </div>
299
+ </div>
300
+
301
+ <!-- Recent activity and storage -->
302
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8">
303
+ <!-- Recent activity -->
304
+ <div class="bg-white shadow rounded-lg lg:col-span-2 content-card transition-all duration-300 ease-in-out" data-aos="fade-up">
305
+ <div class="px-6 py-5 border-b border-gray-200">
306
+ <h2 class="text-lg font-medium text-gray-900">Recent Activity</h2>
307
+ </div>
308
+ <div class="divide-y divide-gray-200">
309
+ <div class="px-6 py-4">
310
+ <div class="flex items-center">
311
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/1" alt="User avatar">
312
+ <div class="ml-4">
313
+ <p class="text-sm font-medium text-gray-900">Sarah Johnson</p>
314
+ <p class="text-sm text-gray-500">Uploaded a new music track</p>
315
+ </div>
316
+ <div class="ml-auto text-sm text-gray-500">
317
+ <time datetime="2023-05-16">2h ago</time>
318
+ </div>
319
+ </div>
320
+ </div>
321
+ <div class="px-6 py-4">
322
+ <div class="flex items-center">
323
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/2" alt="User avatar">
324
+ <div class="ml-4">
325
+ <p class="text-sm font-medium text-gray-900">Mike Chen</p>
326
+ <p class="text-sm text-gray-500">Published a new video</p>
327
+ </div>
328
+ <div class="ml-auto text-sm text-gray-500">
329
+ <time datetime="2023-05-15">1d ago</time>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ <div class="px-6 py-4">
334
+ <div class="flex items-center">
335
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/3" alt="User avatar">
336
+ <div class="ml-4">
337
+ <p class="text-sm font-medium text-gray-900">Alex Morgan</p>
338
+ <p class="text-sm text-gray-500">Published a new blog post</p>
339
+ </div>
340
+ <div class="ml-auto text-sm text-gray-500">
341
+ <time datetime="2023-05-14">2d ago</time>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ <div class="px-6 py-4">
346
+ <div class="flex items-center">
347
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/4" alt="User avatar">
348
+ <div class="ml-4">
349
+ <p class="text-sm font-medium text-gray-900">Emma Wilson</p>
350
+ <p class="text-sm text-gray-500">Uploaded a new voice over</p>
351
+ </div>
352
+ <div class="ml-auto text-sm text-gray-500">
353
+ <time datetime="2023-05-12">4d ago</time>
354
+ </div>
355
+ </div>
356
+ </div>
357
+ </div>
358
+ <div class="px-6 py-4 text-center">
359
+ <a href="#" class="text-sm font-medium text-indigo-600 hover:text-indigo-500">View all activity</a>
360
+ </div>
361
+ </div>
362
+
363
+ <!-- Storage usage -->
364
+ <div class="bg-white shadow rounded-lg content-card transition-all duration-300 ease-in-out" data-aos="fade-up" data-aos-delay="100">
365
+ <div class="px-6 py-5 border-b border-gray-200">
366
+ <h2 class="text-lg font-medium text-gray-900">Storage Usage</h2>
367
+ </div>
368
+ <div class="px-6 py-4">
369
+ <div class="flex items-center justify-between mb-2">
370
+ <span class="text-sm font-medium text-gray-900">Total Storage</span>
371
+ <span class="text-sm text-gray-500">15.8 GB of 50 GB used</span>
372
+ </div>
373
+ <div class="progress-bar mb-4">
374
+ <div class="progress-bar-fill" style="width: 31.6%"></div>
375
+ </div>
376
+ <div class="space-y-4">
377
+ <div>
378
+ <div class="flex items-center justify-between mb-1">
379
+ <div class="flex items-center">
380
+ <i data-feather="music" class="h-4 w-4 text-indigo-500 mr-2"></i>
381
+ <span class="text-sm font-medium text-gray-900">Music</span>
382
+ </div>
383
+ <span class="text-sm text-gray-500">6.2 GB</span>
384
+ </div>
385
+ <div class="progress-bar">
386
+ <div class="progress-bar-fill bg-indigo-500" style="width: 39.2%"></div>
387
+ </div>
388
+ </div>
389
+ <div>
390
+ <div class="flex items-center justify-between mb-1">
391
+ <div class="flex items-center">
392
+ <i data-feather="film" class="h-4 w-4 text-blue-500 mr-2"></i>
393
+ <span class="text-sm font-medium text-gray-900">Videos</span>
394
+ </div>
395
+ <span class="text-sm text-gray-500">7.5 GB</span>
396
+ </div>
397
+ <div class="progress-bar">
398
+ <div class="progress-bar-fill bg-blue-500" style="width: 47.5%"></div>
399
+ </div>
400
+ </div>
401
+ <div>
402
+ <div class="flex items-center justify-between mb-1">
403
+ <div class="flex items-center">
404
+ <i data-feather="edit-3" class="h-4 w-4 text-green-500 mr-2"></i>
405
+ <span class="text-sm font-medium text-gray-900">Blogs</span>
406
+ </div>
407
+ <span class="text-sm text-gray-500">0.8 GB</span>
408
+ </div>
409
+ <div class="progress-bar">
410
+ <div class="progress-bar-fill bg-green-500" style="width: 5.1%"></div>
411
+ </div>
412
+ </div>
413
+ <div>
414
+ <div class="flex items-center justify-between mb-1">
415
+ <div class="flex items-center">
416
+ <i data-feather="mic" class="h-4 w-4 text-purple-500 mr-2"></i>
417
+ <span class="text-sm font-medium text-gray-900">Voice Overs</span>
418
+ </div>
419
+ <span class="text-sm text-gray-500">1.3 GB</span>
420
+ </div>
421
+ <div class="progress-bar">
422
+ <div class="progress-bar-fill bg-purple-500" style="width: 8.2%"></div>
423
+ </div>
424
+ </div>
425
+ </div>
426
+ </div>
427
+ <div class="px-6 py-4 bg-gray-50 rounded-b-lg">
428
+ <a href="#" class="w-full inline-flex justify-center items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
429
+ Upgrade Storage
430
+ </a>
431
+ </div>
432
+ </div>
433
+ </div>
434
+
435
+ <!-- Recent content -->
436
+ <div class="bg-white shadow rounded-lg overflow-hidden content-card transition-all duration-300 ease-in-out" data-aos="fade-up">
437
+ <div class="px-6 py-5 border-b border-gray-200 flex items-center justify-between">
438
+ <h2 class="text-lg font-medium text-gray-900">Recent Content</h2>
439
+ <a href="#" class="text-sm font-medium text-indigo-600 hover:text-indigo-500">View all</a>
440
+ </div>
441
+ <div class="divide-y divide-gray-200">
442
+ <div class="px-6 py-4">
443
+ <div class="flex items-center">
444
+ <div class="flex-shrink-0 h-10 w-10 rounded-md bg-indigo-100 flex items-center justify-center">
445
+ <i data-feather="music" class="h-5 w-5 text-indigo-600"></i>
446
+ </div>
447
+ <div class="ml-4">
448
+ <p class="text-sm font-medium text-gray-900">Summer Vibes</p>
449
+ <p class="text-sm text-gray-500">Music • Published 2 days ago</p>
450
+ </div>
451
+ <div class="ml-auto flex space-x-2">
452
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
453
+ 1,245 plays
454
+ </span>
455
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800">
456
+ 324 downloads
457
+ </span>
458
+ </div>
459
+ </div>
460
+ </div>
461
+ <div class="px-6 py-4">
462
+ <div class="flex items-center">
463
+ <div class="flex-shrink-0 h-10 w-10 rounded-md bg-blue-100 flex items-center justify-center">
464
+ <i data-feather="film" class="h-5 w-5 text-blue-600"></i>
465
+ </div>
466
+ <div class="ml-4">
467
+ <p class="text-sm font-medium text-gray-900">Tech Review: New Gadgets</p>
468
+ <p class="text-sm text-gray-500">Video • Published 4 days ago</p>
469
+ </div>
470
+ <div class="ml-auto flex space-x-2">
471
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
472
+ 3,456 views
473
+ </span>
474
+ </div>
475
+ </div>
476
+ </div>
477
+ <div class="px-6 py-4">
478
+ <div class="flex items-center">
479
+ <div class="flex-shrink-0 h-10 w-10 rounded-md bg-green-100 flex items-center justify-center">
480
+ <i data-feather="edit-3" class="h-5 w-5 text-green-600"></i>
481
+ </div>
482
+ <div class="ml-4">
483
+ <p class="text-sm font-medium text-gray-900">The Future of Remote Work</p>
484
+ <p class="text-sm text-gray-500">Blog • Published 1 week ago</p>
485
+ </div>
486
+ <div class="ml-auto flex space-x-2">
487
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
488
+ 1,789 reads
489
+ </span>
490
+ </div>
491
+ </div>
492
+ </div>
493
+ <div class="px-6 py-4">
494
+ <div class="flex items-center">
495
+ <div class="flex-shrink-0 h-10 w-10 rounded-md bg-purple-100 flex items-center justify-center">
496
+ <i data-feather="mic" class="h-5 w-5 text-purple-600"></i>
497
+ </div>
498
+ <div class="ml-4">
499
+ <p class="text-sm font-medium text-gray-900">Podcast Intro Voiceover</p>
500
+ <p class="text-sm text-gray-500">Voice Over • Published 2 weeks ago</p>
501
+ </div>
502
+ <div class="ml-auto flex space-x-2">
503
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
504
+ 876 plays
505
+ </span>
506
+ </div>
507
+ </div>
508
+ </div>
509
+ </div>
510
+ </div>
511
+ </main>
512
+ </div>
513
+ </div>
514
+
515
+ <script>
516
+ document.addEventListener('DOMContentLoaded', function() {
517
+ // Initialize AOS
518
+ AOS.init({
519
+ duration: 800,
520
+ easing: 'ease-in-out',
521
+ once: true
522
+ });
523
+
524
+ // Initialize Feather Icons
525
+ feather.replace();
526
+
527
+ // Sidebar toggle
528
+ const sidebarToggle = document.getElementById('sidebar-toggle');
529
+ const sidebar = document.querySelector('.sidebar');
530
+
531
+ sidebarToggle.addEventListener('click', function() {
532
+ sidebar.classList.toggle('collapsed');
533
+ const icon = sidebarToggle.querySelector('i');
534
+ if (sidebar.classList.contains('collapsed')) {
535
+ feather.replace(icon, 'chevron-right');
536
+ } else {
537
+ feather.replace(icon, 'chevron-left');
538
+ }
539
+ });
540
+
541
+ // Mobile menu toggle
542
+ const mobileMenuButton = document.querySelector('[aria-controls="mobile-menu"]');
543
+ const mobileMenu = document.getElementById('mobile-menu');
544
+
545
+ if (mobileMenuButton) {
546
+ mobileMenuButton.addEventListener('click', function() {
547
+ const expanded = this.getAttribute('aria-expanded') === 'true';
548
+ this.setAttribute('aria-expanded', !expanded);
549
+ mobileMenu.classList.toggle('hidden');
550
+ });
551
+ }
552
+
553
+ // Charts
554
+ const engagementCtx = document.getElementById('engagementChart').getContext('2d');
555
+ const engagementChart = new Chart(engagementCtx, {
556
+ type: 'line',
557
+ data: {
558
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
559
+ datasets: [
560
+ {
561
+ label: 'Views',
562
+ data: [4500, 5200, 4800, 5900, 6200, 7000, 7500],
563
+ borderColor: '#6366F1',
564
+ backgroundColor: 'rgba(99, 102, 241, 0.05)',
565
+ tension: 0.3,
566
+ fill: true
567
+ },
568
+ {
569
+ label: 'Plays',
570
+ data: [3200, 3800, 3500, 4200, 4500, 5000, 5300],
571
+ borderColor: '#10B981',
572
+ backgroundColor: 'rgba(16, 185, 129, 0.05)',
573
+ tension: 0.3,
574
+ fill: true
575
+ }
576
+ ]
577
+ },
578
+ options: {
579
+ responsive: true,
580
+ maintainAspectRatio: false,
581
+ plugins: {
582
+ legend: {
583
+ position: 'top',
584
+ }
585
+ },
586
+ scales: {
587
+ y: {
588
+ beginAtZero: true
589
+ }
590
+ }
591
+ }
592
+ });
593
+
594
+ const contentCtx = document.getElementById('contentChart').getContext('2d');
595
+ const contentChart = new Chart(contentCtx, {
596
+ type: 'doughnut',
597
+ data: {
598
+ labels: ['Music', 'Videos', 'Blogs', 'Voice Overs'],
599
+ datasets: [{
600
+ data: [35, 40, 15, 10],
601
+ backgroundColor: [
602
+ '#6366F1',
603
+ '#3B82F6',
604
+ '#10B981',
605
+ '#8B5CF6'
606
+ ],
607
+ borderWidth: 0
608
+ }]
609
+ },
610
+ options: {
611
+ responsive: true,
612
+ maintainAspectRatio: false,
613
+ plugins: {
614
+ legend: {
615
+ position: 'right',
616
+ }
617
+ },
618
+ cutout: '70%'
619
+ }
620
+ });
621
+ });
622
+ </script>
623
+ </body>
624
+ </html>
index.html CHANGED
@@ -1,19 +1,527 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>CrispData - Unified Creator Platform</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
10
+ <script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
12
+ <script src="https://unpkg.com/feather-icons"></script>
13
+ <style>
14
+ .gradient-bg {
15
+ background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
16
+ }
17
+ .wave-shape {
18
+ position: absolute;
19
+ bottom: 0;
20
+ left: 0;
21
+ width: 100%;
22
+ overflow: hidden;
23
+ line-height: 0;
24
+ }
25
+ .wave-shape svg {
26
+ position: relative;
27
+ display: block;
28
+ width: calc(100% + 1.3px);
29
+ height: 150px;
30
+ }
31
+ .wave-shape .shape-fill {
32
+ fill: #FFFFFF;
33
+ }
34
+ .content-card:hover {
35
+ transform: translateY(-5px);
36
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
37
+ }
38
+ .upload-dropzone {
39
+ border: 2px dashed #cbd5e0;
40
+ transition: all 0.3s ease;
41
+ }
42
+ .upload-dropzone.active {
43
+ border-color: #6e8efb;
44
+ background-color: rgba(110, 142, 251, 0.1);
45
+ }
46
+ </style>
47
+ </head>
48
+ <body class="font-sans antialiased text-gray-900">
49
+ <!-- Navigation -->
50
+ <nav class="bg-white shadow-sm">
51
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
52
+ <div class="flex justify-between h-16">
53
+ <div class="flex">
54
+ <div class="flex-shrink-0 flex items-center">
55
+ <i data-feather="layers" class="h-8 w-8 text-indigo-600"></i>
56
+ <span class="ml-2 text-xl font-bold text-gray-900">CrispData</span>
57
+ </div>
58
+ <div class="hidden sm:ml-6 sm:flex sm:space-x-8">
59
+ <a href="#" class="border-indigo-500 text-gray-900 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Dashboard</a>
60
+ <a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Library</a>
61
+ <a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Analytics</a>
62
+ <a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Upload</a>
63
+ </div>
64
+ </div>
65
+ <div class="hidden sm:ml-6 sm:flex sm:items-center">
66
+ <button type="button" class="bg-white p-1 rounded-full text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
67
+ <span class="sr-only">View notifications</span>
68
+ <i data-feather="bell"></i>
69
+ </button>
70
+
71
+ <!-- Profile dropdown -->
72
+ <div class="ml-3 relative">
73
+ <div>
74
+ <button type="button" class="bg-white rounded-full flex text-sm focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" id="user-menu" aria-expanded="false" aria-haspopup="true">
75
+ <span class="sr-only">Open user menu</span>
76
+ <img class="h-8 w-8 rounded-full" src="http://static.photos/people/200x200/42" alt="User profile">
77
+ </button>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ <div class="-mr-2 flex items-center sm:hidden">
82
+ <!-- Mobile menu button -->
83
+ <button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500" aria-controls="mobile-menu" aria-expanded="false">
84
+ <span class="sr-only">Open main menu</span>
85
+ <i data-feather="menu"></i>
86
+ </button>
87
+ </div>
88
+ </div>
89
+ </div>
90
+
91
+ <!-- Mobile menu, show/hide based on menu state. -->
92
+ <div class="sm:hidden hidden" id="mobile-menu">
93
+ <div class="pt-2 pb-3 space-y-1">
94
+ <a href="#" class="bg-indigo-50 border-indigo-500 text-indigo-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Dashboard</a>
95
+ <a href="#" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Library</a>
96
+ <a href="#" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Analytics</a>
97
+ <a href="#" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Upload</a>
98
+ </div>
99
+ <div class="pt-4 pb-3 border-t border-gray-200">
100
+ <div class="flex items-center px-4">
101
+ <div class="flex-shrink-0">
102
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/42" alt="User profile">
103
+ </div>
104
+ <div class="ml-3">
105
+ <div class="text-base font-medium text-gray-800">John Doe</div>
106
+ <div class="text-sm font-medium text-gray-500">[email protected]</div>
107
+ </div>
108
+ <button type="button" class="ml-auto flex-shrink-0 bg-white p-1 rounded-full text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
109
+ <span class="sr-only">View notifications</span>
110
+ <i data-feather="bell"></i>
111
+ </button>
112
+ </div>
113
+ <div class="mt-3 space-y-1">
114
+ <a href="#" class="block px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100">Your Profile</a>
115
+ <a href="#" class="block px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100">Settings</a>
116
+ <a href="#" class="block px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100">Sign out</a>
117
+ </div>
118
+ </div>
119
+ </div>
120
+ </nav>
121
+
122
+ <!-- Hero Section -->
123
+ <div class="gradient-bg relative overflow-hidden">
124
+ <div class="max-w-7xl mx-auto">
125
+ <div class="relative z-10 pb-8 sm:pb-16 md:pb-20 lg:max-w-2xl lg:w-full lg:pb-28 xl:pb-32">
126
+ <div class="pt-10 sm:pt-16 lg:pt-8 lg:pb-14 lg:overflow-hidden">
127
+ <div class="mt-10 mx-auto max-w-7xl px-4 sm:mt-12 sm:px-6 md:mt-16 lg:mt-20 lg:px-8 xl:mt-28">
128
+ <div class="sm:text-center lg:text-left">
129
+ <h1 class="text-4xl tracking-tight font-extrabold text-white sm:text-5xl md:text-6xl">
130
+ <span class="block">Unified Platform for</span>
131
+ <span class="block text-indigo-200">Your Creative Work</span>
132
+ </h1>
133
+ <p class="mt-3 text-base text-indigo-100 sm:mt-5 sm:text-lg sm:max-w-xl sm:mx-auto md:mt-5 md:text-xl lg:mx-0">
134
+ Start creating for just $2/month — get started today.
135
+ </p>
136
+ <div class="mt-5 sm:mt-8 sm:flex sm:justify-center lg:justify-start">
137
+ <div class="rounded-md shadow">
138
+ <a href="#" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10">
139
+ Get Started
140
+ </a>
141
+ </div>
142
+ <div class="mt-3 sm:mt-0 sm:ml-3">
143
+ <a href="#" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-indigo-500 bg-opacity-60 hover:bg-opacity-70 md:py-4 md:text-lg md:px-10">
144
+ Live Demo
145
+ </a>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </div>
153
+ <div class="wave-shape">
154
+ <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none">
155
+ <path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill"></path>
156
+ </svg>
157
+ </div>
158
+ </div>
159
+
160
+ <!-- Features Section -->
161
+ <div class="py-12 bg-white">
162
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
163
+ <div class="lg:text-center">
164
+ <h2 class="text-base text-indigo-600 font-semibold tracking-wide uppercase">Features</h2>
165
+ <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
166
+ Everything you need in one platform
167
+ </p>
168
+ <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto">
169
+ CrispData provides all the tools to manage your creative content efficiently.
170
+ </p>
171
+ </div>
172
+
173
+ <div class="mt-10">
174
+ <div class="space-y-10 md:space-y-0 md:grid md:grid-cols-2 md:gap-x-8 md:gap-y-10">
175
+ <div class="relative" data-aos="fade-up">
176
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
177
+ <i data-feather="music"></i>
178
+ </div>
179
+ <div class="ml-16">
180
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Music Management</h3>
181
+ <p class="mt-2 text-base text-gray-500">
182
+ Upload your tracks, automatically generate multiple formats, and get detailed analytics on plays and downloads.
183
+ </p>
184
+ </div>
185
+ </div>
186
+
187
+ <div class="relative" data-aos="fade-up" data-aos-delay="100">
188
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
189
+ <i data-feather="film"></i>
190
+ </div>
191
+ <div class="ml-16">
192
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Video Processing</h3>
193
+ <p class="mt-2 text-base text-gray-500">
194
+ Automatic transcoding to multiple resolutions, thumbnail generation, and adaptive streaming for optimal playback.
195
+ </p>
196
+ </div>
197
+ </div>
198
+
199
+ <div class="relative" data-aos="fade-up" data-aos-delay="200">
200
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
201
+ <i data-feather="edit"></i>
202
+ </div>
203
+ <div class="ml-16">
204
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Blog Publishing</h3>
205
+ <p class="mt-2 text-base text-gray-500">
206
+ Rich text editor with markdown support, SEO optimization, and scheduling for your articles.
207
+ </p>
208
+ </div>
209
+ </div>
210
+
211
+ <div class="relative" data-aos="fade-up" data-aos-delay="300">
212
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
213
+ <i data-feather="mic"></i>
214
+ </div>
215
+ <div class="ml-16">
216
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Voice Overs</h3>
217
+ <p class="mt-2 text-base text-gray-500">
218
+ Upload and manage your voice recordings with waveform visualization and clarity optimization.
219
+ </p>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ </div>
226
+
227
+ <!-- Content Showcase -->
228
+ <div class="bg-gray-50 py-12">
229
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
230
+ <div class="text-center">
231
+ <h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl">
232
+ Recent Content
233
+ </h2>
234
+ <p class="mt-3 max-w-2xl mx-auto text-xl text-gray-500 sm:mt-4">
235
+ Explore some of the latest content from our creators
236
+ </p>
237
+ </div>
238
+
239
+ <div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-3 lg:max-w-none">
240
+ <!-- Music Card -->
241
+ <div class="flex flex-col rounded-lg shadow-lg overflow-hidden content-card transition-all duration-300 ease-in-out" data-aos="fade-up">
242
+ <div class="flex-shrink-0 relative">
243
+ <img class="h-48 w-full object-cover" src="http://static.photos/music/640x360/1" alt="Music cover">
244
+ <div class="absolute inset-0 bg-indigo-600 bg-opacity-75 flex items-center justify-center opacity-0 hover:opacity-100 transition-opacity duration-300">
245
+ <button class="bg-white rounded-full p-3 text-indigo-600 hover:bg-indigo-50">
246
+ <i data-feather="play" class="h-6 w-6"></i>
247
+ </button>
248
+ </div>
249
+ </div>
250
+ <div class="flex-1 bg-white p-6 flex flex-col justify-between">
251
+ <div class="flex-1">
252
+ <p class="text-sm font-medium text-indigo-600">
253
+ <span class="inline-flex items-center">
254
+ <i data-feather="music" class="h-4 w-4 mr-1"></i>
255
+ Music
256
+ </span>
257
+ </p>
258
+ <a href="#" class="block mt-2">
259
+ <h3 class="text-xl font-semibold text-gray-900">Summer Vibes</h3>
260
+ <p class="mt-3 text-base text-gray-500">A chill summer track perfect for sunny days and beach parties.</p>
261
+ </a>
262
+ </div>
263
+ <div class="mt-6 flex items-center">
264
+ <div class="flex-shrink-0">
265
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/2" alt="Creator avatar">
266
+ </div>
267
+ <div class="ml-3">
268
+ <p class="text-sm font-medium text-gray-900">
269
+ <a href="#" class="hover:underline">Sarah Johnson</a>
270
+ </p>
271
+ <div class="flex space-x-1 text-sm text-gray-500">
272
+ <time datetime="2023-05-16">May 16, 2023</time>
273
+ <span aria-hidden="true">&middot;</span>
274
+ <span> 3:45 min</span>
275
+ </div>
276
+ </div>
277
+ </div>
278
+ </div>
279
+ </div>
280
+
281
+ <!-- Video Card -->
282
+ <div class="flex flex-col rounded-lg shadow-lg overflow-hidden content-card transition-all duration-300 ease-in-out" data-aos="fade-up" data-aos-delay="100">
283
+ <div class="flex-shrink-0 relative">
284
+ <img class="h-48 w-full object-cover" src="http://static.photos/technology/640x360/2" alt="Video thumbnail">
285
+ <div class="absolute inset-0 bg-indigo-600 bg-opacity-75 flex items-center justify-center opacity-0 hover:opacity-100 transition-opacity duration-300">
286
+ <button class="bg-white rounded-full p-3 text-indigo-600 hover:bg-indigo-50">
287
+ <i data-feather="play" class="h-6 w-6"></i>
288
+ </button>
289
+ </div>
290
+ </div>
291
+ <div class="flex-1 bg-white p-6 flex flex-col justify-between">
292
+ <div class="flex-1">
293
+ <p class="text-sm font-medium text-indigo-600">
294
+ <span class="inline-flex items-center">
295
+ <i data-feather="film" class="h-4 w-4 mr-1"></i>
296
+ Video
297
+ </span>
298
+ </p>
299
+ <a href="#" class="block mt-2">
300
+ <h3 class="text-xl font-semibold text-gray-900">Tech Review: New Gadgets</h3>
301
+ <p class="mt-3 text-base text-gray-500">An in-depth look at the latest tech gadgets hitting the market this season.</p>
302
+ </a>
303
+ </div>
304
+ <div class="mt-6 flex items-center">
305
+ <div class="flex-shrink-0">
306
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/3" alt="Creator avatar">
307
+ </div>
308
+ <div class="ml-3">
309
+ <p class="text-sm font-medium text-gray-900">
310
+ <a href="#" class="hover:underline">Mike Chen</a>
311
+ </p>
312
+ <div class="flex space-x-1 text-sm text-gray-500">
313
+ <time datetime="2023-05-14">May 14, 2023</time>
314
+ <span aria-hidden="true">&middot;</span>
315
+ <span> 12:30 min</span>
316
+ </div>
317
+ </div>
318
+ </div>
319
+ </div>
320
+ </div>
321
+
322
+ <!-- Blog Card -->
323
+ <div class="flex flex-col rounded-lg shadow-lg overflow-hidden content-card transition-all duration-300 ease-in-out" data-aos="fade-up" data-aos-delay="200">
324
+ <div class="flex-shrink-0">
325
+ <img class="h-48 w-full object-cover" src="http://static.photos/workspace/640x360/3" alt="Blog cover">
326
+ </div>
327
+ <div class="flex-1 bg-white p-6 flex flex-col justify-between">
328
+ <div class="flex-1">
329
+ <p class="text-sm font-medium text-indigo-600">
330
+ <span class="inline-flex items-center">
331
+ <i data-feather="edit-3" class="h-4 w-4 mr-1"></i>
332
+ Blog
333
+ </span>
334
+ </p>
335
+ <a href="#" class="block mt-2">
336
+ <h3 class="text-xl font-semibold text-gray-900">The Future of Remote Work</h3>
337
+ <p class="mt-3 text-base text-gray-500">Exploring how remote work is evolving and what tools are shaping its future.</p>
338
+ </a>
339
+ </div>
340
+ <div class="mt-6 flex items-center">
341
+ <div class="flex-shrink-0">
342
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/4" alt="Creator avatar">
343
+ </div>
344
+ <div class="ml-3">
345
+ <p class="text-sm font-medium text-gray-900">
346
+ <a href="#" class="hover:underline">Alex Morgan</a>
347
+ </p>
348
+ <div class="flex space-x-1 text-sm text-gray-500">
349
+ <time datetime="2023-05-10">May 10, 2023</time>
350
+ <span aria-hidden="true">&middot;</span>
351
+ <span> 5 min read</span>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ </div>
356
+ </div>
357
+ </div>
358
+
359
+ <div class="mt-12 text-center">
360
+ <a href="#" class="inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700">
361
+ Explore All Content
362
+ <i data-feather="arrow-right" class="ml-2 h-4 w-4"></i>
363
+ </a>
364
+ </div>
365
+ </div>
366
+ </div>
367
+
368
+ <!-- CTA Section -->
369
+ <div class="bg-white">
370
+ <div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8 lg:flex lg:items-center lg:justify-between">
371
+ <h2 class="text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl">
372
+ <span class="block">Ready to dive in?</span>
373
+ <span class="block text-indigo-600">Start your free trial today.</span>
374
+ </h2>
375
+ <div class="mt-8 flex lg:mt-0 lg:flex-shrink-0">
376
+ <div class="inline-flex rounded-md shadow">
377
+ <a href="#" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700">
378
+ Get started
379
+ </a>
380
+ </div>
381
+ <div class="ml-3 inline-flex rounded-md shadow">
382
+ <a href="#" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-indigo-50">
383
+ Learn more
384
+ </a>
385
+ </div>
386
+ </div>
387
+ </div>
388
+ </div>
389
+
390
+ <!-- Footer -->
391
+ <footer class="bg-gray-800">
392
+ <div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8">
393
+ <div class="xl:grid xl:grid-cols-3 xl:gap-8">
394
+ <div class="space-y-8 xl:col-span-1">
395
+ <div class="flex items-center">
396
+ <i data-feather="layers" class="h-8 w-8 text-indigo-400"></i>
397
+ <span class="ml-2 text-xl font-bold text-white">CrispData</span>
398
+ </div>
399
+ <p class="text-gray-300 text-base">
400
+ The unified platform for creators to manage and publish all their content in one place.
401
+ </p>
402
+ <div class="flex space-x-6">
403
+ <a href="#" class="text-gray-400 hover:text-white">
404
+ <i data-feather="twitter"></i>
405
+ </a>
406
+ <a href="#" class="text-gray-400 hover:text-white">
407
+ <i data-feather="facebook"></i>
408
+ </a>
409
+ <a href="#" class="text-gray-400 hover:text-white">
410
+ <i data-feather="instagram"></i>
411
+ </a>
412
+ <a href="#" class="text-gray-400 hover:text-white">
413
+ <i data-feather="linkedin"></i>
414
+ </a>
415
+ <a href="#" class="text-gray-400 hover:text-white">
416
+ <i data-feather="youtube"></i>
417
+ </a>
418
+ </div>
419
+ </div>
420
+ <div class="mt-12 grid grid-cols-2 gap-8 xl:mt-0 xl:col-span-2">
421
+ <div class="md:grid md:grid-cols-2 md:gap-8">
422
+ <div>
423
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Solutions</h3>
424
+ <ul class="mt-4 space-y-4">
425
+ <li>
426
+ <a href="#" class="text-base text-gray-400 hover:text-white">Music Creators</a>
427
+ </li>
428
+ <li>
429
+ <a href="#" class="text-base text-gray-400 hover:text-white">Video Producers</a>
430
+ </li>
431
+ <li>
432
+ <a href="#" class="text-base text-gray-400 hover:text-white">Blog Writers</a>
433
+ </li>
434
+ <li>
435
+ <a href="#" class="text-base text-gray-400 hover:text-white">Voice Actors</a>
436
+ </li>
437
+ </ul>
438
+ </div>
439
+ <div class="mt-12 md:mt-0">
440
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Support</h3>
441
+ <ul class="mt-4 space-y-4">
442
+ <li>
443
+ <a href="#" class="text-base text-gray-400 hover:text-white">Pricing</a>
444
+ </li>
445
+ <li>
446
+ <a href="#" class="text-base text-gray-400 hover:text-white">Documentation</a>
447
+ </li>
448
+ <li>
449
+ <a href="#" class="text-base text-gray-400 hover:text-white">Guides</a>
450
+ </li>
451
+ <li>
452
+ <a href="#" class="text-base text-gray-400 hover:text-white">API Status</a>
453
+ </li>
454
+ </ul>
455
+ </div>
456
+ </div>
457
+ <div class="md:grid md:grid-cols-2 md:gap-8">
458
+ <div>
459
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Company</h3>
460
+ <ul class="mt-4 space-y-4">
461
+ <li>
462
+ <a href="#" class="text-base text-gray-400 hover:text-white">About</a>
463
+ </li>
464
+ <li>
465
+ <a href="#" class="text-base text-gray-400 hover:text-white">Blog</a>
466
+ </li>
467
+ <li>
468
+ <a href="#" class="text-base text-gray-400 hover:text-white">Jobs</a>
469
+ </li>
470
+ <li>
471
+ <a href="#" class="text-base text-gray-400 hover:text-white">Press</a>
472
+ </li>
473
+ </ul>
474
+ </div>
475
+ <div class="mt-12 md:mt-0">
476
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Legal</h3>
477
+ <ul class="mt-4 space-y-4">
478
+ <li>
479
+ <a href="#" class="text-base text-gray-400 hover:text-white">Privacy</a>
480
+ </li>
481
+ <li>
482
+ <a href="#" class="text-base text-gray-400 hover:text-white">Terms</a>
483
+ </li>
484
+ <li>
485
+ <a href="#" class="text-base text-gray-400 hover:text-white">Cookie Policy</a>
486
+ </li>
487
+ <li>
488
+ <a href="#" class="text-base text-gray-400 hover:text-white">GDPR</a>
489
+ </li>
490
+ </ul>
491
+ </div>
492
+ </div>
493
+ </div>
494
+ </div>
495
+ <div class="mt-12 border-t border-gray-700 pt-8">
496
+ <p class="text-base text-gray-400 text-center">
497
+ &copy; 2023 CrispData, Inc. All rights reserved.
498
+ </p>
499
+ </div>
500
+ </div>
501
+ </footer>
502
+
503
+ <script>
504
+ // Mobile menu toggle
505
+ document.addEventListener('DOMContentLoaded', function() {
506
+ const mobileMenuButton = document.querySelector('[aria-controls="mobile-menu"]');
507
+ const mobileMenu = document.getElementById('mobile-menu');
508
+
509
+ mobileMenuButton.addEventListener('click', function() {
510
+ const expanded = this.getAttribute('aria-expanded') === 'true';
511
+ this.setAttribute('aria-expanded', !expanded);
512
+ mobileMenu.classList.toggle('hidden');
513
+ });
514
+
515
+ // Initialize AOS
516
+ AOS.init({
517
+ duration: 800,
518
+ easing: 'ease-in-out',
519
+ once: true
520
+ });
521
+
522
+ // Initialize Feather Icons
523
+ feather.replace();
524
+ });
525
+ </script>
526
+ </body>
527
  </html>
pricing.html ADDED
@@ -0,0 +1,559 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Pricing | CrispData</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
10
+ <script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
12
+ <script src="https://unpkg.com/feather-icons"></script>
13
+ <style>
14
+ .gradient-bg {
15
+ background: linear-gradient(135deg, #6e8efb 0%, #a777e3 100%);
16
+ }
17
+ .wave-shape {
18
+ position: absolute;
19
+ bottom: 0;
20
+ left: 0;
21
+ width: 100%;
22
+ overflow: hidden;
23
+ line-height: 0;
24
+ }
25
+ .wave-shape svg {
26
+ position: relative;
27
+ display: block;
28
+ width: calc(100% + 1.3px);
29
+ height: 150px;
30
+ }
31
+ .wave-shape .shape-fill {
32
+ fill: #FFFFFF;
33
+ }
34
+ .pricing-card {
35
+ transition: all 0.3s ease;
36
+ }
37
+ .pricing-card:hover {
38
+ transform: translateY(-5px);
39
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
40
+ }
41
+ .pricing-card.popular {
42
+ border: 2px solid #6366f1;
43
+ position: relative;
44
+ }
45
+ .popular-badge {
46
+ position: absolute;
47
+ top: -12px;
48
+ right: 20px;
49
+ background: #6366f1;
50
+ color: white;
51
+ padding: 4px 12px;
52
+ border-radius: 20px;
53
+ font-size: 0.75rem;
54
+ font-weight: 600;
55
+ }
56
+ </style>
57
+ </head>
58
+ <body class="font-sans antialiased text-gray-900">
59
+ <!-- Navigation -->
60
+ <nav class="bg-white shadow-sm">
61
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
62
+ <div class="flex justify-between h-16">
63
+ <div class="flex">
64
+ <div class="flex-shrink-0 flex items-center">
65
+ <i data-feather="layers" class="h-极 w-8 text-indigo-600"></i>
66
+ <span class="ml-2 text-xl font-bold text-gray-900">CrispData</span>
67
+ </div>
68
+ <div class="hidden sm:ml-6 sm:flex sm:space-x-8">
69
+ <a href="index.html" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Home</a>
70
+ <a href="dashboard.html" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Dashboard</a>
71
+ <a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Library</a>
72
+ <a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Analytics</a>
73
+ <a href="#" class="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Upload</a>
74
+ <a href="pricing.html" class="border-indigo-500 text-gray-900 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Pricing</a>
75
+ </div>
76
+ </div>
77
+ <div class="hidden sm:ml-6 sm:flex sm:items-center">
78
+ <button type="button" class="bg-white p-1 rounded-full text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
79
+ <span class="sr-only">View notifications</span>
80
+ <i data-feather="bell"></i>
81
+ </button>
82
+
83
+ <!-- Profile dropdown -->
84
+ <div class="ml-3 relative">
85
+ <div>
86
+ <button type="button" class="bg-white rounded-full flex text-sm focus极outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" id="user-menu" aria-expanded="false" aria-haspopup="true">
87
+ <span class="sr-only">Open user menu</span>
88
+ <img class="h-8 w-8 rounded-full" src="http://static.photos/people/200x200/42" alt="User profile">
89
+ </button>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ <div class="-mr-2 flex items-center sm:hidden">
94
+ <!-- Mobile menu button -->
95
+ <button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500" aria-controls="mobile-menu" aria-expanded="false">
96
+ <span class="sr-only">Open main menu</span>
97
+ <i data-feather="menu"></i>
98
+ </button>
99
+ </div>
100
+ </div>
101
+ </div>
102
+
103
+ <!-- Mobile menu, show/hide based on menu state. -->
104
+ <div class="sm:hidden hidden" id="mobile-menu">
105
+ <div class="pt-2 pb-3 space-y-1">
106
+ <a href="index.html" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Home</a>
107
+ <a href="dashboard.html" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Dashboard</a>
108
+ <a href="#" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Library</a>
109
+ <a href="#" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Analytics</极>
110
+ <a href="#" class="border-transparent text-gray-500 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Upload</a>
111
+ <a href="pricing.html" class="bg-indigo-50 border-indigo-500 text-indigo-700 block pl-3 pr-4 py-2 border-l-4 text-base font-medium">Pricing</a>
112
+ </div>
113
+ <div class="pt-4 pb-3 border-t border-gray-200">
114
+ <div class="flex items-center px-4">
115
+ <div class="极s-shrink-0">
116
+ <img class="h-10 w-10 rounded-full" src="http://static.photos/people/200x200/42" alt="User profile">
117
+ </div>
118
+ <div class="ml-3">
119
+ <div class="text-base font-medium text-gray-800">John Doe</div>
120
+ <div class="text-sm font-medium text-gray-500">[email protected]</div>
121
+ </div>
122
+ <button type="button" class="ml-auto flex-shrink-0 bg-white p-1 rounded-full text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
123
+ <span class="sr-only">View notifications</span>
124
+ <i data-feather="bell"></极>
125
+ </button>
126
+ </div>
127
+ <div class="mt-3 space-y-1">
128
+ <a href="#" class="block px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100">Your Profile</a>
129
+ <a href="#" class="block px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100">Settings</a>
130
+ <a href="#" class="block px-4 py-2 text-base font-medium text-gray-500 hover:text-gray-800 hover:bg-gray-100">Sign out</a>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </nav>
135
+
136
+ <!-- Hero Section -->
137
+ <div class="gradient-bg relative overflow-hidden">
138
+ <div class="max-w-7xl mx-auto">
139
+ <div class="relative z-10 pb-8 sm:pb-16 md:pb-20 lg:max-w-2xl lg:w-full lg:pb-28 xl:pb-32">
140
+ <div class="pt-10 sm:pt-16 lg:pt-8 lg:pb-14 lg:overflow-hidden">
141
+ <div class="mt-10 mx-auto max-w-7xl px-4 sm:mt-12 sm:px-6 md:mt-16 lg:mt-20 lg:px-8 xl:mt-28">
142
+ <div class="sm:text-center lg:text-left">
143
+ <h1 class="text-4xl tracking-tight font-extrabold text-white sm:text-5xl md:text-6xl">
144
+ <span class="block">Simple, Transparent</span>
145
+ <span class="block text-indigo-200">Pricing</span>
146
+ </h1>
147
+ <p class="mt-3 text-base text-indigo-100 sm:mt-5 sm:text-lg sm:max-w-xl sm:mx-auto md:mt-5 md:text-xl lg:mx-0">
148
+ Start your creative journey for as low as <strong>$2/month</strong>. No hidden fees. Upgrade anytime.
149
+ </p>
150
+ </div>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ <div class="wave-shape">
156
+ <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none">
157
+ <path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66极2.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.极9,56.44Z" class="shape-fill"></path>
158
+ </svg>
159
+ </div>
160
+ </div>
161
+
162
+ <!-- Pricing Section -->
163
+ <div class="py-12 bg-gray-50">
164
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
165
+ <div class="text-center">
166
+ <h2 class="text-3xl font-extrabold text-gray-900 sm:text-4xl">
167
+ Choose Your Plan
168
+ </h2>
169
+ <p class="mt-4 text-xl text-gray-600">
170
+ All plans include our core features. Upgrade or downgrade anytime.
171
+ </p>
172
+ </div>
173
+
174
+ <div class="mt-16 space-y-12 lg:space-y-0 lg:grid lg:grid-cols-3 lg:gap-x-8">
175
+ <!-- Starter Plan -->
176
+ <div class="pricing-card relative p-8 bg-white rounded-2xl shadow-sm border border-gray-200" data-aos="fade-up">
177
+ <div class="flex-1">
178
+ <h3 class="text-xl font-semibold text-gray-900">Starter</h3>
179
+ <p class="mt-4 flex items-baseline text-gray-900">
180
+ <span class="text-5xl font-extrabold tracking-tight">$2</span>
181
+ <span class="ml-1 text-xl font-semibold">/month</span>
182
+ </p>
183
+ <p class="mt-6 text-gray-500">Perfect for beginners exploring content publishing.</p>
184
+
185
+ <!-- Features list -->
186
+ <ul class="mt-6 space-y-4">
187
+ <li class="flex items-center">
188
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
189
+ <span class="ml-3 text-gray-500">Upload up to 20 items</span>
190
+ </li>
191
+ <li class="flex items-center">
192
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
193
+ <span class="ml-3 text-gray-500">Basic analytics (views, plays, reads)</span>
194
+ </li>
195
+ <li class="flex items-center">
196
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
197
+ <span class="ml-3 text-gray-500">Community support</span>
198
+ </li>
199
+ </ul>
200
+ </div>
201
+
202
+ <div class="mt-8">
203
+ <button onclick="handleSubscribe('starter')" class="w-full bg-indigo-600 border border-transparent rounded-md py-2 px-6 flex items-center justify-center text-base font-medium text-white hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
204
+ Subscribe Now
205
+ </button>
206
+ </div>
207
+ </div>
208
+
209
+ <!-- Pro Plan (Popular) -->
210
+ <div class="pricing-card popular relative p-8 bg-white rounded-2xl shadow-lg border-2 border-indigo-500" data-aos="fade-up" data-aos-delay="100">
211
+ <div class="popular-badge">MOST POPULAR</div>
212
+ <div class="flex-1">
213
+ <h3 class="text-xl font-semibold text-gray-900">Pro</h3>
214
+ <p class="mt-4 flex items-baseline text-gray-900">
215
+ <span class="text-5xl font-extrabold tracking-tight">$3</span>
216
+ <span class="ml-1 text-xl font-semibold">/month</span>
217
+ </p>
218
+ <p class="mt-6 text-gray-500">For active creators who want more freedom.</p>
219
+
220
+ <!-- Features list -->
221
+ <ul class="mt-6 space-y-4">
222
+ <li class="flex items-center">
223
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
224
+ <span class="ml-3 text-gray-500">Unlimited uploads</span>
225
+ </li>
226
+ <li class="flex items-center">
227
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
228
+ <span class="ml-3 text-gray-500">Advanced analytics dashboard</span>
229
+ </li>
230
+ <li class="flex items-center">
231
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
232
+ <span class="ml-3 text-gray-500">Priority processing</span>
233
+ </li>
234
+ <li class="flex items-center">
235
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
236
+ <span class="ml-3 text-gray-500">Email support</span>
237
+ </li>
238
+ </ul>
239
+ </div>
240
+
241
+ <div class="mt-8">
242
+ <button onclick="handleSubscribe('creator_plus')" class="w-full bg-indigo-600 border border-transparent rounded-md py-2 px-6 flex items-center justify-center text-base font-medium text-white hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
243
+ Subscribe Now
244
+ </button>
245
+ </div>
246
+ </div>
247
+
248
+ <!-- Creator Plus Plan -->
249
+ <div class="pricing-card relative p-8 bg-white rounded-2xl shadow-sm border border-gray-200" data-aos="fade-up" data-aos-delay="200">
250
+ <div class="flex-1">
251
+ <h3 class="text-xl font-semibold text-gray-900">Creator Plus</h3>
252
+ <p class="mt-4 flex items-baseline text-gray-900">
253
+ <span class="text-5xl font-extrabold tracking-tight">$5</span>
254
+ <span class="ml-1 text-xl font-semibold">/month</span>
255
+ </p>
256
+ <p class="mt-6 text-gray-500">For professionals who want everything unlocked.</p>
257
+
258
+ <!-- Features list -->
259
+ <ul class="mt-6 space-y-4">
260
+ <li class="flex items-center">
261
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
262
+ <span class="ml-3 text-gray-500">Unlimited uploads & storage</span>
263
+ </li>
264
+ <li class="flex items-center">
265
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
266
+ <span class="ml-3 text-gray-500">Custom branding</span>
267
+ </li>
268
+ <li class="flex items-center">
269
+ <i data-feather="check" class="h-5 w-5 text-green-500"></i>
270
+ <span class="ml-3 text-gray-500">Team collaboration</span>
271
+ </li>
272
+ <li class="flex items-center">
273
+ <i data-feather="check" class="h-5 w-5 text-green-500"></极>
274
+ <span class="ml-3 text-gray-500">Premium support & early features</span>
275
+ </li>
276
+ </ul>
277
+ </div>
278
+
279
+ <div class="mt-8">
280
+ <button class="w-full bg-indigo-600 border border-transparent rounded-md py-2 px-6 flex items-center justify-center text-base font-medium text-white hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
281
+ Subscribe Now
282
+ </button>
283
+ </div>
284
+ </div>
285
+ </div>
286
+ </div>
287
+ </div>
288
+
289
+ <!-- Subscription Management Section -->
290
+ <div class="py-12 bg-white">
291
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
292
+ <div class="lg:text-center">
293
+ <h2 class="text-base text-indigo-600 font-semibold tracking-wide uppercase">Subscription Management</h2>
294
+ <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
295
+ Easy and Flexible
296
+ </p>
297
+ <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto">
298
+ Complete control over your subscription with secure payment processing.
299
+ </p>
300
+ </div>
301
+
302
+ <div class="mt-10">
303
+ <div class="space-y-10 md:space-y-0 md:grid md:grid-cols-2 md:gap-x-8 md:gap-y-10">
304
+ <div class="relative" data-aos="fade-up">
305
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
306
+ <i data-feather="credit-card"></i>
307
+ </div>
308
+ <div class="ml-16">
309
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Secure Payments</h3>
310
+ <p class="mt-2 text-base text-gray-500">
311
+ Payments handled securely via Stripe Checkout. Your financial information is never stored on our servers.
312
+ </p>
313
+ </div>
314
+ </div>
315
+
316
+ <div class="relative" data-aos="fade-up" data-aos-delay="100">
317
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
318
+ <i data-feather="refresh-cw"></i>
319
+ </div>
320
+ <div class="ml-16">
321
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Flexible Upgrades</h3>
322
+ <p class="mt-2 text-base text-gray-500">
323
+ Upgrade or downgrade your plan anytime. Changes take effect immediately with pro-rated billing.
324
+ </p>
325
+ </div>
326
+ </div>
327
+
328
+ <div class="relative" data-aos="fade-up" data-aos-delay="200">
329
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
330
+ <i data-feather="user"></i>
331
+ </div>
332
+ <div class="ml-16">
333
+ <h3 class="text-lg leading-6 font-medium text-gray-900">Subscription Dashboard</h3>
334
+ <p class="mt-2 text-base text-gray-500">
335
+ Manage your subscription, view billing history, and cancel anytime from your profile settings.
336
+ </p>
337
+ </div>
338
+ </div>
339
+
340
+ <div class="relative" data-aos="fade-up" data-aos-delay="300">
341
+ <div class="absolute flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white">
342
+ <i data-feather="help-circle"></i>
343
+ </div>
344
+ <div class="ml-16">
345
+ <h3 class="text-lg leading-6 font-medium text-gray-900">No Hidden Fees</h3>
346
+ <p class="mt-2 text-base text-gray-500">
347
+ Transparent pricing with no surprise charges. Cancel anytime with no cancellation fees.
348
+ </p>
349
+ </div>
350
+ </div>
351
+ </div>
352
+ </div>
353
+ </div>
354
+ </div>
355
+
356
+ <!-- CTA Section -->
357
+ <div class="bg-gray-50">
358
+ <div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8 lg:flex lg:items-center lg:justify-between">
359
+ <h2 class="text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl">
360
+ <span class="block">Ready to get started?</span>
361
+ <span class="block text-indigo-600">Choose your plan and start creating today.</span>
362
+ </h2>
363
+ <div class="mt-8 flex lg:mt-0 lg:flex-shrink-0">
364
+ <div class="inline-flex rounded-md shadow">
365
+ <button onclick="handleViewPlans()" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700">
366
+ View Plans
367
+ </button>
368
+ </div>
369
+ <div class="ml-3 inline-flex rounded-md shadow">
370
+ <button onclick="handleContactSales()" class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-indigo-50">
371
+ Contact Sales
372
+ </button>
373
+ </div>
374
+ </div>
375
+ </极div>
376
+ </div>
377
+
378
+ <!-- Footer -->
379
+ <footer class="bg-gray-800">
380
+ <div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8">
381
+ <div class="xl:grid xl:grid-cols-3 xl:gap-8">
382
+ <div class="space-y-8 xl:col-span-1">
383
+ <div class="flex items-center">
384
+ <i data-feather="layers" class="h-8 w-8 text-indigo-400"></i>
385
+ <span class="ml-2 text-xl font-bold text-white">CrispData</span>
386
+ </div>
387
+ <p class="text-gray-300 text-base">
388
+ The unified platform for creators to manage and publish all their content in one place.
389
+ </p>
390
+ <div class="flex space-x-6">
391
+ <a href="#" class="text-gray-400 hover:text-white">
392
+ <i data-feather="twitter"></i>
393
+ </a>
394
+ <a href="#" class="text-gray-400 hover:text-white">
395
+ <i data-feather="facebook"></i>
396
+ </a>
397
+ <a href="#" class="text-gray-400 hover:text-white">
398
+ <i data-feather="instagram"></i>
399
+ </a>
400
+ <a href="#" class="text-gray-400 hover:text-white">
401
+ <i data-feather="linkedin"></i>
402
+ </a>
403
+ <a href="#" class="text-gray-400 hover:text-white">
404
+ <i data-feather="youtube"></i>
405
+ </a>
406
+ </div>
407
+ </div>
408
+ <div class="mt-12 grid grid-cols-2 gap-8 xl:mt-0 xl:col-span-2">
409
+ <div class="md:grid md:grid-cols-2 md:gap-8">
410
+ <div>
411
+ <h3 class="text-sm font-semib极 text-gray-300 tracking-wider uppercase">Solutions</h3>
412
+ <ul class="mt-4 space-y-4">
413
+ <li>
414
+ <a href="#" class="text-base text-gray-400 hover:text-white">Music Creators</a>
415
+ </li>
416
+ <li>
417
+ <a href="#" class="text-base text-gray-400 hover:text-white">Video Producers</a>
418
+ </li>
419
+ <li>
420
+ <a href="#" class="text-base text-gray-400 hover:text-white">Blog Writers</a>
421
+ </li>
422
+ <li>
423
+ <a href="#" class="text-base text-gray-400 hover:text-white">Voice Actors</a>
424
+ </li>
425
+ </ul>
426
+ </div>
427
+ <div class="mt-12 md:mt-0">
428
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Support</h3>
429
+ <ul class="mt-4 space-y-4">
430
+ <li>
431
+ <a href="pricing.html" class="text-base text-gray-400 hover:text-white">Pricing</a>
432
+ </li>
433
+ <li>
434
+ <a href="#" class="text-base text-gray-400 hover:text-white">Documentation</a>
435
+ </li>
436
+ <li>
437
+ <a href="#" class="text-base text-gray-400 hover:text-white">Guides</a>
438
+ </极>
439
+ <li>
440
+ <a href="#" class="text-base text-gray-400 hover:text-white">API Status</a>
441
+ </li>
442
+ </ul>
443
+ </div>
444
+ </div>
445
+ <div class="md:grid md:极rid-cols-2 md:gap-8">
446
+ <div>
447
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Company</h3>
448
+ <ul class="mt-4 space-y-4">
449
+ <li>
450
+ <a href="#" class="text-base text-gray-400 hover:text-white">About</a>
451
+ </li>
452
+ <li>
453
+ <a href="#" class="text-base text-gray-400 hover:text-white">Blog</a>
454
+ </li>
455
+ <li>
456
+ <a href="#" class="text-base text-gray-400 hover:text-white">Jobs</a>
457
+ </li>
458
+ <li>
459
+ <a href="#" class="text-base text-gray-极0 hover:text-white">Press</a>
460
+ </li>
461
+ </ul>
462
+ </div>
463
+ <div class="mt-12 md:mt-0">
464
+ <h3 class="text-sm font-semibold text-gray-300 tracking-wider uppercase">Legal</h3>
465
+ <ul class="mt-4 space-y-4">
466
+ <li>
467
+ <a href="#" class="text-base text-gray-400 hover:text-white">Privacy</a>
468
+ </li>
469
+ <li>
470
+ <a href="#" class="text-base text-gray-400 hover:text-white">Terms</a>
471
+ </li>
472
+ <li>
473
+ <a href="#" class="text-base text-gray-400 hover:text-white">Cookie Policy</a>
474
+ </li>
475
+ <li>
476
+ <a href="#" class="text-base text-gray-400 hover:text-white">GDPR</a>
477
+ </li>
478
+ </ul>
479
+ </div>
480
+ </div>
481
+ </div>
482
+ </div>
483
+ <div class="mt-12 border-t border-gray-700 pt-8">
484
+ <p class="text-base text-gray-400 text-center">
485
+ &copy; 2023 CrispData, Inc. All rights reserved.
486
+ </p>
487
+ </div>
488
+ </div>
489
+ </footer>
490
+
491
+ <script>
492
+ document.addEventListener('DOMContentLoaded', function() {
493
+ // Mobile menu toggle
494
+ const mobileMenuButton = document.querySelector('[aria-controls="mobile-menu"]');
495
+ const mobileMenu = document.getElementById('mobile-menu');
496
+
497
+ if (mobileMenuButton && mobileMenu) {
498
+ mobileMenuButton.addEventListener('click', function() {
499
+ const expanded = this.getAttribute('aria-expanded') === 'true';
500
+ this.setAttribute('aria-expanded', !expanded);
501
+ mobileMenu.classList.toggle('hidden');
502
+ });
503
+ }
504
+
505
+ // Initialize AOS
506
+ AOS.init({
507
+ duration: 800,
508
+ easing: 'ease-in-out',
509
+ once: true
510
+ });
511
+
512
+ // Initialize Feather Icons
513
+ feather.replace();
514
+ });
515
+
516
+ let loading = false;
517
+
518
+ async function handleSubscribe(plan) {
519
+ if (loading) return;
520
+
521
+ loading = true;
522
+ const buttons = document.querySelectorAll('button');
523
+ buttons.forEach(btn => {
524
+ if (btn.textContent.includes('Subscribe')) {
525
+ btn.disabled = true;
526
+ btn.innerHTML = 'Processing...';
527
+ }
528
+ });
529
+
530
+ try {
531
+ // Simulate API call
532
+ await new Promise(resolve => setTimeout(resolve, 2000));
533
+
534
+ // Redirect to checkout
535
+ window.location.href = `/checkout.html?plan=${plan}`;
536
+ } catch (error) {
537
+ console.error('Subscription error:', error);
538
+ alert('Something went wrong. Please try again.');
539
+ buttons.forEach(btn => {
540
+ if (btn.textContent.includes('Processing')) {
541
+ btn.disabled = false;
542
+ btn.innerHTML = 'Subscribe Now';
543
+ }
544
+ });
545
+ } finally {
546
+ loading = false;
547
+ }
548
+ }
549
+
550
+ function handleViewPlans() {
551
+ document.getElementById('pricing').scrollIntoView({ behavior: 'smooth' });
552
+ }
553
+
554
+ function handleContactSales() {
555
+ window.location.href = 'mailto:[email protected]';
556
+ }
557
+ </script>
558
+ </body>
559
+ </html>
prompts.txt ADDED
@@ -0,0 +1,290 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Project Title: CrispData – Unified Creator Platform
2
+
3
+ Description:
4
+ Build me a full-stack web system called CrispData where I can upload, organize, and publish all my creative work: music, videos, blogs, and voice overs. The platform should let me manage content in one place, process uploads automatically, stream audio/video, and showcase blogs/articles. It must also include analytics, user authentication, and a clean, modern interface.
5
+
6
+ Core Features
7
+
8
+ Authentication
9
+
10
+ User sign up, login, logout (JWT or NextAuth).
11
+
12
+ Role support (creator, admin, viewer).
13
+
14
+ Content Management
15
+
16
+ Upload music, videos, blogs, and voice overs.
17
+
18
+ Metadata fields: title, description, tags, category, cover art, visibility (public/private/unlisted).
19
+
20
+ Blog editor with markdown/MDX support.
21
+
22
+ Draft & publish scheduling.
23
+
24
+ Media Upload & Processing
25
+
26
+ Direct-to-S3 (or S3-compatible) uploads using presigned URLs.
27
+
28
+ Background processing with FFmpeg:
29
+
30
+ Music: normalize audio, generate mp3/aac/ogg, create waveform.
31
+
32
+ Videos: transcode to 1080p/720p, extract thumbnails, generate HLS (.m3u8).
33
+
34
+ Voice overs: optimize clarity, generate waveform preview.
35
+
36
+ Automatic thumbnails/posters for video/audio.
37
+
38
+ Playback & Display
39
+
40
+ Built-in media players (audio, video).
41
+
42
+ Blog detail page with SEO-friendly rendering.
43
+
44
+ Voice over player (simple audio with waveform).
45
+
46
+ Adaptive streaming for video (HLS).
47
+
48
+ Shareable links for public/unlisted content.
49
+
50
+ Analytics
51
+
52
+ Track views, plays, downloads.
53
+
54
+ Dashboard with charts: top content, views over time, engagement breakdown.
55
+
56
+ Storage & CDN
57
+
58
+ Use S3 or equivalent object storage.
59
+
60
+ Structure: /userId/contentId/{original,processed,thumbnails}.
61
+
62
+ Integrate CDN (Cloudflare/CloudFront) for fast delivery.
63
+
64
+ Search & Filters
65
+
66
+ Search by title, tags, type.
67
+
68
+ Filter by category, date, type (music/video/blog/voice).
69
+
70
+ Admin Dashboard
71
+
72
+ Overview stats.
73
+
74
+ Content library with filters.
75
+
76
+ Upload manager with progress.
77
+
78
+ User & role management.
79
+
80
+ Tech Stack
81
+
82
+ Frontend: Next.js + TailwindCSS + TypeScript
83
+
84
+ Backend/API: Node.js (Express or Next.js API routes)
85
+
86
+ Database: PostgreSQL (content, users, analytics)
87
+
88
+ Storage: AWS S3 or compatible (DigitalOcean Spaces, Backblaze B2)
89
+
90
+ Processing: FFmpeg worker (Dockerized background job)
91
+
92
+ Queue: Redis + BullMQ (job processing)
93
+
94
+ Auth: NextAuth.js or JWT-based
95
+
96
+ Analytics: custom events stored in DB + charts in dashboard
97
+
98
+ Optional AI Add-on: Auto-generate blog intros/summaries or suggest voice-over transcripts.
99
+
100
+ Pages / UI Requirements
101
+
102
+ Landing Page: Hero banner, featured content, latest uploads.
103
+
104
+ Sign Up / Sign In / Profile Settings.
105
+
106
+ Dashboard: Uploads overview, analytics, quick links.
107
+
108
+ Upload Page: Drag-and-drop, metadata form, visibility settings.
109
+
110
+ Library: Grid/list view with search and filters.
111
+
112
+ Content Detail Page:
113
+
114
+ Music/Voice Over → audio player with waveform + metadata.
115
+
116
+ Video → responsive player with quality selector + poster image.
117
+
118
+ Blog → clean, SEO-friendly article layout.
119
+
120
+ Analytics Page: Interactive charts (plays, views, downloads).
121
+
122
+ Admin Settings: User roles, system preferences.
123
+
124
+ Extras
125
+
126
+ Responsive (desktop, tablet, mobile).
127
+
128
+ SEO-optimized (blogs, videos, music pages).
129
+
130
+ Open Graph + social share cards.
131
+
132
+ Secure signed URLs for private content.
133
+
134
+ Error monitoring + upload status indicators.
135
+
136
+ Future-ready: add subscriptions, tips/donations, or podcast RSS feed.
137
+
138
+ Deliverables
139
+
140
+ Fully working system CrispData (frontend + backend).
141
+
142
+ Database schema + migrations.
143
+
144
+ FFmpeg worker setup with Dockerfile.
145
+
146
+ API routes for upload, content management, analytics.
147
+
148
+ Tailwind UI with modern, minimal design.
149
+
150
+ Documentation: setup guide + how to deploy.
151
+
152
+ 👉 Instruction for Deepsite:
153
+ Build the complete CrispData system as described above. Include frontend, backend, database, storage integration, FFmpeg processing, and clean UI. Ensure music, video, blogs, and voice overs are fully supported.
154
+ the system should be interactve
155
+ ### Pricing
156
+
157
+ Start your creative journey for as low as **$2/month**.
158
+ Simple, transparent pricing — no hidden fees. Upgrade anytime.
159
+
160
+ ---
161
+
162
+ **Starter**
163
+ 💵 $2/month
164
+ Perfect for beginners exploring content publishing.
165
+ - Upload up to 20 items (music, video, blogs, or voice overs)
166
+ - Basic analytics (views, plays, reads)
167
+ - Community support
168
+ [ Subscribe ]
169
+
170
+ ---
171
+
172
+ **Pro**
173
+ 💵 $3/month
174
+ For active creators who want more freedom.
175
+ - Unlimited uploads
176
+ - Advanced analytics dashboard
177
+ - Priority processing (faster video/audio conversion)
178
+ - Email support
179
+ [ Subscribe ]
180
+
181
+ ---
182
+
183
+ **Creator Plus**
184
+ 💵 $5/month
185
+ For professionals who want everything unlocked.
186
+ - Unlimited uploads & storage
187
+ - Custom branding (logo, colors, domain)
188
+ - Team collaboration (invite contributors)
189
+ - Premium support & early features
190
+ [ Subscribe ]
191
+
192
+ ---
193
+
194
+ ### Subscription Management
195
+ - After subscribing, users get a **Subscription Dashboard** under their profile.
196
+ - They can view their plan, upgrade/downgrade, or cancel anytime.
197
+ - Payments handled securely via **Stripe Checkout** (funds go directly to my Stripe account).
198
+
199
+ ### Call-to-Action
200
+ Add a **Pricing** link in the navbar & footer.
201
+ On the homepage hero section, update the tagline to:
202
+ **“Start creating for just $2/month — get started today.”**
203
+
204
+ ### Pricing
205
+
206
+ Start your creative journey for as low as **$2/month**.
207
+ Simple, transparent pricing — no hidden fees. Upgrade anytime.
208
+
209
+ ---
210
+
211
+ **Starter**
212
+ 💵 $2/month
213
+ Perfect for beginners exploring content publishing.
214
+ - Upload up to 20 items (music, video, blogs, or voice overs)
215
+ - Basic analytics (views, plays, reads)
216
+ - Community support
217
+ [ Subscribe ]
218
+
219
+ ---
220
+
221
+ **Pro**
222
+ 💵 $3/month
223
+ For active creators who want more freedom.
224
+ - Unlimited uploads
225
+ - Advanced analytics dashboard
226
+ - Priority processing (faster video/audio conversion)
227
+ - Email support
228
+ [ Subscribe ]
229
+
230
+ ---
231
+
232
+ **Creator Plus**
233
+ 💵 $5/month
234
+ For professionals who want everything unlocked.
235
+ - Unlimited uploads & storage
236
+ - Custom branding (logo, colors, domain)
237
+ - Team collaboration (invite contributors)
238
+ - Premium support & early features
239
+ [ Subscribe ]
240
+
241
+ ---
242
+
243
+ ### Subscription Management
244
+ - After subscribing, users get a **Subscription Dashboard** under their profile.
245
+ - They can view their plan, upgrade/downgrade, or cancel anytime.
246
+ - Payments handled securely via **Stripe Checkout** (funds go directly to my Stripe account).
247
+
248
+ ### Call-to-Action
249
+ Add a **Pricing** link in the navbar & footer.
250
+ On the homepage hero section, update the tagline to:
251
+ **“Start creating for just $2/month — get started today.”**
252
+
253
+ Instruction:
254
+ In the CrispData project, review all buttons (e.g., “Subscribe”, “Get Started”, “Upload”, “Save”, etc.). Some buttons are not responding when clicked.
255
+ Please:
256
+
257
+ Ensure every button has a valid onClick or href handler.
258
+
259
+ Example:
260
+
261
+ <button onClick={handleSubscribe}>Subscribe</button>
262
+
263
+
264
+ If the button should navigate, use next/link in Next.js or router.push() correctly.
265
+
266
+ Example:
267
+
268
+ import Link from 'next/link'
269
+ <Link href="/pricing"><button>See Pricing</button></Link>
270
+
271
+
272
+ If the button should trigger a function (like upload, subscribe, checkout), connect it to the correct function in the codebase.
273
+
274
+ Example:
275
+
276
+ const handleSubscribe = async () => {
277
+ const res = await fetch("/api/checkout", { method: "POST" });
278
+ const { url } = await res.json();
279
+ window.location.href = url;
280
+ }
281
+
282
+
283
+ Add loading states so when a button is clicked, the user sees feedback (spinner, disabled state).
284
+
285
+ Example:
286
+
287
+ <button disabled={loading}>{loading ? "Processing..." : "Subscribe"}</button>
288
+
289
+
290
+ Run through every button in the app (Upload, Subscribe, Start Trial, etc.) and confirm they are interactive and functional.
upload.html ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Upload Content | CrispData</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
10
+ <script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
12
+ <script src="https://unpkg.com/feather-icons"></script>
13
+ <style>
14
+ .sidebar {
15
+ transition: all 0.3s ease;
16
+ }
17
+ .sidebar.collapsed {
18
+ width: 5rem;
19
+ }
20
+ .sidebar.collapsed .sidebar-item-text {
21
+ display: none;
22
+ }
23
+ .sidebar.collapsed .sidebar-header-text {
24
+ display: none;
25
+ }
26
+ .sidebar.collapsed .sidebar-item {
27
+ justify-content: center;
28
+ }
29
+ .upload-dropzone {
30
+ border: 2px dashed #cbd5e0;
31
+ transition: all 0.3s ease;
32
+ }
33
+ .upload-dropzone.active {
34
+ border-color: #6e8efb;
35
+ background-color: rgba(110, 142, 251, 0.1);
36
+ }
37
+ .tab-content {
38
+ display: none;
39
+ }
40
+ .tab-content.active {
41
+ display: block;
42
+ }
43
+ .progress-bar {
44
+ height: 0.5rem;
45
+ border-radius: 0.25rem;
46
+ background-color: #e5e7eb;
47
+ }
48
+ .progress-bar-fill {
49
+ height: 100%;
50
+ border-radius: 0.25rem;
51
+ background-color: #6366f1;
52
+ transition: width 0.3s ease;
53
+ }
54
+ </style>
55
+ </head>
56
+ <body class="bg-gray-50 font-sans antialiased">
57
+ <div class="flex h-screen overflow-hidden">
58
+ <!-- Sidebar -->
59
+ <div class="sidebar bg-white shadow-md w-64 flex-shrink-0 flex flex-col">
60
+ <div class="flex items-center justify-between p-4 border-b">
61
+ <div class="flex items-center">
62
+ <i data-feather="layers" class="h-8 w-8 text-indigo-600"></i>
63
+ <span class="sidebar-header-text ml-2 text-xl font-bold text-gray-900">CrispData</span>
64
+ </div>
65
+ <button id="sidebar-toggle" class="text-gray-500 hover:text-gray-700 focus:outline-none">
66
+ <i data-feather="chevron-left"></i>
67
+ </button>
68
+ </div>
69
+ <div class="flex-1 overflow-y-auto">
70
+ <nav class="px-2 py-4">
71
+ <div class="space-y-1">
72
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
73
+ <i data-feather="home" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
74
+ <span class="sidebar-item-text ml-3">Dashboard</span>
75
+ </a>
76
+ <a href="#" class="sidebar-item bg-indigo-50 text-indigo-700 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
77
+ <i data-feather="upload" class="text-indigo-500 flex-shrink-0 h-6 w-6"></i>
78
+ <span class="sidebar-item-text ml-3">Upload Content</span>
79
+ </a>
80
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
81
+ <i data-feather="folder" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
82
+ <span class="sidebar-item-text ml-3">Content Library</span>
83
+ </a>
84
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
85
+ <i data-feather="bar-chart-2" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
86
+ <span class="sidebar-item-text ml-3">Analytics</span>
87
+ </a>
88
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
89
+ <i data-feather="users" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
90
+ <span class="sidebar-item-text ml-3">Audience</span>
91
+ </a>
92
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
93
+ <i data-feather="settings" class="text-gray-400 group-hover:text-gray-500 flex-shrink-0 h-6 w-6"></i>
94
+ <span class="sidebar-item-text ml-3">Settings</span>
95
+ </a>
96
+ </div>
97
+ <div class="mt-8">
98
+ <h3 class="sidebar-header-text px-3 text-xs font-semibold text-gray-500 uppercase tracking-wider">
99
+ Content Types
100
+ </h3>
101
+ <div class="mt-1 space-y-1">
102
+ <a href="#" class="sidebar-item text-gray-600 hover:bg-gray-50 hover:text-gray-900 group flex items-center px-3 py-2 text-sm font-medium rounded-md">
103
+ <i data-fe
104
+ </body>
105
+ </html>