LukasBe commited on
Commit
9a5adcb
·
verified ·
1 Parent(s): 3d6342d

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +1062 -19
  3. prompts.txt +1 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Fixit On Demand
3
- emoji: 🏃
4
- colorFrom: gray
5
- colorTo: purple
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: fixit-on-demand
3
+ emoji: 🐳
4
+ colorFrom: purple
5
+ colorTo: gray
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
index.html CHANGED
@@ -1,19 +1,1062 @@
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>FixIT-On-Demand | Tech Support App</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
11
+
12
+ body {
13
+ font-family: 'Poppins', sans-serif;
14
+ background-color: #f8f9fa;
15
+ }
16
+
17
+ .progress-bar {
18
+ height: 8px;
19
+ border-radius: 4px;
20
+ background-color: #e9ecef;
21
+ }
22
+
23
+ .progress-fill {
24
+ height: 100%;
25
+ border-radius: 4px;
26
+ background-color: #4f46e5;
27
+ transition: width 0.3s ease;
28
+ }
29
+
30
+ .service-card:hover {
31
+ transform: translateY(-5px);
32
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
33
+ }
34
+
35
+ .tech-card {
36
+ transition: all 0.3s ease;
37
+ }
38
+
39
+ .tech-card:hover {
40
+ transform: scale(1.02);
41
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
42
+ }
43
+
44
+ .map-container {
45
+ height: 200px;
46
+ background-color: #e5e7eb;
47
+ border-radius: 12px;
48
+ overflow: hidden;
49
+ }
50
+
51
+ .ar-view {
52
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
53
+ }
54
+
55
+ .slide-up {
56
+ animation: slideUp 0.5s ease forwards;
57
+ }
58
+
59
+ @keyframes slideUp {
60
+ from {
61
+ transform: translateY(100%);
62
+ opacity: 0;
63
+ }
64
+ to {
65
+ transform: translateY(0);
66
+ opacity: 1;
67
+ }
68
+ }
69
+
70
+ .badge-pulse {
71
+ animation: pulse 2s infinite;
72
+ }
73
+
74
+ @keyframes pulse {
75
+ 0% {
76
+ box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4);
77
+ }
78
+ 70% {
79
+ box-shadow: 0 0 0 10px rgba(79, 70, 229, 0);
80
+ }
81
+ 100% {
82
+ box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
83
+ }
84
+ }
85
+ </style>
86
+ </head>
87
+ <body class="max-w-md mx-auto bg-gray-50">
88
+ <!-- App Header -->
89
+ <header class="sticky top-0 z-10 bg-white shadow-sm">
90
+ <div class="flex items-center justify-between p-4">
91
+ <div class="flex items-center space-x-2">
92
+ <div class="w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
93
+ <i class="fas fa-tools text-white text-lg"></i>
94
+ </div>
95
+ <h1 class="text-xl font-bold text-gray-800">FixIT-On-Demand</h1>
96
+ </div>
97
+ <div class="flex items-center space-x-3">
98
+ <button class="text-gray-600">
99
+ <i class="fas fa-bell text-xl"></i>
100
+ </button>
101
+ <button class="text-gray-600">
102
+ <i class="fas fa-user-circle text-xl"></i>
103
+ </button>
104
+ </div>
105
+ </div>
106
+ </header>
107
+
108
+ <!-- Main App Content -->
109
+ <main class="pb-20">
110
+ <!-- Dashboard View -->
111
+ <div id="dashboardView" class="px-4 py-6">
112
+ <div class="mb-6">
113
+ <h2 class="text-2xl font-bold text-gray-800 mb-2">Hello, Alex!</h2>
114
+ <p class="text-gray-600">What tech issue can we help you with today?</p>
115
+ </div>
116
+
117
+ <!-- Quick Services -->
118
+ <div class="mb-8">
119
+ <div class="flex items-center justify-between mb-4">
120
+ <h3 class="text-lg font-semibold text-gray-800">Popular Services</h3>
121
+ <button class="text-indigo-600 text-sm font-medium">See all</button>
122
+ </div>
123
+ <div class="grid grid-cols-2 gap-4">
124
+ <div class="service-card bg-white rounded-xl p-4 shadow-sm border border-gray-100 cursor-pointer transition-all duration-300" onclick="showServiceSelection()">
125
+ <div class="w-12 h-12 rounded-lg bg-indigo-50 flex items-center justify-center mb-3">
126
+ <i class="fas fa-laptop-code text-indigo-600 text-xl"></i>
127
+ </div>
128
+ <h4 class="font-medium text-gray-800 mb-1">PC Repair</h4>
129
+ <p class="text-xs text-gray-500">Slow performance, crashes</p>
130
+ </div>
131
+ <div class="service-card bg-white rounded-xl p-4 shadow-sm border border-gray-100 cursor-pointer transition-all duration-300" onclick="showServiceSelection()">
132
+ <div class="w-12 h-12 rounded-lg bg-blue-50 flex items-center justify-center mb-3">
133
+ <i class="fas fa-wifi text-blue-600 text-xl"></i>
134
+ </div>
135
+ <h4 class="font-medium text-gray-800 mb-1">Wi-Fi Setup</h4>
136
+ <p class="text-xs text-gray-500">Network configuration</p>
137
+ </div>
138
+ <div class="service-card bg-white rounded-xl p-4 shadow-sm border border-gray-100 cursor-pointer transition-all duration-300" onclick="showServiceSelection()">
139
+ <div class="w-12 h-12 rounded-lg bg-green-50 flex items-center justify-center mb-3">
140
+ <i class="fas fa-mobile-alt text-green-600 text-xl"></i>
141
+ </div>
142
+ <h4 class="font-medium text-gray-800 mb-1">Phone Repair</h4>
143
+ <p class="text-xs text-gray-500">Screen, battery issues</p>
144
+ </div>
145
+ <div class="service-card bg-white rounded-xl p-4 shadow-sm border border-gray-100 cursor-pointer transition-all duration-300" onclick="showServiceSelection()">
146
+ <div class="w-12 h-12 rounded-lg bg-purple-50 flex items-center justify-center mb-3">
147
+ <i class="fas fa-database text-purple-600 text-xl"></i>
148
+ </div>
149
+ <h4 class="font-medium text-gray-800 mb-1">Data Recovery</h4>
150
+ <p class="text-xs text-gray-500">Lost files, backups</p>
151
+ </div>
152
+ </div>
153
+ </div>
154
+
155
+ <!-- Urgent Service Banner -->
156
+ <div class="bg-gradient-to-r from-red-500 to-red-600 rounded-xl p-4 mb-6 text-white">
157
+ <div class="flex items-start">
158
+ <div class="mr-3">
159
+ <i class="fas fa-bolt text-xl"></i>
160
+ </div>
161
+ <div>
162
+ <h3 class="font-bold mb-1">Need urgent help?</h3>
163
+ <p class="text-sm opacity-90 mb-2">Our technicians are available 24/7 for emergency services</p>
164
+ <button class="bg-white text-red-600 text-sm font-semibold px-4 py-1 rounded-full" onclick="showServiceSelection()">
165
+ Request Now
166
+ </button>
167
+ </div>
168
+ </div>
169
+ </div>
170
+
171
+ <!-- Recent Technicians -->
172
+ <div>
173
+ <div class="flex items-center justify-between mb-4">
174
+ <h3 class="text-lg font-semibold text-gray-800">Trusted Technicians</h3>
175
+ <button class="text-indigo-600 text-sm font-medium">See all</button>
176
+ </div>
177
+ <div class="flex space-x-4 overflow-x-auto pb-2">
178
+ <div class="tech-card bg-white rounded-xl p-4 shadow-sm border border-gray-100 flex-shrink-0 w-40" onclick="showTechProfile('1')">
179
+ <div class="relative mb-3">
180
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Technician" class="w-12 h-12 rounded-full mx-auto">
181
+ <div class="absolute bottom-0 right-0 w-5 h-5 bg-green-500 rounded-full border-2 border-white"></div>
182
+ </div>
183
+ <h4 class="font-medium text-gray-800 text-center mb-1">Michael S.</h4>
184
+ <div class="flex justify-center items-center mb-1">
185
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
186
+ <span class="text-xs font-medium">4.9 (128)</span>
187
+ </div>
188
+ <div class="flex justify-center">
189
+ <span class="bg-indigo-100 text-indigo-800 text-xs px-2 py-0.5 rounded-full">PC Specialist</span>
190
+ </div>
191
+ </div>
192
+ <div class="tech-card bg-white rounded-xl p-4 shadow-sm border border-gray-100 flex-shrink-0 w-40" onclick="showTechProfile('2')">
193
+ <div class="relative mb-3">
194
+ <img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Technician" class="w-12 h-12 rounded-full mx-auto">
195
+ <div class="absolute bottom-0 right-0 w-5 h-5 bg-green-500 rounded-full border-2 border-white"></div>
196
+ </div>
197
+ <h4 class="font-medium text-gray-800 text-center mb-1">Sarah L.</h4>
198
+ <div class="flex justify-center items-center mb-1">
199
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
200
+ <span class="text-xs font-medium">4.8 (97)</span>
201
+ </div>
202
+ <div class="flex justify-center">
203
+ <span class="bg-blue-100 text-blue-800 text-xs px-2 py-0.5 rounded-full">Network Guru</span>
204
+ </div>
205
+ </div>
206
+ <div class="tech-card bg-white rounded-xl p-4 shadow-sm border border-gray-100 flex-shrink-0 w-40" onclick="showTechProfile('3')">
207
+ <div class="relative mb-3">
208
+ <img src="https://randomuser.me/api/portraits/men/75.jpg" alt="Technician" class="w-12 h-12 rounded-full mx-auto">
209
+ <div class="absolute bottom-0 right-0 w-5 h-5 bg-yellow-500 rounded-full border-2 border-white"></div>
210
+ </div>
211
+ <h4 class="font-medium text-gray-800 text-center mb-1">David K.</h4>
212
+ <div class="flex justify-center items-center mb-1">
213
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
214
+ <span class="text-xs font-medium">4.7 (86)</span>
215
+ </div>
216
+ <div class="flex justify-center">
217
+ <span class="bg-purple-100 text-purple-800 text-xs px-2 py-0.5 rounded-full">Data Recovery</span>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </div>
222
+ </div>
223
+
224
+ <!-- Service Selection View (Hidden by default) -->
225
+ <div id="serviceSelectionView" class="hidden px-4 py-6 absolute top-0 left-0 w-full bg-white min-h-screen slide-up">
226
+ <div class="flex items-center mb-6">
227
+ <button onclick="hideServiceSelection()" class="mr-4 text-gray-600">
228
+ <i class="fas fa-arrow-left text-xl"></i>
229
+ </button>
230
+ <h2 class="text-xl font-bold text-gray-800">Select Your Issue</h2>
231
+ </div>
232
+
233
+ <div class="mb-6">
234
+ <div class="relative">
235
+ <input type="text" placeholder="Search issues..." class="w-full bg-gray-100 rounded-lg pl-10 pr-4 py-3 focus:outline-none focus:ring-2 focus:ring-indigo-500">
236
+ <i class="fas fa-search absolute left-3 top-3.5 text-gray-500"></i>
237
+ </div>
238
+ </div>
239
+
240
+ <div class="mb-6">
241
+ <h3 class="text-lg font-semibold text-gray-800 mb-3">Common PC Issues</h3>
242
+ <div class="grid grid-cols-2 gap-3">
243
+ <button class="bg-gray-50 hover:bg-indigo-50 border border-gray-200 rounded-lg p-3 text-left transition-colors" onclick="showPrioritySelection('Slow Performance')">
244
+ <i class="fas fa-tachometer-alt text-indigo-600 mb-2"></i>
245
+ <h4 class="font-medium text-gray-800">Slow Performance</h4>
246
+ </button>
247
+ <button class="bg-gray-50 hover:bg-indigo-50 border border-gray-200 rounded-lg p-3 text-left transition-colors" onclick="showPrioritySelection('Blue Screen')">
248
+ <i class="fas fa-exclamation-triangle text-red-600 mb-2"></i>
249
+ <h4 class="font-medium text-gray-800">Blue Screen</h4>
250
+ </button>
251
+ <button class="bg-gray-50 hover:bg-indigo-50 border border-gray-200 rounded-lg p-3 text-left transition-colors" onclick="showPrioritySelection('Virus Removal')">
252
+ <i class="fas fa-bug text-green-600 mb-2"></i>
253
+ <h4 class="font-medium text-gray-800">Virus Removal</h4>
254
+ </button>
255
+ <button class="bg-gray-50 hover:bg-indigo-50 border border-gray-200 rounded-lg p-3 text-left transition-colors" onclick="showPrioritySelection('Software Install')">
256
+ <i class="fas fa-download text-blue-600 mb-2"></i>
257
+ <h4 class="font-medium text-gray-800">Software Install</h4>
258
+ </button>
259
+ </div>
260
+ </div>
261
+
262
+ <div>
263
+ <h3 class="text-lg font-semibold text-gray-800 mb-3">Other Categories</h3>
264
+ <div class="space-y-3">
265
+ <button class="w-full bg-gray-50 hover:bg-indigo-50 border border-gray-200 rounded-lg p-4 text-left flex items-center justify-between transition-colors" onclick="showPrioritySelection('Wi-Fi Setup')">
266
+ <div class="flex items-center">
267
+ <div class="w-10 h-10 rounded-lg bg-blue-50 flex items-center justify-center mr-3">
268
+ <i class="fas fa-wifi text-blue-600"></i>
269
+ </div>
270
+ <span class="font-medium text-gray-800">Wi-Fi Setup</span>
271
+ </div>
272
+ <i class="fas fa-chevron-right text-gray-400"></i>
273
+ </button>
274
+ <button class="w-full bg-gray-50 hover:bg-indigo-50 border border-gray-200 rounded-lg p-4 text-left flex items-center justify-between transition-colors" onclick="showPrioritySelection('Phone Repair')">
275
+ <div class="flex items-center">
276
+ <div class="w-10 h-10 rounded-lg bg-green-50 flex items-center justify-center mr-3">
277
+ <i class="fas fa-mobile-alt text-green-600"></i>
278
+ </div>
279
+ <span class="font-medium text-gray-800">Phone Repair</span>
280
+ </div>
281
+ <i class="fas fa-chevron-right text-gray-400"></i>
282
+ </button>
283
+ <button class="w-full bg-gray-50 hover:bg-indigo-50 border border-gray-200 rounded-lg p-4 text-left flex items-center justify-between transition-colors" onclick="showPrioritySelection('Data Recovery')">
284
+ <div class="flex items-center">
285
+ <div class="w-10 h-10 rounded-lg bg-purple-50 flex items-center justify-center mr-3">
286
+ <i class="fas fa-database text-purple-600"></i>
287
+ </div>
288
+ <span class="font-medium text-gray-800">Data Recovery</span>
289
+ </div>
290
+ <i class="fas fa-chevron-right text-gray-400"></i>
291
+ </button>
292
+ </div>
293
+ </div>
294
+ </div>
295
+
296
+ <!-- Priority Selection View (Hidden by default) -->
297
+ <div id="prioritySelectionView" class="hidden px-4 py-6 absolute top-0 left-0 w-full bg-white min-h-screen slide-up">
298
+ <div class="flex items-center mb-6">
299
+ <button onclick="hidePrioritySelection()" class="mr-4 text-gray-600">
300
+ <i class="fas fa-arrow-left text-xl"></i>
301
+ </button>
302
+ <h2 class="text-xl font-bold text-gray-800">Service Priority</h2>
303
+ </div>
304
+
305
+ <div class="mb-8">
306
+ <h3 class="text-lg font-semibold text-gray-800 mb-1" id="selectedServiceTitle">Slow Performance</h3>
307
+ <p class="text-gray-600 mb-6">Select your preferred service level</p>
308
+
309
+ <div class="bg-gray-50 rounded-xl p-4 mb-6">
310
+ <div class="flex items-center justify-between mb-4">
311
+ <div>
312
+ <h4 class="font-medium text-gray-800">Standard Service</h4>
313
+ <p class="text-sm text-gray-600">Next available technician</p>
314
+ </div>
315
+ <label class="relative inline-flex items-center cursor-pointer">
316
+ <input type="checkbox" id="priorityToggle" class="sr-only peer" checked>
317
+ <div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-indigo-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-600"></div>
318
+ </label>
319
+ </div>
320
+
321
+ <div id="standardServiceDetails">
322
+ <div class="flex items-center justify-between mb-3">
323
+ <span class="text-gray-600">Estimated arrival</span>
324
+ <span class="font-medium">Within 2 hours</span>
325
+ </div>
326
+ <div class="flex items-center justify-between">
327
+ <span class="text-gray-600">Service fee</span>
328
+ <span class="font-medium">$49 + $29/hour</span>
329
+ </div>
330
+ </div>
331
+
332
+ <div id="urgentServiceDetails" class="hidden">
333
+ <div class="flex items-center justify-between mb-3">
334
+ <span class="text-gray-600">Estimated arrival</span>
335
+ <span class="font-medium">Within 45 minutes</span>
336
+ </div>
337
+ <div class="flex items-center justify-between">
338
+ <span class="text-gray-600">Service fee</span>
339
+ <div class="flex items-center">
340
+ <span class="font-medium">$79 + $39/hour</span>
341
+ <span class="ml-2 bg-red-100 text-red-800 text-xs px-2 py-0.5 rounded-full">+25%</span>
342
+ </div>
343
+ </div>
344
+ <div class="mt-3 text-sm text-gray-600">
345
+ <i class="fas fa-info-circle mr-1"></i> Higher rates apply during peak hours (6-9 PM)
346
+ </div>
347
+ </div>
348
+ </div>
349
+
350
+ <div class="mb-6">
351
+ <h4 class="font-medium text-gray-800 mb-2">Additional Details</h4>
352
+ <textarea class="w-full bg-gray-100 rounded-lg p-3 focus:outline-none focus:ring-2 focus:ring-indigo-500" rows="3" placeholder="Describe your issue in more detail..."></textarea>
353
+ </div>
354
+
355
+ <div class="mb-6">
356
+ <h4 class="font-medium text-gray-800 mb-2">Upload Photos (Optional)</h4>
357
+ <div class="flex space-x-3">
358
+ <div class="w-16 h-16 rounded-lg bg-gray-200 flex items-center justify-center">
359
+ <i class="fas fa-plus text-gray-500"></i>
360
+ </div>
361
+ <div class="w-16 h-16 rounded-lg bg-gray-200 flex items-center justify-center">
362
+ <i class="fas fa-plus text-gray-500"></i>
363
+ </div>
364
+ <div class="w-16 h-16 rounded-lg bg-gray-200 flex items-center justify-center">
365
+ <i class="fas fa-plus text-gray-500"></i>
366
+ </div>
367
+ </div>
368
+ </div>
369
+ </div>
370
+
371
+ <button class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-3 px-4 rounded-lg transition-colors" onclick="showTechnicianSelection()">
372
+ Find Available Technicians
373
+ </button>
374
+ </div>
375
+
376
+ <!-- Technician Selection View (Hidden by default) -->
377
+ <div id="technicianSelectionView" class="hidden px-4 py-6 absolute top-0 left-0 w-full bg-white min-h-screen slide-up">
378
+ <div class="flex items-center mb-6">
379
+ <button onclick="hideTechnicianSelection()" class="mr-4 text-gray-600">
380
+ <i class="fas fa-arrow-left text-xl"></i>
381
+ </button>
382
+ <h2 class="text-xl font-bold text-gray-800">Available Technicians</h2>
383
+ </div>
384
+
385
+ <div class="mb-4">
386
+ <div class="flex items-center bg-gray-100 rounded-lg px-3 py-2">
387
+ <i class="fas fa-map-marker-alt text-indigo-600 mr-2"></i>
388
+ <span class="text-sm">Your location: 123 Main St, Apt 4B</span>
389
+ <button class="ml-auto text-indigo-600 text-sm font-medium">Change</button>
390
+ </div>
391
+ </div>
392
+
393
+ <div class="mb-6">
394
+ <div class="flex items-center justify-between mb-3">
395
+ <h3 class="font-medium text-gray-800">3 technicians available</h3>
396
+ <div class="flex items-center text-sm">
397
+ <i class="fas fa-filter text-gray-500 mr-1"></i>
398
+ <span>Filter</span>
399
+ </div>
400
+ </div>
401
+
402
+ <div class="space-y-4">
403
+ <div class="tech-card bg-white rounded-xl p-4 shadow-md border border-gray-100 cursor-pointer" onclick="showConfirmation('1')">
404
+ <div class="flex items-start">
405
+ <div class="relative mr-4">
406
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Technician" class="w-14 h-14 rounded-full">
407
+ <div class="absolute bottom-0 right-0 w-5 h-5 bg-green-500 rounded-full border-2 border-white"></div>
408
+ </div>
409
+ <div class="flex-1">
410
+ <div class="flex items-center justify-between mb-1">
411
+ <h4 class="font-medium text-gray-800">Michael S.</h4>
412
+ <span class="text-sm font-medium text-indigo-600">$49 + $29/hr</span>
413
+ </div>
414
+ <div class="flex items-center mb-2">
415
+ <div class="flex items-center mr-3">
416
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
417
+ <span class="text-xs font-medium">4.9 (128)</span>
418
+ </div>
419
+ <div class="flex items-center">
420
+ <i class="fas fa-bolt text-orange-400 text-xs mr-1"></i>
421
+ <span class="text-xs font-medium">5 min response</span>
422
+ </div>
423
+ </div>
424
+ <div class="flex flex-wrap gap-1 mb-3">
425
+ <span class="bg-indigo-100 text-indigo-800 text-xs px-2 py-0.5 rounded-full">PC Specialist</span>
426
+ <span class="bg-blue-100 text-blue-800 text-xs px-2 py-0.5 rounded-full">Certified</span>
427
+ <span class="bg-green-100 text-green-800 text-xs px-2 py-0.5 rounded-full">Top Rated</span>
428
+ </div>
429
+ <div class="flex items-center justify-between text-sm">
430
+ <span class="text-gray-600"><i class="fas fa-clock mr-1"></i> ETA: 25-40 min</span>
431
+ <button class="text-indigo-600 font-medium">View Profile</button>
432
+ </div>
433
+ </div>
434
+ </div>
435
+ </div>
436
+
437
+ <div class="tech-card bg-white rounded-xl p-4 shadow-md border border-gray-100 cursor-pointer" onclick="showConfirmation('2')">
438
+ <div class="flex items-start">
439
+ <div class="relative mr-4">
440
+ <img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Technician" class="w-14 h-14 rounded-full">
441
+ <div class="absolute bottom-0 right-0 w-5 h-5 bg-green-500 rounded-full border-2 border-white"></div>
442
+ </div>
443
+ <div class="flex-1">
444
+ <div class="flex items-center justify-between mb-1">
445
+ <h4 class="font-medium text-gray-800">Sarah L.</h4>
446
+ <span class="text-sm font-medium text-indigo-600">$49 + $29/hr</span>
447
+ </div>
448
+ <div class="flex items-center mb-2">
449
+ <div class="flex items-center mr-3">
450
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
451
+ <span class="text-xs font-medium">4.8 (97)</span>
452
+ </div>
453
+ <div class="flex items-center">
454
+ <i class="fas fa-bolt text-orange-400 text-xs mr-1"></i>
455
+ <span class="text-xs font-medium">7 min response</span>
456
+ </div>
457
+ </div>
458
+ <div class="flex flex-wrap gap-1 mb-3">
459
+ <span class="bg-blue-100 text-blue-800 text-xs px-2 py-0.5 rounded-full">Network Guru</span>
460
+ <span class="bg-purple-100 text-purple-800 text-xs px-2 py-0.5 rounded-full">Apple Certified</span>
461
+ </div>
462
+ <div class="flex items-center justify-between text-sm">
463
+ <span class="text-gray-600"><i class="fas fa-clock mr-1"></i> ETA: 35-50 min</span>
464
+ <button class="text-indigo-600 font-medium">View Profile</button>
465
+ </div>
466
+ </div>
467
+ </div>
468
+ </div>
469
+
470
+ <div class="tech-card bg-white rounded-xl p-4 shadow-md border border-gray-100 cursor-pointer" onclick="showConfirmation('3')">
471
+ <div class="flex items-start">
472
+ <div class="relative mr-4">
473
+ <img src="https://randomuser.me/api/portraits/men/75.jpg" alt="Technician" class="w-14 h-14 rounded-full">
474
+ <div class="absolute bottom-0 right-0 w-5 h-5 bg-yellow-500 rounded-full border-2 border-white"></div>
475
+ </div>
476
+ <div class="flex-1">
477
+ <div class="flex items-center justify-between mb-1">
478
+ <h4 class="font-medium text-gray-800">David K.</h4>
479
+ <span class="text-sm font-medium text-indigo-600">$49 + $29/hr</span>
480
+ </div>
481
+ <div class="flex items-center mb-2">
482
+ <div class="flex items-center mr-3">
483
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
484
+ <span class="text-xs font-medium">4.7 (86)</span>
485
+ </div>
486
+ <div class="flex items-center">
487
+ <i class="fas fa-bolt text-orange-400 text-xs mr-1"></i>
488
+ <span class="text-xs font-medium">10 min response</span>
489
+ </div>
490
+ </div>
491
+ <div class="flex flex-wrap gap-1 mb-3">
492
+ <span class="bg-purple-100 text-purple-800 text-xs px-2 py-0.5 rounded-full">Data Recovery</span>
493
+ <span class="bg-green-100 text-green-800 text-xs px-2 py-0.5 rounded-full">Windows Expert</span>
494
+ </div>
495
+ <div class="flex items-center justify-between text-sm">
496
+ <span class="text-gray-600"><i class="fas fa-clock mr-1"></i> ETA: 45-60 min</span>
497
+ <button class="text-indigo-600 font-medium">View Profile</button>
498
+ </div>
499
+ </div>
500
+ </div>
501
+ </div>
502
+ </div>
503
+ </div>
504
+
505
+ <div class="text-center text-sm text-gray-500 mb-4">
506
+ <i class="fas fa-shield-alt mr-1"></i> All technicians are background-checked and verified
507
+ </div>
508
+ </div>
509
+
510
+ <!-- Confirmation View (Hidden by default) -->
511
+ <div id="confirmationView" class="hidden px-4 py-6 absolute top-0 left-0 w-full bg-white min-h-screen slide-up">
512
+ <div class="flex items-center mb-6">
513
+ <button onclick="hideConfirmation()" class="mr-4 text-gray-600">
514
+ <i class="fas fa-arrow-left text-xl"></i>
515
+ </button>
516
+ <h2 class="text-xl font-bold text-gray-800">Confirm Booking</h2>
517
+ </div>
518
+
519
+ <div class="mb-6">
520
+ <div class="bg-gray-50 rounded-xl p-4 mb-4">
521
+ <div class="flex items-start mb-4">
522
+ <div class="relative mr-4">
523
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Technician" class="w-14 h-14 rounded-full">
524
+ <div class="absolute bottom-0 right-0 w-5 h-5 bg-green-500 rounded-full border-2 border-white"></div>
525
+ </div>
526
+ <div>
527
+ <h4 class="font-medium text-gray-800 mb-1">Michael S.</h4>
528
+ <div class="flex items-center mb-2">
529
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
530
+ <span class="text-xs font-medium">4.9 (128 reviews)</span>
531
+ </div>
532
+ <div class="flex flex-wrap gap-1">
533
+ <span class="bg-indigo-100 text-indigo-800 text-xs px-2 py-0.5 rounded-full">PC Specialist</span>
534
+ <span class="bg-blue-100 text-blue-800 text-xs px-2 py-0.5 rounded-full">Certified</span>
535
+ </div>
536
+ </div>
537
+ </div>
538
+
539
+ <div class="space-y-3">
540
+ <div class="flex justify-between">
541
+ <span class="text-gray-600">Service</span>
542
+ <span class="font-medium">PC Slow Performance</span>
543
+ </div>
544
+ <div class="flex justify-between">
545
+ <span class="text-gray-600">Service level</span>
546
+ <span class="font-medium">Standard</span>
547
+ </div>
548
+ <div class="flex justify-between">
549
+ <span class="text-gray-600">Estimated arrival</span>
550
+ <span class="font-medium">25-40 minutes</span>
551
+ </div>
552
+ <div class="flex justify-between">
553
+ <span class="text-gray-600">Location</span>
554
+ <span class="font-medium">123 Main St, Apt 4B</span>
555
+ </div>
556
+ </div>
557
+ </div>
558
+
559
+ <div class="bg-gray-50 rounded-xl p-4 mb-4">
560
+ <h4 class="font-medium text-gray-800 mb-3">Pricing Estimate</h4>
561
+ <div class="space-y-2 mb-3">
562
+ <div class="flex justify-between">
563
+ <span class="text-gray-600">Service call fee</span>
564
+ <span class="font-medium">$49.00</span>
565
+ </div>
566
+ <div class="flex justify-between">
567
+ <span class="text-gray-600">Hourly rate (est. 1 hour)</span>
568
+ <span class="font-medium">$29.00</span>
569
+ </div>
570
+ <div class="flex justify-between border-t border-gray-200 pt-2">
571
+ <span class="text-gray-600">Taxes & fees</span>
572
+ <span class="font-medium">$6.24</span>
573
+ </div>
574
+ </div>
575
+ <div class="flex justify-between font-bold text-lg border-t border-gray-200 pt-3">
576
+ <span>Total estimate</span>
577
+ <span>$84.24</span>
578
+ </div>
579
+ <div class="text-xs text-gray-500 mt-2">
580
+ * Final amount may vary based on actual time spent
581
+ </div>
582
+ </div>
583
+
584
+ <div class="bg-gray-50 rounded-xl p-4">
585
+ <h4 class="font-medium text-gray-800 mb-3">Technician Location</h4>
586
+ <div class="map-container mb-3">
587
+ <!-- Map placeholder -->
588
+ <div class="w-full h-full flex items-center justify-center bg-gradient-to-br from-blue-100 to-blue-200">
589
+ <div class="text-center">
590
+ <i class="fas fa-map-marked-alt text-blue-500 text-3xl mb-2"></i>
591
+ <p class="text-blue-800 font-medium">Mapbox Integration</p>
592
+ </div>
593
+ </div>
594
+ </div>
595
+ <div class="flex items-center text-sm">
596
+ <i class="fas fa-car text-gray-500 mr-2"></i>
597
+ <span class="text-gray-600">Approximately 3.2 miles away</span>
598
+ </div>
599
+ </div>
600
+ </div>
601
+
602
+ <div class="fixed bottom-4 left-0 right-0 px-4">
603
+ <button class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-3 px-4 rounded-lg transition-colors flex items-center justify-center" onclick="showJobInProgress()">
604
+ <i class="fas fa-check-circle mr-2"></i>
605
+ Confirm Booking
606
+ </button>
607
+ </div>
608
+ </div>
609
+
610
+ <!-- Job In Progress View (Hidden by default) -->
611
+ <div id="jobInProgressView" class="hidden px-4 py-6 absolute top-0 left-0 w-full bg-white min-h-screen slide-up">
612
+ <div class="flex items-center mb-6">
613
+ <button onclick="hideJobInProgress()" class="mr-4 text-gray-600">
614
+ <i class="fas fa-arrow-left text-xl"></i>
615
+ </button>
616
+ <h2 class="text-xl font-bold text-gray-800">Service in Progress</h2>
617
+ </div>
618
+
619
+ <div class="text-center mb-8">
620
+ <div class="w-20 h-20 rounded-full bg-indigo-100 flex items-center justify-center mx-auto mb-4">
621
+ <i class="fas fa-user-cog text-indigo-600 text-3xl"></i>
622
+ </div>
623
+ <h3 class="text-xl font-bold text-gray-800 mb-1">Michael S. is on the way</h3>
624
+ <p class="text-gray-600">ETA: 12-17 minutes</p>
625
+ </div>
626
+
627
+ <div class="mb-8">
628
+ <div class="flex justify-between mb-2">
629
+ <span class="text-sm font-medium text-gray-700">Service Progress</span>
630
+ <span class="text-sm font-medium text-indigo-600">25%</span>
631
+ </div>
632
+ <div class="progress-bar mb-6">
633
+ <div class="progress-fill" style="width: 25%"></div>
634
+ </div>
635
+
636
+ <div class="space-y-6">
637
+ <div class="flex items-start">
638
+ <div class="w-10 h-10 rounded-full bg-green-100 flex items-center justify-center mr-4 mt-1">
639
+ <i class="fas fa-check text-green-600"></i>
640
+ </div>
641
+ <div>
642
+ <h4 class="font-medium text-gray-800 mb-1">Request Confirmed</h4>
643
+ <p class="text-sm text-gray-600">Your service request has been accepted</p>
644
+ <p class="text-xs text-gray-500 mt-1">2:15 PM</p>
645
+ </div>
646
+ </div>
647
+
648
+ <div class="flex items-start">
649
+ <div class="w-10 h-10 rounded-full bg-green-100 flex items-center justify-center mr-4 mt-1">
650
+ <i class="fas fa-check text-green-600"></i>
651
+ </div>
652
+ <div>
653
+ <h4 class="font-medium text-gray-800 mb-1">Technician Assigned</h4>
654
+ <p class="text-sm text-gray-600">Michael S. (PC Specialist) is your technician</p>
655
+ <p class="text-xs text-gray-500 mt-1">2:18 PM</p>
656
+ </div>
657
+ </div>
658
+
659
+ <div class="flex items-start">
660
+ <div class="w-10 h-10 rounded-full bg-indigo-100 flex items-center justify-center mr-4 mt-1">
661
+ <i class="fas fa-car text-indigo-600"></i>
662
+ </div>
663
+ <div>
664
+ <h4 class="font-medium text-gray-800 mb-1">En Route</h4>
665
+ <p class="text-sm text-gray-600">Technician is on the way to your location</p>
666
+ <p class="text-xs text-gray-500 mt-1">2:25 PM</p>
667
+ </div>
668
+ </div>
669
+
670
+ <div class="flex items-start opacity-50">
671
+ <div class="w-10 h-10 rounded-full bg-gray-100 flex items-center justify-center mr-4 mt-1">
672
+ <i class="fas fa-user text-gray-400"></i>
673
+ </div>
674
+ <div>
675
+ <h4 class="font-medium text-gray-800 mb-1">On-Site Inspection</h4>
676
+ <p class="text-sm text-gray-600">Technician will assess the issue</p>
677
+ </div>
678
+ </div>
679
+
680
+ <div class="flex items-start opacity-50">
681
+ <div class="w-10 h-10 rounded-full bg-gray-100 flex items-center justify-center mr-4 mt-1">
682
+ <i class="fas fa-tools text-gray-400"></i>
683
+ </div>
684
+ <div>
685
+ <h4 class="font-medium text-gray-800 mb-1">Repair in Progress</h4>
686
+ <p class="text-sm text-gray-600">Technician will fix the issue</p>
687
+ </div>
688
+ </div>
689
+
690
+ <div class="flex items-start opacity-50">
691
+ <div class="w-10 h-10 rounded-full bg-gray-100 flex items-center justify-center mr-4 mt-1">
692
+ <i class="fas fa-check-circle text-gray-400"></i>
693
+ </div>
694
+ <div>
695
+ <h4 class="font-medium text-gray-800 mb-1">Job Completed</h4>
696
+ <p class="text-sm text-gray-600">Service will be marked as complete</p>
697
+ </div>
698
+ </div>
699
+ </div>
700
+ </div>
701
+
702
+ <div class="fixed bottom-4 left-0 right-0 px-4">
703
+ <div class="bg-white p-4 rounded-xl shadow-lg border border-gray-100 mb-3">
704
+ <div class="flex items-center justify-between mb-2">
705
+ <div class="flex items-center">
706
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Technician" class="w-10 h-10 rounded-full mr-3">
707
+ <div>
708
+ <h4 class="font-medium text-gray-800">Michael S.</h4>
709
+ <div class="flex items-center">
710
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
711
+ <span class="text-xs">4.9</span>
712
+ </div>
713
+ </div>
714
+ </div>
715
+ <div class="flex space-x-2">
716
+ <button class="w-10 h-10 rounded-full bg-indigo-100 flex items-center justify-center text-indigo-600">
717
+ <i class="fas fa-phone"></i>
718
+ </button>
719
+ <button class="w-10 h-10 rounded-full bg-indigo-100 flex items-center justify-center text-indigo-600">
720
+ <i class="fas fa-comment"></i>
721
+ </button>
722
+ </div>
723
+ </div>
724
+ <div class="map-container">
725
+ <!-- Map placeholder -->
726
+ <div class="w-full h-full flex items-center justify-center bg-gradient-to-br from-blue-100 to-blue-200 relative">
727
+ <div class="absolute top-4 left-4 bg-white p-2 rounded-lg shadow-sm">
728
+ <div class="flex items-center">
729
+ <div class="w-3 h-3 rounded-full bg-green-500 mr-2"></div>
730
+ <span class="text-xs font-medium">12 min away</span>
731
+ </div>
732
+ </div>
733
+ <div class="text-center">
734
+ <i class="fas fa-map-marked-alt text-blue-500 text-3xl mb-2"></i>
735
+ <p class="text-blue-800 font-medium">Live Location Tracking</p>
736
+ </div>
737
+ </div>
738
+ </div>
739
+ </div>
740
+
741
+ <button class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-3 px-4 rounded-lg transition-colors mt-2 flex items-center justify-center" onclick="showRemoteOption()">
742
+ <i class="fas fa-video mr-2"></i>
743
+ Start Remote Session
744
+ </button>
745
+ </div>
746
+ </div>
747
+
748
+ <!-- Remote Option View (Hidden by default) -->
749
+ <div id="remoteOptionView" class="hidden px-4 py-6 absolute top-0 left-0 w-full bg-white min-h-screen slide-up">
750
+ <div class="flex items-center mb-6">
751
+ <button onclick="hideRemoteOption()" class="mr-4 text-gray-600">
752
+ <i class="fas fa-arrow-left text-xl"></i>
753
+ </button>
754
+ <h2 class="text-xl font-bold text-gray-800">Remote Assistance</h2>
755
+ </div>
756
+
757
+ <div class="text-center mb-8">
758
+ <div class="ar-view w-24 h-24 rounded-full flex items-center justify-center mx-auto mb-4">
759
+ <i class="fas fa-video text-white text-3xl"></i>
760
+ </div>
761
+ <h3 class="text-xl font-bold text-gray-800 mb-2">AR-Powered Remote Help</h3>
762
+ <p class="text-gray-600 max-w-md mx-auto">Many issues can be diagnosed and fixed remotely, saving time for both you and the technician.</p>
763
+ </div>
764
+
765
+ <div class="bg-gray-50 rounded-xl p-4 mb-6">
766
+ <h4 class="font-medium text-gray-800 mb-3">How it works:</h4>
767
+ <div class="space-y-4">
768
+ <div class="flex items-start">
769
+ <div class="w-8 h-8 rounded-full bg-indigo-100 flex items-center justify-center mr-3 mt-0.5">
770
+ <span class="text-indigo-600 font-medium">1</span>
771
+ </div>
772
+ <div>
773
+ <h5 class="font-medium text-gray-800 mb-1">Start Session</h5>
774
+ <p class="text-sm text-gray-600">Initiate a secure video call with your technician</p>
775
+ </div>
776
+ </div>
777
+ <div class="flex items-start">
778
+ <div class="w-8 h-8 rounded-full bg-indigo-100 flex items-center justify-center mr-3 mt-0.5">
779
+ <span class="text-indigo-600 font-medium">2</span>
780
+ </div>
781
+ <div>
782
+ <h5 class="font-medium text-gray-800 mb-1">Show the Issue</h5>
783
+ <p class="text-sm text-gray-600">Use your camera to show error messages or hardware</p>
784
+ </div>
785
+ </div>
786
+ <div class="flex items-start">
787
+ <div class="w-8 h-8 rounded-full bg-indigo-100 flex items-center justify-center mr-3 mt-0.5">
788
+ <span class="text-indigo-600 font-medium">3</span>
789
+ </div>
790
+ <div>
791
+ <h5 class="font-medium text-gray-800 mb-1">Follow Guidance</h5>
792
+ <p class="text-sm text-gray-600">Technician will guide you through the solution</p>
793
+ </div>
794
+ </div>
795
+ </div>
796
+ </div>
797
+
798
+ <div class="mb-6">
799
+ <div class="flex items-center justify-between mb-3">
800
+ <h4 class="font-medium text-gray-800">Remote Service Benefits</h4>
801
+ </div>
802
+ <div class="grid grid-cols-2 gap-3">
803
+ <div class="bg-white rounded-lg p-3 border border-gray-200">
804
+ <i class="fas fa-clock text-indigo-600 mb-2"></i>
805
+ <p class="text-sm font-medium">Faster Resolution</p>
806
+ </div>
807
+ <div class="bg-white rounded-lg p-3 border border-gray-200">
808
+ <i class="fas fa-dollar-sign text-green-600 mb-2"></i>
809
+ <p class="text-sm font-medium">Lower Cost</p>
810
+ </div>
811
+ <div class="bg-white rounded-lg p-3 border border-gray-200">
812
+ <i class="fas fa-shield-alt text-blue-600 mb-2"></i>
813
+ <p class="text-sm font-medium">Secure Connection</p>
814
+ </div>
815
+ <div class="bg-white rounded-lg p-3 border border-gray-200">
816
+ <i class="fas fa-user-check text-purple-600 mb-2"></i>
817
+ <p class="text-sm font-medium">No Contact Needed</p>
818
+ </div>
819
+ </div>
820
+ </div>
821
+
822
+ <div class="fixed bottom-4 left-0 right-0 px-4">
823
+ <button class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-3 px-4 rounded-lg transition-colors mb-2" onclick="startRemoteSession()">
824
+ Start Remote Session Now
825
+ </button>
826
+ <button class="w-full bg-white hover:bg-gray-50 text-gray-800 font-medium py-3 px-4 rounded-lg transition-colors border border-gray-300" onclick="hideRemoteOption()">
827
+ Continue with On-Site Visit
828
+ </button>
829
+ </div>
830
+ </div>
831
+
832
+ <!-- Payment & Feedback View (Hidden by default) -->
833
+ <div id="paymentFeedbackView" class="hidden px-4 py-6 absolute top-0 left-0 w-full bg-white min-h-screen slide-up">
834
+ <div class="flex flex-col items-center justify-center h-full">
835
+ <div class="w-24 h-24 rounded-full bg-green-100 flex items-center justify-center mb-6">
836
+ <i class="fas fa-check-circle text-green-600 text-4xl"></i>
837
+ </div>
838
+ <h2 class="text-2xl font-bold text-gray-800 mb-2">Service Completed!</h2>
839
+ <p class="text-gray-600 mb-8 max-w-md text-center">Thank you for choosing FixIT-On-Demand. Your technician has marked the service as complete.</p>
840
+
841
+ <div class="w-full max-w-sm bg-gray-50 rounded-xl p-6 mb-8">
842
+ <h3 class="font-bold text-gray-800 mb-4 text-center">Service Summary</h3>
843
+
844
+ <div class="flex items-center mb-4">
845
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Technician" class="w-12 h-12 rounded-full mr-3">
846
+ <div>
847
+ <h4 class="font-medium text-gray-800">Michael S.</h4>
848
+ <div class="flex items-center">
849
+ <i class="fas fa-star text-yellow-400 text-xs mr-1"></i>
850
+ <span class="text-xs">4.9</span>
851
+ </div>
852
+ </div>
853
+ </div>
854
+
855
+ <div class="space-y-3 mb-4">
856
+ <div class="flex justify-between">
857
+ <span class="text-gray-600">Service</span>
858
+ <span class="font-medium">PC Slow Performance</span>
859
+ </div>
860
+ <div class="flex justify-between">
861
+ <span class="text-gray-600">Time spent</span>
862
+ <span class="font-medium">1 hour 15 minutes</span>
863
+ </div>
864
+ <div class="flex justify-between">
865
+ <span class="text-gray-600">Service call fee</span>
866
+ <span class="font-medium">$49.00</span>
867
+ </div>
868
+ <div class="flex justify-between">
869
+ <span class="text-gray-600">Hourly rate (1.25 hours)</span>
870
+ <span class="font-medium">$36.25</span>
871
+ </div>
872
+ <div class="flex justify-between border-t border-gray-200 pt-2">
873
+ <span class="text-gray-600">Taxes & fees</span>
874
+ <span class="font-medium">$7.85</span>
875
+ </div>
876
+ </div>
877
+ <div class="flex justify-between font-bold text-lg border-t border-gray-200 pt-3">
878
+ <span>Total</span>
879
+ <span>$93.10</span>
880
+ </div>
881
+ </div>
882
+
883
+ <div class="w-full max-w-sm mb-8">
884
+ <h3 class="font-bold text-gray-800 mb-4 text-center">Rate Your Experience</h3>
885
+ <div class="flex justify-center space-x-2 mb-4">
886
+ <i class="fas fa-star text-2xl text-gray-300 hover:text-yellow-400 cursor-pointer" onmouseover="hoverStar(1)" onclick="rateService(1)"></i>
887
+ <i class="fas fa-star text-2xl text-gray-300 hover:text-yellow-400 cursor-pointer" onmouseover="hoverStar(2)" onclick="rateService(2)"></i>
888
+ <i class="fas fa-star text-2xl text-gray-300 hover:text-yellow-400 cursor-pointer" onmouseover="hoverStar(3)" onclick="rateService(3)"></i>
889
+ <i class="fas fa-star text-2xl text-gray-300 hover:text-yellow-400 cursor-pointer" onmouseover="hoverStar(4)" onclick="rateService(4)"></i>
890
+ <i class="fas fa-star text-2xl text-gray-300 hover:text-yellow-400 cursor-pointer" onmouseover="hoverStar(5)" onclick="rateService(5)"></i>
891
+ </div>
892
+ <textarea class="w-full bg-gray-100 rounded-lg p-3 focus:outline-none focus:ring-2 focus:ring-indigo-500 mb-3" rows="3" placeholder="Optional: Tell us about your experience..."></textarea>
893
+ </div>
894
+
895
+ <div class="w-full max-w-sm fixed bottom-4 left-0 right-0 px-4">
896
+ <button class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-3 px-4 rounded-lg transition-colors mb-2" onclick="processPayment()">
897
+ <i class="fas fa-credit-card mr-2"></i>
898
+ Pay Now ($93.10)
899
+ </button>
900
+ <button class="w-full bg-white hover:bg-gray-50 text-gray-800 font-medium py-3 px-4 rounded-lg transition-colors border border-gray-300">
901
+ <i class="fas fa-file-invoice-dollar mr-2"></i>
902
+ Request Invoice
903
+ </button>
904
+ </div>
905
+ </div>
906
+ </div>
907
+ </main>
908
+
909
+ <!-- Bottom Navigation -->
910
+ <nav class="fixed bottom-0 left-0 right-0 bg-white shadow-lg border-t border-gray-200">
911
+ <div class="flex justify-around items-center p-2">
912
+ <button class="flex flex-col items-center text-indigo-600 p-2">
913
+ <i class="fas fa-home text-xl mb-1"></i>
914
+ <span class="text-xs">Home</span>
915
+ </button>
916
+ <button class="flex flex-col items-center text-gray-500 hover:text-indigo-600 p-2">
917
+ <i class="fas fa-search text-xl mb-1"></i>
918
+ <span class="text-xs">Search</span>
919
+ </button>
920
+ <button class="flex flex-col items-center text-gray-500 hover:text-indigo-600 p-2">
921
+ <i class="fas fa-history text-xl mb-1"></i>
922
+ <span class="text-xs">History</span>
923
+ </button>
924
+ <button class="flex flex-col items-center text-gray-500 hover:text-indigo-600 p-2">
925
+ <i class="fas fa-user text-xl mb-1"></i>
926
+ <span class="text-xs">Profile</span>
927
+ </button>
928
+ </div>
929
+ </nav>
930
+
931
+ <script>
932
+ // View navigation functions
933
+ function showServiceSelection() {
934
+ document.getElementById('dashboardView').classList.add('hidden');
935
+ document.getElementById('serviceSelectionView').classList.remove('hidden');
936
+ }
937
+
938
+ function hideServiceSelection() {
939
+ document.getElementById('serviceSelectionView').classList.add('hidden');
940
+ document.getElementById('dashboardView').classList.remove('hidden');
941
+ }
942
+
943
+ function showPrioritySelection(service) {
944
+ document.getElementById('selectedServiceTitle').textContent = service;
945
+ document.getElementById('serviceSelectionView').classList.add('hidden');
946
+ document.getElementById('prioritySelectionView').classList.remove('hidden');
947
+
948
+ // Set up priority toggle
949
+ const toggle = document.getElementById('priorityToggle');
950
+ toggle.addEventListener('change', function() {
951
+ if(this.checked) {
952
+ document.getElementById('standardServiceDetails').classList.remove('hidden');
953
+ document.getElementById('urgentServiceDetails').classList.add('hidden');
954
+ } else {
955
+ document.getElementById('standardServiceDetails').classList.add('hidden');
956
+ document.getElementById('urgentServiceDetails').classList.remove('hidden');
957
+ }
958
+ });
959
+ }
960
+
961
+ function hidePrioritySelection() {
962
+ document.getElementById('prioritySelectionView').classList.add('hidden');
963
+ document.getElementById('serviceSelectionView').classList.remove('hidden');
964
+ }
965
+
966
+ function showTechnicianSelection() {
967
+ document.getElementById('prioritySelectionView').classList.add('hidden');
968
+ document.getElementById('technicianSelectionView').classList.remove('hidden');
969
+ }
970
+
971
+ function hideTechnicianSelection() {
972
+ document.getElementById('technicianSelectionView').classList.add('hidden');
973
+ document.getElementById('prioritySelectionView').classList.remove('hidden');
974
+ }
975
+
976
+ function showConfirmation(techId) {
977
+ document.getElementById('technicianSelectionView').classList.add('hidden');
978
+ document.getElementById('confirmationView').classList.remove('hidden');
979
+ }
980
+
981
+ function hideConfirmation() {
982
+ document.getElementById('confirmationView').classList.add('hidden');
983
+ document.getElementById('technicianSelectionView').classList.remove('hidden');
984
+ }
985
+
986
+ function showJobInProgress() {
987
+ document.getElementById('confirmationView').classList.add('hidden');
988
+ document.getElementById('jobInProgressView').classList.remove('hidden');
989
+ }
990
+
991
+ function hideJobInProgress() {
992
+ document.getElementById('jobInProgressView').classList.add('hidden');
993
+ document.getElementById('dashboardView').classList.remove('hidden');
994
+ }
995
+
996
+ function showRemoteOption() {
997
+ document.getElementById('jobInProgressView').classList.add('hidden');
998
+ document.getElementById('remoteOptionView').classList.remove('hidden');
999
+ }
1000
+
1001
+ function hideRemoteOption() {
1002
+ document.getElementById('remoteOptionView').classList.add('hidden');
1003
+ document.getElementById('jobInProgressView').classList.remove('hidden');
1004
+ }
1005
+
1006
+ function startRemoteSession() {
1007
+ document.getElementById('remoteOptionView').classList.add('hidden');
1008
+ // In a real app, this would start the remote session
1009
+ alert('Starting secure remote session with your technician...');
1010
+ }
1011
+
1012
+ function showPaymentFeedback() {
1013
+ document.getElementById('jobInProgressView').classList.add('hidden');
1014
+ document.getElementById('paymentFeedbackView').classList.remove('hidden');
1015
+ }
1016
+
1017
+ // Rating functionality
1018
+ let currentRating = 0;
1019
+
1020
+ function hoverStar(num) {
1021
+ const stars = document.querySelectorAll('.fa-star');
1022
+ stars.forEach((star, index) => {
1023
+ if(index < num) {
1024
+ star.classList.add('text-yellow-400');
1025
+ star.classList.remove('text-gray-300');
1026
+ } else {
1027
+ star.classList.remove('text-yellow-400');
1028
+ star.classList.add('text-gray-300');
1029
+ }
1030
+ });
1031
+ }
1032
+
1033
+ function rateService(num) {
1034
+ currentRating = num;
1035
+ const stars = document.querySelectorAll('.fa-star');
1036
+ stars.forEach((star, index) => {
1037
+ if(index < num) {
1038
+ star.classList.add('text-yellow-400');
1039
+ star.classList.remove('text-gray-300');
1040
+ } else {
1041
+ star.classList.remove('text-yellow-400');
1042
+ star.classList.add('text-gray-300');
1043
+ }
1044
+ });
1045
+ }
1046
+
1047
+ function processPayment() {
1048
+ alert('Payment processed successfully! Thank you for your feedback.');
1049
+ document.getElementById('paymentFeedbackView').classList.add('hidden');
1050
+ document.getElementById('dashboardView').classList.remove('hidden');
1051
+ }
1052
+
1053
+ // Simulate job completion after 10 seconds
1054
+ setTimeout(() => {
1055
+ // This would be triggered by actual job completion in a real app
1056
+ if(!document.getElementById('jobInProgressView').classList.contains('hidden')) {
1057
+ showPaymentFeedback();
1058
+ }
1059
+ }, 10000);
1060
+ </script>
1061
+ <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=LukasBe/fixit-on-demand" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
1062
+ </html>
prompts.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ the mobile app is the beating heart of FixIT‑On‑Demand—it’s where trust is built, transactions happen, and satisfaction is delivered. Here’s how it works, step by step: 1. Seamless Onboarding & Trust Signals Quick Registration: Customers sign up using phone or e‑mail in under 30 seconds. Verified Profiles: Before booking, users see each technician’s name, photo, skill badges (e.g. “Hardware Specialist,” “Network Guru”), average star rating, and recent reviews—instantly establishing credibility. 2. Intuitive Problem Definition Guided Issue Selection: Rather than a free‑form form, the app presents a clean checklist (“Slow PC,” “Blue Screen,” “Software Install,” “Wi‑Fi Setup,” etc.) plus an “Other” field. Priority Slider: Customers choose “Standard” or “Urgent” and see how that affects ETA and pricing. 3. Real‑Time Matching & Dynamic Pricing Live Technician Pool: Based on the selected problem, location, and urgency, our orchestration engine filters for proximity, skill match, and workload. Surge Indicator: If demand spikes (e.g. evenings), customers see a transparent “+ 25 %” surge tag—with an explanation (“High demand between 6–9 PM”). 4. Transparent Confirmation Cost Breakdown: Before tapping “Confirm,” users review a line‑item estimate: base fee + per‑hour rate + any surge or service fees. ETA & Route Preview: An integrated map (powered by Mapbox) shows the technician’s current location and an estimated arrival window. 5. In‑App Communication & Diagnostics Live Chat & Calls: Secure text and VOIP let customers clarify details or send photos of error messages. Remote Diagnostics Option: One tap launches an AR‑powered video session—so many issues can be diagnosed (and often fixed) remotely, saving both parties travel time. 6. Job Tracking & Completion Progress Bar: The job page tracks every stage: “Technician En Route,” “On‑Site Inspection,” “Repair in Progress,” and “Job Completed.” Digital Receipt: Upon completion, customers receive a detailed service report (work done, parts used, time spent) and an itemized invoice. 7. Effortless Payment & Feedback One‑Tap Payment: Stored card, local bank transfer, or mobile‑wallet options settle the invoice instantly. Rating Prompt: Right after payment, a lightweight 5‑star + comment prompt opens—fueling our continuous quality loop. By encapsulating every interaction—from problem diagnosis through payment—into a single, intuitive mobile journey, our app not only reduces friction but also turns DIY frustration into a delightful, trust‑filled experience. That seamless, data‑rich flow is what drives repeat usage, word‑of‑mouth growth, and ultimately, the network effects that make FixIT‑On‑Demand a scalable, defensible platform.