|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>FixIT-On-Demand - Mobile App UI</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"> |
|
|
<style> |
|
|
|
|
|
.progress-bar { |
|
|
height: 8px; |
|
|
border-radius: 4px; |
|
|
background-color: #e5e7eb; |
|
|
} |
|
|
|
|
|
.progress-fill { |
|
|
height: 100%; |
|
|
border-radius: 4px; |
|
|
background-color: #3b82f6; |
|
|
width: 25%; |
|
|
transition: width 0.3s ease; |
|
|
} |
|
|
|
|
|
.skill-badge { |
|
|
display: inline-block; |
|
|
padding: 2px 8px; |
|
|
border-radius: 12px; |
|
|
font-size: 12px; |
|
|
margin-right: 6px; |
|
|
margin-bottom: 6px; |
|
|
} |
|
|
|
|
|
.problem-card { |
|
|
transition: all 0.2s ease; |
|
|
} |
|
|
|
|
|
.problem-card:hover { |
|
|
transform: translateY(-2px); |
|
|
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
|
|
|
.slider-thumb::-webkit-slider-thumb { |
|
|
-webkit-appearance: none; |
|
|
appearance: none; |
|
|
width: 24px; |
|
|
height: 24px; |
|
|
border-radius: 50%; |
|
|
background: #3b82f6; |
|
|
cursor: pointer; |
|
|
} |
|
|
|
|
|
.map-container { |
|
|
height: 200px; |
|
|
background-color: #e5e7eb; |
|
|
border-radius: 12px; |
|
|
position: relative; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.map-placeholder { |
|
|
position: absolute; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
color: #6b7280; |
|
|
} |
|
|
|
|
|
.rating-star { |
|
|
color: #e5e7eb; |
|
|
} |
|
|
|
|
|
.rating-star.active { |
|
|
color: #f59e0b; |
|
|
} |
|
|
|
|
|
.chat-bubble { |
|
|
max-width: 80%; |
|
|
padding: 10px 14px; |
|
|
border-radius: 18px; |
|
|
margin-bottom: 8px; |
|
|
} |
|
|
|
|
|
.chat-bubble.customer { |
|
|
background-color: #3b82f6; |
|
|
color: white; |
|
|
align-self: flex-end; |
|
|
} |
|
|
|
|
|
.chat-bubble.tech { |
|
|
background-color: #e5e7eb; |
|
|
color: #1f2937; |
|
|
align-self: flex-start; |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body class="bg-gray-50 font-sans"> |
|
|
|
|
|
<div class="max-w-md mx-auto bg-white shadow-lg rounded-2xl overflow-hidden min-h-screen"> |
|
|
|
|
|
<header class="bg-blue-600 text-white p-4 flex items-center justify-between"> |
|
|
<button class="text-white"> |
|
|
<i class="fas fa-bars"></i> |
|
|
</button> |
|
|
<h1 class="text-xl font-bold">FixIT-On-Demand</h1> |
|
|
<button class="text-white"> |
|
|
<i class="fas fa-user-circle"></i> |
|
|
</button> |
|
|
</header> |
|
|
|
|
|
|
|
|
<main class="p-4"> |
|
|
|
|
|
<section id="onboarding" class="mb-8"> |
|
|
<h2 class="text-xl font-semibold mb-4 text-gray-800">Get Started in Seconds</h2> |
|
|
<div class="bg-blue-50 p-4 rounded-lg mb-4"> |
|
|
<div class="flex items-center mb-3"> |
|
|
<div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center mr-3"> |
|
|
<i class="fas fa-user-plus text-blue-600"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h3 class="font-medium">Quick Registration</h3> |
|
|
<p class="text-sm text-gray-600">Sign up with phone or email in under 30 seconds</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-center"> |
|
|
<div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center mr-3"> |
|
|
<i class="fas fa-shield-alt text-blue-600"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h3 class="font-medium">Verified Technicians</h3> |
|
|
<p class="text-sm text-gray-600">All technicians are background-checked and certified</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100"> |
|
|
<h3 class="font-medium mb-2">Sample Technician Profile</h3> |
|
|
<div class="flex items-center mb-3"> |
|
|
<img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Technician" class="w-12 h-12 rounded-full mr-3"> |
|
|
<div> |
|
|
<h4 class="font-medium">Alex Johnson</h4> |
|
|
<div class="flex items-center"> |
|
|
<div class="flex mr-2"> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400"></i> |
|
|
</div> |
|
|
<span class="text-sm text-gray-600">4.8 (127 reviews)</span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-3"> |
|
|
<span class="skill-badge bg-blue-100 text-blue-800">Hardware Specialist</span> |
|
|
<span class="skill-badge bg-green-100 text-green-800">Network Guru</span> |
|
|
<span class="skill-badge bg-purple-100 text-purple-800">MacOS Expert</span> |
|
|
</div> |
|
|
|
|
|
<p class="text-sm text-gray-600 mb-3">"Alex fixed my laptop in under an hour when no one else could figure out the problem. Highly recommended!"</p> |
|
|
|
|
|
<div class="flex justify-between items-center"> |
|
|
<div class="text-sm"> |
|
|
<span class="text-gray-600">Response time:</span> |
|
|
<span class="font-medium">15 min avg</span> |
|
|
</div> |
|
|
<button class="bg-blue-600 text-white px-3 py-1 rounded-full text-sm"> |
|
|
View Profile |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
|
|
|
|
|
|
<section id="problem-definition" class="mb-8"> |
|
|
<h2 class="text-xl font-semibold mb-4 text-gray-800">What's the issue?</h2> |
|
|
<div class="grid grid-cols-2 gap-3 mb-4"> |
|
|
<div class="problem-card bg-white p-4 rounded-lg shadow-sm border border-gray-100 text-center cursor-pointer hover:border-blue-200"> |
|
|
<div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-laptop text-blue-600 text-xl"></i> |
|
|
</div> |
|
|
<h3 class="font-medium text-sm">Slow PC</h3> |
|
|
</div> |
|
|
<div class="problem-card bg-white p-4 rounded-lg shadow-sm border border-gray-100 text-center cursor-pointer hover:border-blue-200"> |
|
|
<div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-exclamation-triangle text-blue-600 text-xl"></i> |
|
|
</div> |
|
|
<h3 class="font-medium text-sm">Blue Screen</h3> |
|
|
</div> |
|
|
<div class="problem-card bg-white p-4 rounded-lg shadow-sm border border-gray-100 text-center cursor-pointer hover:border-blue-200"> |
|
|
<div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-download text-blue-600 text-xl"></i> |
|
|
</div> |
|
|
<h3 class="font-medium text-sm">Software Install</h3> |
|
|
</div> |
|
|
<div class="problem-card bg-white p-4 rounded-lg shadow-sm border border-gray-100 text-center cursor-pointer hover:border-blue-200"> |
|
|
<div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2"> |
|
|
<i class="fas fa-wifi text-blue-600 text-xl"></i> |
|
|
</div> |
|
|
<h3 class="font-medium text-sm">Wi-Fi Setup</h3> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-4"> |
|
|
<label class="block text-sm font-medium text-gray-700 mb-1">Or describe your issue</label> |
|
|
<textarea class="w-full p-3 border border-gray-300 rounded-lg focus:ring-blue-500 focus:border-blue-500" rows="2" placeholder="E.g. 'My printer won't connect to my new laptop'"></textarea> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100"> |
|
|
<h3 class="font-medium mb-3">How urgent is your issue?</h3> |
|
|
<div class="flex items-center justify-between mb-2"> |
|
|
<span class="text-sm font-medium">Standard</span> |
|
|
<span class="text-sm font-medium">Urgent</span> |
|
|
</div> |
|
|
<input type="range" min="0" max="100" value="50" class="w-full slider-thumb"> |
|
|
|
|
|
<div class="mt-4 flex justify-between"> |
|
|
<div> |
|
|
<div class="text-sm text-gray-600">ETA</div> |
|
|
<div class="font-medium">1-2 hours</div> |
|
|
</div> |
|
|
<div> |
|
|
<div class="text-sm text-gray-600">Price</div> |
|
|
<div class="font-medium">$49 base</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
|
|
|
|
|
|
<section id="matching-pricing" class="mb-8"> |
|
|
<h2 class="text-xl font-semibold mb-4 text-gray-800">Available Technicians</h2> |
|
|
|
|
|
<div class="bg-yellow-50 border border-yellow-200 rounded-lg p-3 mb-4 flex items-start"> |
|
|
<i class="fas fa-exclamation-circle text-yellow-500 mt-1 mr-2"></i> |
|
|
<div> |
|
|
<h3 class="font-medium text-yellow-800">High Demand Notice</h3> |
|
|
<p class="text-sm text-yellow-700">Due to high demand between 6-9 PM, prices are currently +25%</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-4"> |
|
|
<div class="flex items-center justify-between mb-3"> |
|
|
<h3 class="font-medium">Best Match</h3> |
|
|
<span class="text-sm bg-green-100 text-green-800 px-2 py-1 rounded-full">Available Now</span> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-center mb-3"> |
|
|
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Technician" class="w-12 h-12 rounded-full mr-3"> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-medium">Sarah Miller</h4> |
|
|
<div class="flex items-center"> |
|
|
<div class="flex mr-2"> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400"></i> |
|
|
</div> |
|
|
<span class="text-sm text-gray-600">4.9 (86 reviews)</span> |
|
|
</div> |
|
|
</div> |
|
|
<div class="text-right"> |
|
|
<div class="font-medium text-blue-600">$61</div> |
|
|
<div class="text-sm text-gray-600">ETA: 45 min</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex justify-between text-sm mb-3"> |
|
|
<span class="text-gray-600">Distance: 1.2 miles</span> |
|
|
<span class="text-gray-600">Specializes in: Laptops, Software</span> |
|
|
</div> |
|
|
|
|
|
<div class="progress-bar"> |
|
|
<div class="progress-fill"></div> |
|
|
</div> |
|
|
<div class="text-xs text-gray-500 mt-1">Matching score: 98%</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100"> |
|
|
<div class="flex items-center justify-between mb-3"> |
|
|
<h3 class="font-medium">Other Options</h3> |
|
|
<span class="text-sm bg-blue-100 text-blue-800 px-2 py-1 rounded-full">2 Available</span> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-center mb-3"> |
|
|
<img src="https://randomuser.me/api/portraits/men/75.jpg" alt="Technician" class="w-10 h-10 rounded-full mr-3"> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-medium">James Wilson</h4> |
|
|
<div class="flex items-center"> |
|
|
<div class="flex mr-2"> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star-half-alt text-yellow-400"></i> |
|
|
</div> |
|
|
<span class="text-sm text-gray-600">4.7 (203 reviews)</span> |
|
|
</div> |
|
|
</div> |
|
|
<div class="text-right"> |
|
|
<div class="font-medium text-blue-600">$55</div> |
|
|
<div class="text-sm text-gray-600">ETA: 1h 15m</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-center"> |
|
|
<img src="https://randomuser.me/api/portraits/men/12.jpg" alt="Technician" class="w-10 h-10 rounded-full mr-3"> |
|
|
<div class="flex-1"> |
|
|
<h4 class="font-medium">Michael Brown</h4> |
|
|
<div class="flex items-center"> |
|
|
<div class="flex mr-2"> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400 mr-1"></i> |
|
|
<i class="fas fa-star text-yellow-400"></i> |
|
|
</div> |
|
|
<span class="text-sm text-gray-600">4.8 (156 reviews)</span> |
|
|
</div> |
|
|
</div> |
|
|
<div class="text-right"> |
|
|
<div class="font-medium text-blue-600">$58</div> |
|
|
<div class="text-sm text-gray-600">ETA: 1h 30m</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
|
|
|
|
|
|
<section id="confirmation" class="mb-8"> |
|
|
<h2 class="text-xl font-semibold mb-4 text-gray-800">Confirm Your Booking</h2> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-4"> |
|
|
<h3 class="font-medium mb-3">Service Summary</h3> |
|
|
|
|
|
<div class="flex justify-between mb-2"> |
|
|
<span class="text-gray-600">Service Type:</span> |
|
|
<span class="font-medium">Laptop Repair - Slow Performance</span> |
|
|
</div> |
|
|
<div class="flex justify-between mb-2"> |
|
|
<span class="text-gray-600">Technician:</span> |
|
|
<span class="font-medium">Sarah Miller</span> |
|
|
</div> |
|
|
<div class="flex justify-between mb-2"> |
|
|
<span class="text-gray-600">Urgency:</span> |
|
|
<span class="font-medium">Standard</span> |
|
|
</div> |
|
|
<div class="flex justify-between mb-2"> |
|
|
<span class="text-gray-600">Location:</span> |
|
|
<span class="font-medium">123 Main St, Apt 4B</span> |
|
|
</div> |
|
|
|
|
|
<div class="border-t border-gray-200 my-3"></div> |
|
|
|
|
|
<h3 class="font-medium mb-2">Price Breakdown</h3> |
|
|
<div class="flex justify-between mb-1"> |
|
|
<span class="text-gray-600">Base Fee</span> |
|
|
<span>$49.00</span> |
|
|
</div> |
|
|
<div class="flex justify-between mb-1"> |
|
|
<span class="text-gray-600">Surge Pricing</span> |
|
|
<span>$12.25</span> |
|
|
</div> |
|
|
<div class="flex justify-between mb-1"> |
|
|
<span class="text-gray-600">Estimated Time (1h)</span> |
|
|
<span>$25.00</span> |
|
|
</div> |
|
|
<div class="border-t border-gray-200 my-2"></div> |
|
|
<div class="flex justify-between font-medium"> |
|
|
<span>Total</span> |
|
|
<span>$86.25</span> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-4"> |
|
|
<h3 class="font-medium mb-3">Technician Location</h3> |
|
|
<div class="map-container"> |
|
|
<div class="map-placeholder"> |
|
|
<div class="text-center"> |
|
|
<i class="fas fa-map-marker-alt text-3xl mb-2"></i> |
|
|
<p>Technician is 1.2 miles away</p> |
|
|
<p class="text-sm">ETA: 45 minutes</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<button class="w-full bg-blue-600 text-white py-3 rounded-lg font-medium hover:bg-blue-700 transition"> |
|
|
Confirm Booking ($86.25) |
|
|
</button> |
|
|
</section> |
|
|
|
|
|
|
|
|
<section id="communication" class="mb-8"> |
|
|
<h2 class="text-xl font-semibold mb-4 text-gray-800">In-App Communication</h2> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-4"> |
|
|
<div class="flex items-center justify-between mb-4"> |
|
|
<div class="flex items-center"> |
|
|
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Technician" class="w-10 h-10 rounded-full mr-3"> |
|
|
<div> |
|
|
<h3 class="font-medium">Sarah Miller</h3> |
|
|
<div class="text-sm text-gray-600">En route - ETA 15 min</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="flex"> |
|
|
<button class="w-10 h-10 rounded-full bg-blue-100 text-blue-600 flex items-center justify-center mr-2"> |
|
|
<i class="fas fa-phone"></i> |
|
|
</button> |
|
|
<button class="w-10 h-10 rounded-full bg-blue-100 text-blue-600 flex items-center justify-center"> |
|
|
<i class="fas fa-video"></i> |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex flex-col mb-4" style="height: 200px; overflow-y: auto;"> |
|
|
<div class="chat-bubble customer"> |
|
|
Hi Sarah, my laptop is the silver Dell on the kitchen table |
|
|
</div> |
|
|
<div class="chat-bubble tech"> |
|
|
Got it! I'll be there in about 15 minutes. Is there a parking spot I should know about? |
|
|
</div> |
|
|
<div class="chat-bubble customer"> |
|
|
Yes, there's visitor parking in front of building 3 |
|
|
</div> |
|
|
<div class="chat-bubble tech"> |
|
|
Perfect, see you soon! |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex"> |
|
|
<input type="text" placeholder="Type a message..." class="flex-1 p-3 border border-gray-300 rounded-l-lg focus:ring-blue-500 focus:border-blue-500"> |
|
|
<button class="bg-blue-600 text-white px-4 rounded-r-lg"> |
|
|
<i class="fas fa-paper-plane"></i> |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100"> |
|
|
<h3 class="font-medium mb-3">Remote Diagnostics</h3> |
|
|
<p class="text-sm text-gray-600 mb-4">Many issues can be diagnosed remotely to save time. Would you like to start a remote session now?</p> |
|
|
|
|
|
<div class="flex justify-between"> |
|
|
<button class="flex-1 bg-blue-600 text-white py-2 rounded-lg mr-2 flex items-center justify-center"> |
|
|
<i class="fas fa-video mr-2"></i> Start Video Call |
|
|
</button> |
|
|
<button class="flex-1 bg-gray-100 text-gray-800 py-2 rounded-lg flex items-center justify-center"> |
|
|
<i class="fas fa-share-square mr-2"></i> Share Screen |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
|
|
|
|
|
|
<section id="job-tracking" class="mb-8"> |
|
|
<h2 class="text-xl font-semibold mb-4 text-gray-800">Job Progress</h2> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-4"> |
|
|
<div class="flex justify-between mb-4"> |
|
|
<div class="flex items-center"> |
|
|
<div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center mr-3"> |
|
|
<i class="fas fa-user-cog text-blue-600"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h3 class="font-medium">Sarah Miller</h3> |
|
|
<div class="text-sm text-gray-600">Hardware Specialist</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="text-right"> |
|
|
<div class="text-sm text-gray-600">Time spent</div> |
|
|
<div class="font-medium">45 min</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="space-y-4 mb-4"> |
|
|
<div class="flex items-start"> |
|
|
<div class="w-8 h-8 bg-green-100 rounded-full flex items-center justify-center mr-3 mt-1"> |
|
|
<i class="fas fa-check text-green-600"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h4 class="font-medium">Technician En Route</h4> |
|
|
<p class="text-sm text-gray-600">Arrived at 3:15 PM</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-start"> |
|
|
<div class="w-8 h-8 bg-green-100 rounded-full flex items-center justify-center mr-3 mt-1"> |
|
|
<i class="fas fa-check text-green-600"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h4 class="font-medium">On-Site Inspection</h4> |
|
|
<p class="text-sm text-gray-600">Diagnosed slow HDD</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-start"> |
|
|
<div class="w-8 h-8 bg-blue-100 rounded-full flex items-center justify-center mr-3 mt-1"> |
|
|
<i class="fas fa-cog text-blue-600 animate-spin"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h4 class="font-medium">Repair in Progress</h4> |
|
|
<p class="text-sm text-gray-600">Replacing with SSD</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-start"> |
|
|
<div class="w-8 h-8 bg-gray-100 rounded-full flex items-center justify-center mr-3 mt-1"> |
|
|
<i class="fas fa-ellipsis-h text-gray-400"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h4 class="font-medium text-gray-400">Job Completed</h4> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="progress-bar"> |
|
|
<div class="progress-fill" style="width: 75%;"></div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100"> |
|
|
<h3 class="font-medium mb-3">Digital Receipt Preview</h3> |
|
|
|
|
|
<div class="border border-gray-200 rounded-lg p-3 mb-3"> |
|
|
<div class="flex justify-between mb-2"> |
|
|
<span class="text-gray-600">Service:</span> |
|
|
<span>Dell Inspiron SSD Upgrade</span> |
|
|
</div> |
|
|
<div class="flex justify-between mb-2"> |
|
|
<span class="text-gray-600">Parts:</span> |
|
|
<span>500GB Samsung SSD</span> |
|
|
</div> |
|
|
<div class="flex justify-between mb-2"> |
|
|
<span class="text-gray-600">Labor:</span> |
|
|
<span>45 minutes</span> |
|
|
</div> |
|
|
<div class="border-t border-gray-200 my-2"></div> |
|
|
<div class="flex justify-between font-medium"> |
|
|
<span>Total:</span> |
|
|
<span>$149.99</span> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<button class="w-full bg-gray-100 text-gray-800 py-2 rounded-lg font-medium hover:bg-gray-200 transition"> |
|
|
View Full Receipt |
|
|
</button> |
|
|
</div> |
|
|
</section> |
|
|
|
|
|
|
|
|
<section id="payment-feedback"> |
|
|
<h2 class="text-xl font-semibold mb-4 text-gray-800">Payment & Feedback</h2> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-4"> |
|
|
<h3 class="font-medium mb-3">Payment Method</h3> |
|
|
|
|
|
<div class="flex items-center justify-between p-3 border border-gray-200 rounded-lg mb-3"> |
|
|
<div class="flex items-center"> |
|
|
<div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center mr-3"> |
|
|
<i class="fab fa-cc-visa text-blue-600"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h4 class="font-medium">Visa •••• 4242</h4> |
|
|
<p class="text-sm text-gray-600">Expires 05/25</p> |
|
|
</div> |
|
|
</div> |
|
|
<i class="fas fa-check-circle text-green-500"></i> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-center justify-between p-3 border border-gray-200 rounded-lg mb-3"> |
|
|
<div class="flex items-center"> |
|
|
<div class="w-10 h-10 bg-gray-100 rounded-full flex items-center justify-center mr-3"> |
|
|
<i class="fab fa-paypal text-blue-500"></i> |
|
|
</div> |
|
|
<div> |
|
|
<h4 class="font-medium">PayPal</h4> |
|
|
<p class="text-sm text-gray-600">user@example.com</p> |
|
|
</div> |
|
|
</div> |
|
|
<i class="fas fa-chevron-right text-gray-400"></i> |
|
|
</div> |
|
|
|
|
|
<button class="w-full bg-gray-100 text-gray-800 py-2 rounded-lg font-medium hover:bg-gray-200 transition"> |
|
|
<i class="fas fa-plus mr-2"></i> Add Payment Method |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white p-4 rounded-lg shadow-sm border border-gray-100"> |
|
|
<h3 class="font-medium mb-3">Rate Your Experience</h3> |
|
|
<p class="text-sm text-gray-600 mb-4">How would you rate Sarah's service?</p> |
|
|
|
|
|
<div class="flex justify-center mb-4"> |
|
|
<div class="rating-star text-3xl mr-2 active">★</div> |
|
|
<div class="rating-star text-3xl mr-2 active">★</div> |
|
|
<div class="rating-star text-3xl mr-2 active">★</div> |
|
|
<div class="rating-star text-3xl mr-2 active">★</div> |
|
|
<div class="rating-star text-3xl">★</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-4"> |
|
|
<label class="block text-sm font-medium text-gray-700 mb-1">Leave a comment (optional)</label> |
|
|
<textarea class="w-full p-3 border border-gray-300 rounded-lg focus:ring-blue-500 focus:border-blue-500" rows="3" placeholder="What did you like about the service?"></textarea> |
|
|
</div> |
|
|
|
|
|
<button class="w-full bg-blue-600 text-white py-3 rounded-lg font-medium hover:bg-blue-700 transition"> |
|
|
Submit Review & Pay $149.99 |
|
|
</button> |
|
|
</div> |
|
|
</section> |
|
|
</main> |
|
|
|
|
|
|
|
|
<nav class="bg-white border-t border-gray-200 fixed bottom-0 w-full max-w-md"> |
|
|
<div class="flex justify-around"> |
|
|
<a href="#" class="flex flex-col items-center py-2 px-4 text-blue-600"> |
|
|
<i class="fas fa-home"></i> |
|
|
<span class="text-xs mt-1">Home</span> |
|
|
</a> |
|
|
<a href="#" class="flex flex-col items-center py-2 px-4 text-gray-500"> |
|
|
<i class="fas fa-search"></i> |
|
|
<span class="text-xs mt-1">Search</span> |
|
|
</a> |
|
|
<a href="#" class="flex flex-col items-center py-2 px-4 text-gray-500"> |
|
|
<i class="fas fa-calendar-alt"></i> |
|
|
<span class="text-xs mt-1">Bookings</span> |
|
|
</a> |
|
|
<a href="#" class="flex flex-col items-center py-2 px-4 text-gray-500"> |
|
|
<i class="fas fa-user"></i> |
|
|
<span class="text-xs mt-1">Profile</span> |
|
|
</a> |
|
|
</div> |
|
|
</nav> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
|
|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
|
|
const stars = document.querySelectorAll('.rating-star'); |
|
|
stars.forEach((star, index) => { |
|
|
star.addEventListener('click', () => { |
|
|
stars.forEach((s, i) => { |
|
|
if (i <= index) { |
|
|
s.classList.add('active'); |
|
|
} else { |
|
|
s.classList.remove('active'); |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const problemCards = document.querySelectorAll('.problem-card'); |
|
|
problemCards.forEach(card => { |
|
|
card.addEventListener('click', () => { |
|
|
problemCards.forEach(c => c.classList.remove('border-blue-500', 'bg-blue-50')); |
|
|
card.classList.add('border-blue-500', 'bg-blue-50'); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const slider = document.querySelector('input[type="range"]'); |
|
|
if (slider) { |
|
|
slider.addEventListener('input', function() { |
|
|
const value = this.value; |
|
|
const urgent = value > 50; |
|
|
|
|
|
|
|
|
const etaElement = document.querySelector('#problem-definition .font-medium:first-child'); |
|
|
const priceElement = document.querySelector('#problem-definition .font-medium:last-child'); |
|
|
|
|
|
if (urgent) { |
|
|
if (etaElement) etaElement.textContent = '30-45 min'; |
|
|
if (priceElement) priceElement.textContent = '$69 base'; |
|
|
} else { |
|
|
if (etaElement) etaElement.textContent = '1-2 hours'; |
|
|
if (priceElement) priceElement.textContent = '$49 base'; |
|
|
} |
|
|
}); |
|
|
} |
|
|
}); |
|
|
</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=LukasBe/fixit" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
|
|
</html> |