Olodish commited on
Commit
aa95366
·
verified ·
1 Parent(s): 750e44e

Buatkan dashboard admin dengan design modern, tambahkan fitur dark mode, gunakan tailwind dan html

Browse files
Files changed (2) hide show
  1. README.md +7 -4
  2. index.html +545 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Adminfinity Dashboard
3
- emoji: 🐨
4
  colorFrom: yellow
5
- colorTo: indigo
 
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: AdminFinity Dashboard
 
3
  colorFrom: yellow
4
+ colorTo: red
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
index.html CHANGED
@@ -1,19 +1,546 @@
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" class="light">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>AdminFinity Dashboard</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
12
+ <script>
13
+ tailwind.config = {
14
+ darkMode: 'class',
15
+ theme: {
16
+ extend: {
17
+ colors: {
18
+ primary: {
19
+ 50: '#f0f9ff',
20
+ 100: '#e0f2fe',
21
+ 200: '#bae6fd',
22
+ 300: '#7dd3fc',
23
+ 400: '#38bdf8',
24
+ 500: '#0ea5e9',
25
+ 600: '#0284c7',
26
+ 700: '#0369a1',
27
+ 800: '#075985',
28
+ 900: '#0c4a6e',
29
+ },
30
+ secondary: {
31
+ 50: '#f5f3ff',
32
+ 100: '#ede9fe',
33
+ 200: '#ddd6fe',
34
+ 300: '#c4b5fd',
35
+ 400: '#a78bfa',
36
+ 500: '#8b5cf6',
37
+ 600: '#7c3aed',
38
+ 700: '#6d28d9',
39
+ 800: '#5b21b6',
40
+ 900: '#4c1d95',
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ </script>
47
+ <style>
48
+ .sidebar-collapsed {
49
+ width: 5rem !important;
50
+ }
51
+ .sidebar-collapsed .nav-text {
52
+ display: none !important;
53
+ }
54
+ .sidebar-collapsed .logo-text {
55
+ display: none !important;
56
+ }
57
+ .sidebar-collapsed .logo-icon {
58
+ margin-right: 0 !important;
59
+ }
60
+ .sidebar-collapsed ~ .main-content {
61
+ margin-left: 5rem !important;
62
+ }
63
+ .transition-all {
64
+ transition-property: all;
65
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
66
+ transition-duration: 300ms;
67
+ }
68
+ /* Custom scrollbar */
69
+ ::-webkit-scrollbar {
70
+ width: 8px;
71
+ height: 8px;
72
+ }
73
+ ::-webkit-scrollbar-track {
74
+ background: rgba(0, 0, 0, 0.05);
75
+ border-radius: 4px;
76
+ }
77
+ ::-webkit-scrollbar-thumb {
78
+ background: rgba(0, 0, 0, 0.2);
79
+ border-radius: 4px;
80
+ }
81
+ ::-webkit-scrollbar-thumb:hover {
82
+ background: rgba(0, 0, 0, 0.3);
83
+ }
84
+ .dark ::-webkit-scrollbar-track {
85
+ background: rgba(255, 255, 255, 0.05);
86
+ }
87
+ .dark ::-webkit-scrollbar-thumb {
88
+ background: rgba(255, 255, 255, 0.2);
89
+ }
90
+ .dark ::-webkit-scrollbar-thumb:hover {
91
+ background: rgba(255, 255, 255, 0.3);
92
+ }
93
+ </style>
94
+ </head>
95
+ <body class="bg-gray-50 dark:bg-gray-900 text-gray-800 dark:text-gray-200 transition-all duration-300">
96
+ <div class="flex h-screen overflow-hidden">
97
+ <!-- Sidebar -->
98
+ <div id="sidebar" class="w-64 bg-white dark:bg-gray-800 shadow-lg z-10 transition-all duration-300 flex-shrink-0">
99
+ <div class="flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700">
100
+ <div class="flex items-center">
101
+ <div class="logo-icon bg-primary-500 text-white p-2 rounded-lg mr-3">
102
+ <i data-feather="command"></i>
103
+ </div>
104
+ <span class="logo-text text-xl font-bold text-primary-600 dark:text-primary-400">AdminFinity</span>
105
+ </div>
106
+ <button id="sidebar-toggle" class="text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300">
107
+ <i data-feather="chevron-left"></i>
108
+ </button>
109
+ </div>
110
+ <div class="p-4">
111
+ <div class="mb-6">
112
+ <div class="text-xs uppercase font-semibold text-gray-500 dark:text-gray-400 mb-2 tracking-wider">Main</div>
113
+ <ul>
114
+ <li class="mb-1">
115
+ <a href="#" class="flex items-center p-2 rounded-lg text-primary-600 dark:text-primary-400 bg-primary-50 dark:bg-gray-700">
116
+ <i data-feather="home" class="mr-3"></i>
117
+ <span class="nav-text">Dashboard</span>
118
+ </a>
119
+ </li>
120
+ <li class="mb-1">
121
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
122
+ <i data-feather="activity" class="mr-3"></i>
123
+ <span class="nav-text">Analytics</span>
124
+ </a>
125
+ </li>
126
+ <li class="mb-1">
127
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
128
+ <i data-feather="users" class="mr-3"></i>
129
+ <span class="nav-text">Users</span>
130
+ </a>
131
+ </li>
132
+ <li class="mb-1">
133
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
134
+ <i data-feather="shopping-cart" class="mr-3"></i>
135
+ <span class="nav-text">Products</span>
136
+ </a>
137
+ </li>
138
+ </ul>
139
+ </div>
140
+ <div class="mb-6">
141
+ <div class="text-xs uppercase font-semibold text-gray-500 dark:text-gray-400 mb-2 tracking-wider">Management</div>
142
+ <ul>
143
+ <li class="mb-1">
144
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
145
+ <i data-feather="settings" class="mr-3"></i>
146
+ <span class="nav-text">Settings</span>
147
+ </a>
148
+ </li>
149
+ <li class="mb-1">
150
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
151
+ <i data-feather="file-text" class="mr-3"></i>
152
+ <span class="nav-text">Reports</span>
153
+ </a>
154
+ </li>
155
+ <li class="mb-1">
156
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
157
+ <i data-feather="bell" class="mr-3"></i>
158
+ <span class="nav-text">Notifications</span>
159
+ </a>
160
+ </li>
161
+ </ul>
162
+ </div>
163
+ <div>
164
+ <div class="text-xs uppercase font-semibold text-gray-500 dark:text-gray-400 mb-2 tracking-wider">Support</div>
165
+ <ul>
166
+ <li class="mb-1">
167
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
168
+ <i data-feather="help-circle" class="mr-3"></i>
169
+ <span class="nav-text">Help Center</span>
170
+ </a>
171
+ </li>
172
+ <li class="mb-1">
173
+ <a href="#" class="flex items-center p-2 rounded-lg hover:text-primary-600 dark:hover:text-primary-400 hover:bg-primary-50 dark:hover:bg-gray-700">
174
+ <i data-feather="mail" class="mr-3"></i>
175
+ <span class="nav-text">Contact</span>
176
+ </a>
177
+ </li>
178
+ </ul>
179
+ </div>
180
+ </div>
181
+ </div>
182
+
183
+ <!-- Main Content -->
184
+ <div class="main-content flex-1 overflow-auto transition-all duration-300" style="margin-left: 16rem;">
185
+ <!-- Header -->
186
+ <header class="bg-white dark:bg-gray-800 shadow-sm">
187
+ <div class="flex items-center justify-between px-6 py-4">
188
+ <div class="flex items-center">
189
+ <h1 class="text-xl font-semibold text-gray-800 dark:text-gray-200">Dashboard</h1>
190
+ </div>
191
+ <div class="flex items-center space-x-4">
192
+ <button id="dark-mode-toggle" class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700">
193
+ <i data-feather="moon" class="text-gray-600 dark:text-gray-300 hidden dark:block"></i>
194
+ <i data-feather="sun" class="text-gray-600 dark:text-gray-300 block dark:hidden"></i>
195
+ </button>
196
+ <div class="relative">
197
+ <button class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 relative">
198
+ <i data-feather="bell"></i>
199
+ <span class="absolute top-0 right-0 w-2 h-2 bg-red-500 rounded-full"></span>
200
+ </button>
201
+ </div>
202
+ <div class="flex items-center">
203
+ <div class="w-8 h-8 rounded-full bg-primary-500 flex items-center justify-center text-white mr-2">
204
+ <i data-feather="user"></i>
205
+ </div>
206
+ <div class="hidden md:block">
207
+ <div class="text-sm font-medium">John Doe</div>
208
+ <div class="text-xs text-gray-500 dark:text-gray-400">Admin</div>
209
+ </div>
210
+ </div>
211
+ </div>
212
+ </div>
213
+ </header>
214
+
215
+ <!-- Content -->
216
+ <main class="p-6">
217
+ <!-- Stats Cards -->
218
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6">
219
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
220
+ <div class="flex items-center justify-between">
221
+ <div>
222
+ <p class="text-gray-500 dark:text-gray-400 text-sm">Total Revenue</p>
223
+ <h3 class="text-2xl font-bold text-gray-800 dark:text-gray-200">$45,231</h3>
224
+ <p class="text-green-500 text-sm mt-1 flex items-center">
225
+ <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
226
+ <span>12% from last month</span>
227
+ </p>
228
+ </div>
229
+ <div class="p-3 rounded-lg bg-primary-100 dark:bg-primary-900 text-primary-600 dark:text-primary-300">
230
+ <i data-feather="dollar-sign"></i>
231
+ </div>
232
+ </div>
233
+ </div>
234
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
235
+ <div class="flex items-center justify-between">
236
+ <div>
237
+ <p class="text-gray-500 dark:text-gray-400 text-sm">New Users</p>
238
+ <h3 class="text-2xl font-bold text-gray-800 dark:text-gray-200">2,341</h3>
239
+ <p class="text-green-500 text-sm mt-1 flex items-center">
240
+ <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
241
+ <span>19% from last month</span>
242
+ </p>
243
+ </div>
244
+ <div class="p-3 rounded-lg bg-green-100 dark:bg-green-900 text-green-600 dark:text-green-300">
245
+ <i data-feather="users"></i>
246
+ </div>
247
+ </div>
248
+ </div>
249
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
250
+ <div class="flex items-center justify-between">
251
+ <div>
252
+ <p class="text-gray-500 dark:text-gray-400 text-sm">Total Orders</p>
253
+ <h3 class="text-2xl font-bold text-gray-800 dark:text-gray-200">1,245</h3>
254
+ <p class="text-red-500 text-sm mt-1 flex items-center">
255
+ <i data-feather="trending-down" class="w-4 h-4 mr-1"></i>
256
+ <span>4% from last month</span>
257
+ </p>
258
+ </div>
259
+ <div class="p-3 rounded-lg bg-orange-100 dark:bg-orange-900 text-orange-600 dark:text-orange-300">
260
+ <i data-feather="shopping-bag"></i>
261
+ </div>
262
+ </div>
263
+ </div>
264
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
265
+ <div class="flex items-center justify-between">
266
+ <div>
267
+ <p class="text-gray-500 dark:text-gray-400 text-sm">Active Projects</p>
268
+ <h3 class="text-2xl font-bold text-gray-800 dark:text-gray-200">43</h3>
269
+ <p class="text-green-500 text-sm mt-1 flex items-center">
270
+ <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
271
+ <span>8% from last month</span>
272
+ </p>
273
+ </div>
274
+ <div class="p-3 rounded-lg bg-indigo-100 dark:bg-indigo-900 text-indigo-600 dark:text-indigo-300">
275
+ <i data-feather="file-text"></i>
276
+ </div>
277
+ </div>
278
+ </div>
279
+ </div>
280
+
281
+ <!-- Charts -->
282
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6">
283
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
284
+ <div class="flex items-center justify-between mb-4">
285
+ <h2 class="text-lg font-semibold text-gray-800 dark:text-gray-200">Revenue Overview</h2>
286
+ <div class="flex space-x-2">
287
+ <button class="px-3 py-1 text-xs bg-primary-100 dark:bg-primary-900 text-primary-600 dark:text-primary-300 rounded-md">Year</button>
288
+ <button class="px-3 py-1 text-xs bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200 rounded-md">Month</button>
289
+ <button class="px-3 py-1 text-xs bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200 rounded-md">Week</button>
290
+ </div>
291
+ </div>
292
+ <div class="h-64">
293
+ <canvas id="revenueChart"></canvas>
294
+ </div>
295
+ </div>
296
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
297
+ <div class="flex items-center justify-between mb-4">
298
+ <h2 class="text-lg font-semibold text-gray-800 dark:text-gray-200">User Acquisition</h2>
299
+ <div class="flex space-x-2">
300
+ <button class="px-3 py-1 text-xs bg-primary-100 dark:bg-primary-900 text-primary-600 dark:text-primary-300 rounded-md">Year</button>
301
+ <button class="px-3 py-1 text-xs bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200 rounded-md">Month</button>
302
+ <button class="px-3 py-1 text-xs bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200 rounded-md">Week</button>
303
+ </div>
304
+ </div>
305
+ <div class="h-64">
306
+ <canvas id="userChart"></canvas>
307
+ </div>
308
+ </div>
309
+ </div>
310
+
311
+ <!-- Recent Orders -->
312
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow overflow-hidden">
313
+ <div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700">
314
+ <h2 class="text-lg font-semibold text-gray-800 dark:text-gray-200">Recent Orders</h2>
315
+ </div>
316
+ <div class="overflow-x-auto">
317
+ <table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700">
318
+ <thead class="bg-gray-50 dark:bg-gray-700">
319
+ <tr>
320
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Order ID</th>
321
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Customer</th>
322
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Date</th>
323
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Amount</th>
324
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Status</th>
325
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Action</th>
326
+ </tr>
327
+ </thead>
328
+ <tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">
329
+ <tr>
330
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-gray-200">#ORD-0001</td>
331
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">John Smith</td>
332
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">12/05/2023</td>
333
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">$125.00</td>
334
+ <td class="px-6 py-4 whitespace-nowrap">
335
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200">Completed</span>
336
+ </td>
337
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">
338
+ <button class="text-primary-600 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-300">View</button>
339
+ </td>
340
+ </tr>
341
+ <tr>
342
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-gray-200">#ORD-0002</td>
343
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">Sarah Johnson</td>
344
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">11/05/2023</td>
345
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">$89.99</td>
346
+ <td class="px-6 py-4 whitespace-nowrap">
347
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200">Completed</span>
348
+ </td>
349
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">
350
+ <button class="text-primary-600 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-300">View</button>
351
+ </td>
352
+ </tr>
353
+ <tr>
354
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-gray-200">#ORD-0003</td>
355
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">Michael Brown</td>
356
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">10/05/2023</td>
357
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">$245.50</td>
358
+ <td class="px-6 py-4 whitespace-nowrap">
359
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200">Pending</span>
360
+ </td>
361
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">
362
+ <button class="text-primary-600 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-300">View</button>
363
+ </td>
364
+ </tr>
365
+ <tr>
366
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-gray-200">#ORD-0004</td>
367
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">Emily Davis</td>
368
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">09/05/2023</td>
369
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">$199.99</td>
370
+ <td class="px-6 py-4 whitespace-nowrap">
371
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200">Shipped</span>
372
+ </td>
373
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">
374
+ <button class="text-primary-600 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-300">View</button>
375
+ </td>
376
+ </tr>
377
+ <tr>
378
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-800 dark:text-gray-200">#ORD-0005</td>
379
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">Robert Wilson</td>
380
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">08/05/2023</td>
381
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">$75.25</td>
382
+ <td class="px-6 py-4 whitespace-nowrap">
383
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200">Cancelled</span>
384
+ </td>
385
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800 dark:text-gray-200">
386
+ <button class="text-primary-600 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-300">View</button>
387
+ </td>
388
+ </tr>
389
+ </tbody>
390
+ </table>
391
+ </div>
392
+ <div class="px-6 py-4 border-t border-gray-200 dark:border-gray-700 flex items-center justify-between">
393
+ <div class="text-sm text-gray-500 dark:text-gray-400">
394
+ Showing <span class="font-medium">1</span> to <span class="font-medium">5</span> of <span class="font-medium">32</span> results
395
+ </div>
396
+ <div class="flex space-x-2">
397
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-md text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700">Previous</button>
398
+ <button class="px-3 py-1 border border-primary-500 bg-primary-500 text-white rounded-md text-sm font-medium hover:bg-primary-600">1</button>
399
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-md text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700">2</button>
400
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-md text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700">3</button>
401
+ <button class="px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-md text-sm font-medium text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700">Next</button>
402
+ </div>
403
+ </div>
404
+ </div>
405
+ </main>
406
+ </div>
407
+ </div>
408
+
409
+ <script>
410
+ // Initialize feather icons
411
+ feather.replace();
412
+
413
+ // Dark mode toggle
414
+ const darkModeToggle = document.getElementById('dark-mode-toggle');
415
+ const html = document.documentElement;
416
+
417
+ // Check for saved user preference or system preference
418
+ if (localStorage.getItem('darkMode') === 'true' || (!localStorage.getItem('darkMode') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
419
+ html.classList.add('dark');
420
+ }
421
+
422
+ darkModeToggle.addEventListener('click', () => {
423
+ html.classList.toggle('dark');
424
+ localStorage.setItem('darkMode', html.classList.contains('dark'));
425
+ feather.replace();
426
+ });
427
+
428
+ // Sidebar toggle
429
+ const sidebarToggle = document.getElementById('sidebar-toggle');
430
+ const sidebar = document.getElementById('sidebar');
431
+
432
+ sidebarToggle.addEventListener('click', () => {
433
+ sidebar.classList.toggle('sidebar-collapsed');
434
+ const isCollapsed = sidebar.classList.contains('sidebar-collapsed');
435
+ localStorage.setItem('sidebarCollapsed', isCollapsed);
436
+
437
+ // Change the icon based on sidebar state
438
+ const icon = sidebarToggle.querySelector('i');
439
+ if (isCollapsed) {
440
+ icon.setAttribute('data-feather', 'chevron-right');
441
+ } else {
442
+ icon.setAttribute('data-feather', 'chevron-left');
443
+ }
444
+ feather.replace();
445
+ });
446
+
447
+ // Check for saved sidebar state
448
+ if (localStorage.getItem('sidebarCollapsed') === 'true') {
449
+ sidebar.classList.add('sidebar-collapsed');
450
+ sidebarToggle.querySelector('i').setAttribute('data-feather', 'chevron-right');
451
+ feather.replace();
452
+ }
453
+
454
+ // Charts
455
+ document.addEventListener('DOMContentLoaded', function() {
456
+ // Revenue Chart
457
+ const revenueCtx = document.getElementById('revenueChart').getContext('2d');
458
+ const revenueChart = new Chart(revenueCtx, {
459
+ type: 'line',
460
+ data: {
461
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
462
+ datasets: [{
463
+ label: 'Revenue',
464
+ data: [5000, 8000, 6000, 9000, 12000, 10000, 15000],
465
+ backgroundColor: 'rgba(14, 165, 233, 0.1)',
466
+ borderColor: 'rgba(14, 165, 233, 1)',
467
+ borderWidth: 2,
468
+ tension: 0.4,
469
+ pointBackgroundColor: 'rgba(14, 165, 233, 1)',
470
+ pointRadius: 4,
471
+ pointHoverRadius: 6
472
+ }]
473
+ },
474
+ options: {
475
+ responsive: true,
476
+ maintainAspectRatio: false,
477
+ plugins: {
478
+ legend: {
479
+ display: false
480
+ }
481
+ },
482
+ scales: {
483
+ y: {
484
+ beginAtZero: true,
485
+ grid: {
486
+ color: 'rgba(0, 0, 0, 0.05)'
487
+ }
488
+ },
489
+ x: {
490
+ grid: {
491
+ display: false
492
+ }
493
+ }
494
+ }
495
+ }
496
+ });
497
+
498
+ // User Chart
499
+ const userCtx = document.getElementById('userChart').getContext('2d');
500
+ const userChart = new Chart(userCtx, {
501
+ type: 'bar',
502
+ data: {
503
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
504
+ datasets: [{
505
+ label: 'New Users',
506
+ data: [200, 300, 250, 400, 350, 500, 450],
507
+ backgroundColor: 'rgba(139, 92, 246, 0.7)',
508
+ borderColor: 'rgba(139, 92, 246, 1)',
509
+ borderWidth: 1
510
+ }]
511
+ },
512
+ options: {
513
+ responsive: true,
514
+ maintainAspectRatio: false,
515
+ plugins: {
516
+ legend: {
517
+ display: false
518
+ }
519
+ },
520
+ scales: {
521
+ y: {
522
+ beginAtZero: true,
523
+ grid: {
524
+ color: 'rgba(0, 0, 0, 0.05)'
525
+ }
526
+ },
527
+ x: {
528
+ grid: {
529
+ display: false
530
+ }
531
+ }
532
+ }
533
+ }
534
+ });
535
+
536
+ // Update charts on dark mode toggle
537
+ darkModeToggle.addEventListener('click', () => {
538
+ setTimeout(() => {
539
+ revenueChart.update();
540
+ userChart.update();
541
+ }, 100);
542
+ });
543
+ });
544
+ </script>
545
+ </body>
546
  </html>