File size: 17,612 Bytes
052dba7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Jay's Mobile Wash - Complete Business System</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        primary: '#003366',
                        secondary: '#CC0000',
                        accent: '#0080ff',
                        lightbg: '#f0f6ff',
                        darktext: '#111827',
                        lighttext: '#ffffff',
                        success: '#10b981',
                        warning: '#f59e0b',
                        error: '#ef4444',
                    }
                }
            }
        }
    </script>
    <style>
        /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #f1f1f1;
        }
        ::-webkit-scrollbar-thumb {
            background: #c5c5c5;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #a8a8a8;
        }
        
        /* Status indicators */
        .status-active {
            color: #10b981;
            font-weight: 600;
        }
        .status-pending {
            color: #f59e0b;
            font-weight: 600;
        }
        .status-error {
            color: #ef4444;
            font-weight: 600;
        }
        
        /* Chat bubbles */
        .incoming-chat {
            background-color: #f1f5f9;
            border-radius: 18px 18px 18px 4px;
        }
        .outgoing-chat {
            background-color: #0080ff;
            color: white;
            border-radius: 18px 18px 4px 18px;
        }
        
        /* Tab styling */
        .tab.active {
            background-color: #0080ff;
            color: white;
        }
    </style>
</head>
<body class="bg-lightbg min-h-screen font-sans">
    <!-- Header -->
    <header class="bg-white shadow-sm">
        <div class="container mx-auto px-4 py-4 flex items-center">
            <img src="https://jaysmobilewash.com/wp-content/uploads/2023/06/cropped-JaysLogo.png" alt="Jay's Mobile Wash Logo" class="h-10">
            <h1 class="text-xl font-bold text-primary ml-3">Jay's Mobile Wash AI Business System</h1>
            <div class="ml-auto flex items-center space-x-4">
                <div class="bg-gray-100 rounded-full px-4 py-1">
                    <i class="fas fa-user text-primary mr-2"></i>
                    <span class="font-medium">jjmandog</span>
                </div>
                <div class="text-sm text-gray-500">
                    <div>2025-06-14</div>
                    <div>00:47:12 UTC</div>
                </div>
            </div>
        </div>
    </header>

    <!-- Main Content -->
    <main class="container mx-auto px-4 py-6">
        <!-- Navigation Tabs -->
        <div class="bg-primary rounded-t-lg flex flex-wrap">
            <button class="tab px-4 py-3 font-medium text-white bg-accent rounded-t-md active">πŸ“Š Dashboard</button>
            <button class="tab px-4 py-3 font-medium text-white">πŸ“ž Call Management</button>
            <button class="tab px-4 py-3 font-medium text-white">πŸ“± SMS Management</button>
            <button class="tab px-4 py-3 font-medium text-white">πŸ“… Booking Management</button>
            <button class="tab px-4 py-3 font-medium text-white">🧠 AI Training Center</button>
            <button class="tab px-4 py-3 font-medium text-white">βš™οΈ Settings</button>
        </div>
        
        <!-- Dashboard Content -->
        <div id="dashboard-content" class="tab-content block bg-white p-6 rounded-b-lg shadow-md">
            <h2 class="text-2xl font-bold text-primary mb-6">Business Overview</h2>
            
            <!-- Stats Section -->
            <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
                <div class="stat-card bg-white rounded-lg border-l-4 border-accent shadow-sm p-6">
                    <div class="flex items-center text-lg font-semibold">
                        <i class="fas fa-phone text-primary mr-2"></i>
                        <span>Total Calls</span>
                    </div>
                    <div class="text-3xl font-bold text-primary mt-2">127</div>
                    <div class="mt-3 text-gray-600 text-sm">
                        Jay Answered: <span class="font-medium">85</span> | 
                        AI Handled: <span class="font-medium">34</span>
                    </div>
                </div>
                
                <div class="stat-card bg-white rounded-lg border-l-4 border-accent shadow-sm p-6">
                    <div class="flex items-center text-lg font-semibold">
                        <i class="fas fa-sms text-primary mr-2"></i>
                        <span>SMS Interactions</span>
                    </div>
                    <div class="text-3xl font-bold text-primary mt-2">312</div>
                    <div class="mt-3 text-gray-600 text-sm">
                        AI Response Rate: <span class="font-medium">90%</span>
                    </div>
                </div>
                
                <div class="stat-card bg-white rounded-lg border-l-4 border-accent shadow-sm p-6">
                    <div class="flex items-center text-lg font-semibold">
                        <i class="fas fa-dollar-sign text-primary mr-2"></i>
                        <span>Monthly Revenue</span>
                    </div>
                    <div class="text-3xl font-bold text-primary mt-2">$12,480</div>
                    <div class="mt-3 text-gray-600 text-sm">
                        Confirmed Bookings: <span class="font-medium">96</span>
                    </div>
                </div>
            </div>
            
            <!-- System Status -->
            <div class="bg-gray-50 rounded-lg p-6 mb-8">
                <h3 class="text-xl font-bold text-primary mb-4">System Status</h3>
                <div class="grid grid-cols-2 md:grid-cols-3 gap-4">
                    <div>
                        <span class="font-medium">Twilio:</span>
                        <span class="status-active">Connected</span>
                    </div>
                    <div>
                        <span class="font-medium">Database:</span>
                        <span class="status-active">Online</span>
                    </div>
                    <div>
                        <span class="font-medium">AI Models:</span>
                        <span class="status-active">Operational</span>
                    </div>
                    <div>
                        <span class="font-medium">Last Update:</span> 2025-06-14 00:12:45
                    </div>
                    <div>
                        <span class="font-medium">Server Load:</span> 23%
                    </div>
                    <div>
                        <span class="font-medium">Storage:</span> 1.2 GB / 5 GB
                    </div>
                </div>
            </div>
            
            <!-- Charts & Tables Section -->
            <div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
                <!-- Recent Call Activity -->
                <div class="bg-white rounded-lg shadow-sm p-6">
                    <h3 class="text-xl font-bold text-primary mb-4">Recent Call Activity</h3>
                    <div class="overflow-x-auto">
                        <table class="w-full text-sm">
                            <thead class="bg-primary text-white">
                                <tr>
                                    <th class="p-2 text-left">Timestamp</th>
                                    <th class="p-2 text-left">Caller</th>
                                    <th class="p-2 text-left">Duration</th>
                                    <th class="p-2 text-left">Status</th>
                                    <th class="p-2 text-left">Notes</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr class="border-b hover:bg-gray-50">
                                    <td class="p-2">2025-06-13 21:34:12</td>
                                    <td class="p-2">+15622289429</td>
                                    <td class="p-2">3m 24s</td>
                                    <td class="p-2 font-medium text-green-600">Jay Answered</td>
                                    <td class="p-2">Booking confirmed</td>
                                </tr>
                                <tr class="border-b hover:bg-gray-50">
                                    <td class="p-2">2025-06-13 20:15:35</td>
                                    <td class="p-2">+13108675309</td>
                                    <td class="p-2">2m 10s</td>
                                    <td class="p-2 font-medium text-blue-600">AI Handled</td>
                                    <td class="p-2">Pricing inquiry</td>
                                </tr>
                                <tr class="border-b hover:bg-gray-50">
                                    <td class="p-2">2025-06-13 19:42:03</td>
                                    <td class="p-2">+15625551234</td>
                                    <td class="p-2">4m 02s</td>
                                    <td class="p-2 font-medium text-green-600">Jay Answered</td>
                                    <td class="p-2">Scheduled luxury wash</td>
                                </tr>
                                <tr class="border-b hover:bg-gray-50">
                                    <td class="p-2">2025-06-13 18:20:19</td>
                                    <td class="p-2">+18185559876</td>
                                    <td class="p-2">0m 12s</td>
                                    <td class="p-2 font-medium text-red-600">Spam Blocked</td>
                                    <td class="p-2">Known telemarketer</td>
                                </tr>
                                <tr class="hover:bg-gray-50">
                                    <td class="p-2">2025-06-13 16:55:40</td>
                                    <td class="p-2">+17145552211</td>
                                    <td class="p-2">3m 46s</td>
                                    <td class="p-2 font-medium text-blue-600">AI Handled</td>
                                    <td class="p-2">Booking request</td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
                
                <!-- Upcoming Bookings -->
                <div class="bg-white rounded-lg shadow-sm p-6">
                    <h3 class="text-xl font-bold text-primary mb-4">Upcoming Bookings</h3>
                    <div class="overflow-x-auto">
                        <table class="w-full text-sm">
                            <thead class="bg-primary text-white">
                                <tr>
                                    <th class="p-2 text-left">Ref</th>
                                    <th class="p-2 text-left">Customer</th>
                                    <th class="p-2 text-left">Service</th>
                                    <th class="p-2 text-left">Date</th>
                                    <th class="p-2 text-left">Time</th>
                                    <th class="p-2 text-left">Price</th>
                                    <th class="p-2 text-left">Status</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr class="border-b hover:bg-gray-50">
                                    <td class="p-2">JMW2365</td>
                                    <td class="p-2">John D.</td>
                                    <td class="p-2">Luxury Wash</td>
                                    <td class="p-2">2025-06-15</td>
                                    <td class="p-2">10:00 AM</td>
                                    <td class="p-2">$130</td>
                                    <td class="p-2 font-medium text-green-600">Confirmed</td>
                                </tr>
                                <tr class="border-b hover:bg-gray-50">
                                    <td class="p-2">JMW2366</td>
                                    <td class="p-2">Sarah M.</td>
                                    <td class="p-2">Basic Wash</td>
                                    <td class="p-2">2025-06-14</td>
                                    <td class="p-2">2:30 PM</td>
                                    <td class="p-2">$60</td>
                                    <td class="p-2 font-medium text-orange-400">Pending</td>
                                </tr>
                                <tr class="hover:bg-gray-50">
                                    <td class="p-2">JMW2367</td>
                                    <td class="p-2">Robert K.</td>
                                    <td class="p-2">Max Detail</td>
                                    <td class="p-2">2025-06-16</td>
                                    <td class="p-2">9:00 AM</td>
                                    <td class="p-2">$210</td>
                                    <td class="p-2 font-medium text-green-600">Confirmed</td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
            
            <!-- Call to Action -->
            <div class="mt-8 flex justify-end">
                <button class="refresh-btn bg-primary text-white px-6 py-3 rounded-lg font-medium hover:bg-primary/90 flex items-center">
                    <i class="fas fa-sync-alt mr-2"></i> Refresh Dashboard
                </button>
            </div>
        </div>
    </main>
    
    <!-- Footer -->
    <footer class="bg-gray-800 text-gray-300 py-4 mt-8">
        <div class="container mx-auto px-4 text-center text-sm">
            <p>Jay's Mobile Wash AI Business System | Current Version: 1.0.0 | Last Updated: 2025-06-14</p>
            <p>HuggingFace Space: <a href="https://huggingface.co/spaces/jjmandog/Jayscallcenter" class="text-accent underline">jjmandog/Jayscallcenter</a> | Β© 2025 Jay's Mobile Wash</p>
            <p class="mt-2 text-xs">
                Current Date and Time (UTC): 2025-06-14 00:54:45 | User: jjmandog
            </p>
        </div>
    </footer>
    
    <script>
        // Tab Switching Functionality
        document.querySelectorAll('.tab').forEach(tab => {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // For demo purposes, we'll just show a message
                alert(`Switching to: ${this.textContent} tab\n\nNote: This preview shows only the Dashboard section with mock data. Full UI requires the Python backend to be implemented.`);
            });
        });
        
        // Refresh button animation
        const refreshBtn = document.querySelector('.refresh-btn');
        refreshBtn.addEventListener('click', function() {
            // Add spin animation
            const icon = this.querySelector('i');
            icon.classList.add('animate-spin');
            
            setTimeout(() => {
                icon.classList.remove('animate-spin');
                
                // For demo purposes, show a confirmation
                const confirmed = confirm("Refresh dashboard data?");
                if(confirmed) {
                    alert("Dashboard refreshed with mock data!");
                }
            }, 1000);
        });
        
        // Responsive enhancements
        function checkMobile() {
            if (window.innerWidth < 768) {
                document.querySelectorAll('.tab').forEach(tab => {
                    tab.classList.add('text-xs', 'px-2', 'py-2');
                });
            } else {
                document.querySelectorAll('.tab').forEach(tab => {
                    tab.classList.remove('text-xs', 'px-2', 'py-2');
                });
            }
        }
        
        // Run on load and resize
        checkMobile();
        window.addEventListener('resize', checkMobile);
    </script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=jjmandog/tetggc" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>