sam7sam commited on
Commit
3e808ed
·
verified ·
1 Parent(s): 567657f

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +6 -4
  2. index.html +285 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Vtc App
3
- emoji: 🏢
4
- colorFrom: red
5
  colorTo: red
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: vtc-app
3
+ emoji: 🐳
4
+ colorFrom: pink
5
  colorTo: red
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,285 @@
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="fr">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>SamVTC - Gestion des devis et factures pour chauffeurs VTC</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
+ .sidebar {
11
+ transition: all 0.3s ease;
12
+ }
13
+ .sidebar.collapsed {
14
+ width: 70px;
15
+ }
16
+ .sidebar.collapsed .sidebar-text {
17
+ display: none;
18
+ }
19
+ .sidebar.collapsed .logo-text {
20
+ display: none;
21
+ }
22
+ .sidebar.collapsed .nav-item {
23
+ justify-content: center;
24
+ }
25
+ .main-content {
26
+ transition: all 0.3s ease;
27
+ }
28
+ .main-content.expanded {
29
+ margin-left: 70px;
30
+ }
31
+ .pdf-preview {
32
+ height: calc(100vh - 200px);
33
+ }
34
+ @media (max-width: 768px) {
35
+ .sidebar {
36
+ position: fixed;
37
+ z-index: 50;
38
+ height: 100vh;
39
+ }
40
+ .sidebar.collapsed {
41
+ transform: translateX(-100%);
42
+ }
43
+ .main-content.expanded {
44
+ margin-left: 0;
45
+ }
46
+ }
47
+ </style>
48
+ </head>
49
+ <body class="bg-gray-100 font-sans">
50
+ <div class="flex h-screen overflow-hidden">
51
+ <!-- Sidebar -->
52
+ <div class="sidebar bg-indigo-800 text-white w-64 flex flex-col">
53
+ <div class="p-4 flex items-center space-x-2 border-b border-indigo-700">
54
+ <i class="fas fa-taxi text-2xl text-indigo-300"></i>
55
+ <span class="logo-text text-xl font-bold">SamVTC</span>
56
+ </div>
57
+
58
+ <div class="p-4 border-b border-indigo-700">
59
+ <div class="flex items-center space-x-2">
60
+ <div class="w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
61
+ <i class="fas fa-user text-indigo-300"></i>
62
+ </div>
63
+ <div class="sidebar-text">
64
+ <div class="font-medium">John Doe</div>
65
+ <div class="text-xs text-indigo-300">Chauffeur VTC</div>
66
+ </div>
67
+ </div>
68
+ </div>
69
+
70
+ <nav class="flex-1 overflow-y-auto p-4 space-y-1">
71
+ <a href="#" class="nav-item flex items-center space-x-3 p-2 rounded hover:bg-indigo-700 text-indigo-200 hover:text-white">
72
+ <i class="fas fa-home w-6 text-center"></i>
73
+ <span class="sidebar-text">Tableau de bord</span>
74
+ </a>
75
+ <a href="#" class="nav-item flex items-center space-x-3 p-2 rounded bg-indigo-900 text-white">
76
+ <i class="fas fa-file-invoice-dollar w-6 text-center"></i>
77
+ <span class="sidebar-text">Devis</span>
78
+ </a>
79
+ <a href="#" class="nav-item flex items-center space-x-3 p-2 rounded hover:bg-indigo-700 text-indigo-200 hover:text-white">
80
+ <i class="fas fa-receipt w-6 text-center"></i>
81
+ <span class="sidebar-text">Factures</span>
82
+ </a>
83
+ <a href="#" class="nav-item flex items-center space-x-3 p-2 rounded hover:bg-indigo-700 text-indigo-200 hover:text-white">
84
+ <i class="fas fa-users w-6 text-center"></i>
85
+ <span class="sidebar-text">Clients</span>
86
+ </a>
87
+ <a href="#" class="nav-item flex items-center space-x-3 p-2 rounded hover:bg-indigo-700 text-indigo-200 hover:text-white">
88
+ <i class="fas fa-chart-line w-6 text-center"></i>
89
+ <span class="sidebar-text">Statistiques</span>
90
+ </a>
91
+ <a href="#" class="nav-item flex items-center space-x-3 p-2 rounded hover:bg-indigo-700 text-indigo-200 hover:text-white">
92
+ <i class="fas fa-cog w-6 text-center"></i>
93
+ <span class="sidebar-text">Paramètres</span>
94
+ </a>
95
+ </nav>
96
+
97
+ <div class="p-4 border-t border-indigo-700">
98
+ <button onclick="toggleSidebar()" class="flex items-center space-x-3 p-2 rounded hover:bg-indigo-700 text-indigo-200 hover:text-white w-full">
99
+ <i class="fas fa-chevron-left w-6 text-center"></i>
100
+ <span class="sidebar-text">Réduire</span>
101
+ </button>
102
+ </div>
103
+ </div>
104
+
105
+ <!-- Main Content -->
106
+ <div class="main-content flex-1 overflow-y-auto">
107
+ <!-- Header -->
108
+ <header class="bg-white shadow-sm p-4 flex justify-between items-center">
109
+ <div class="flex items-center space-x-4">
110
+ <button onclick="toggleSidebar()" class="md:hidden text-gray-600">
111
+ <i class="fas fa-bars"></i>
112
+ </button>
113
+ <h1 class="text-xl font-semibold text-gray-800">Créer un nouveau devis</h1>
114
+ </div>
115
+ <div class="flex items-center space-x-4">
116
+ <button class="p-2 rounded-full bg-gray-100 text-gray-600 hover:bg-gray-200">
117
+ <i class="fas fa-bell"></i>
118
+ </button>
119
+ <div class="w-8 h-8 rounded-full bg-indigo-100 flex items-center justify-center text-indigo-700">
120
+ <i class="fas fa-user"></i>
121
+ </div>
122
+ </div>
123
+ </header>
124
+
125
+ <!-- Content -->
126
+ <div class="p-4 md:p-6">
127
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
128
+ <!-- Form Column -->
129
+ <div class="lg:col-span-2 space-y-6">
130
+ <!-- Client Info -->
131
+ <div class="bg-white rounded-lg shadow p-6">
132
+ <h2 class="text-lg font-semibold text-gray-800 mb-4 flex items-center">
133
+ <i class="fas fa-user-circle text-indigo-500 mr-2"></i>
134
+ Informations client
135
+ </h2>
136
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
137
+ <div>
138
+ <label class="block text-sm font-medium text-gray-700 mb-1">Nom complet</label>
139
+ <input type="text" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
140
+ </div>
141
+ <div>
142
+ <label class="block text-sm font-medium text-gray-700 mb-1">Entreprise (optionnel)</label>
143
+ <input type="text" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
144
+ </div>
145
+ <div>
146
+ <label class="block text-sm font-medium text-gray-700 mb-1">Email</label>
147
+ <input type="email" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
148
+ </div>
149
+ <div>
150
+ <label class="block text-sm font-medium text-gray-700 mb-1">Téléphone</label>
151
+ <input type="tel" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
152
+ </div>
153
+ </div>
154
+ </div>
155
+
156
+ <!-- Course Details -->
157
+ <div class="bg-white rounded-lg shadow p-6">
158
+ <h2 class="text-lg font-semibold text-gray-800 mb-4 flex items-center">
159
+ <i class="fas fa-route text-indigo-500 mr-2"></i>
160
+ Détails de la course
161
+ </h2>
162
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
163
+ <div>
164
+ <label class="block text-sm font-medium text-gray-700 mb-1">Date de la course</label>
165
+ <input type="date" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
166
+ </div>
167
+ <div>
168
+ <label class="block text-sm font-medium text-gray-700 mb-1">Heure de prise en charge</label>
169
+ <input type="time" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
170
+ </div>
171
+ <div>
172
+ <label class="block text-sm font-medium text-gray-700 mb-1">Lieu de départ</label>
173
+ <input type="text" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
174
+ </div>
175
+ <div>
176
+ <label class="block text-sm font-medium text-gray-700 mb-1">Lieu d'arrivée</label>
177
+ <input type="text" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
178
+ </div>
179
+ <div>
180
+ <label class="block text-sm font-medium text-gray-700 mb-1">Distance (km)</label>
181
+ <input type="number" step="0.1" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
182
+ </div>
183
+ <div>
184
+ <label class="block text-sm font-medium text-gray-700 mb-1">Durée estimée</label>
185
+ <input type="text" placeholder="HH:MM" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
186
+ </div>
187
+ </div>
188
+ </div>
189
+
190
+ <!-- Pricing -->
191
+ <div class="bg-white rounded-lg shadow p-6">
192
+ <h2 class="text-lg font-semibold text-gray-800 mb-4 flex items-center">
193
+ <i class="fas fa-euro-sign text-indigo-500 mr-2"></i>
194
+ Tarification
195
+ </h2>
196
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
197
+ <div>
198
+ <label class="block text-sm font-medium text-gray-700 mb-1">Prix HT (€)</label>
199
+ <input type="number" step="0.01" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
200
+ </div>
201
+ <div>
202
+ <label class="block text-sm font-medium text-gray-700 mb-1">Taux TVA</label>
203
+ <select class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500">
204
+ <option value="0">0% (TVA non applicable)</option>
205
+ <option value="10">10%</option>
206
+ <option value="20">20%</option>
207
+ </select>
208
+ </div>
209
+ <div>
210
+ <label class="block text-sm font-medium text-gray-700 mb-1">Prix TTC (€)</label>
211
+ <input type="number" step="0.01" class="w-full px-3 py-2 border border-gray-300 rounded-md bg-gray-100" readonly>
212
+ </div>
213
+ </div>
214
+ <div class="mt-4">
215
+ <label class="block text-sm font-medium text-gray-700 mb-1">Notes supplémentaires</label>
216
+ <textarea rows="3" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-500"></textarea>
217
+ </div>
218
+ </div>
219
+
220
+ <!-- Actions -->
221
+ <div class="flex flex-col sm:flex-row justify-between space-y-3 sm:space-y-0 sm:space-x-4">
222
+ <button class="px-4 py-2 bg-gray-200 text-gray-700 rounded-md hover:bg-gray-300 flex items-center justify-center">
223
+ <i class="fas fa-save mr-2"></i> Enregistrer comme brouillon
224
+ </button>
225
+ <div class="flex space-x-4">
226
+ <button class="px-4 py-2 border border-indigo-500 text-indigo-500 rounded-md hover:bg-indigo-50 flex items-center justify-center">
227
+ <i class="fas fa-eye mr-2"></i> Prévisualiser
228
+ </button>
229
+ <button class="px-4 py-2 bg-indigo-600 text-white rounded-md hover:bg-indigo-700 flex items-center justify-center">
230
+ <i class="fas fa-file-pdf mr-2"></i> Générer le devis
231
+ </button>
232
+ </div>
233
+ </div>
234
+ </div>
235
+
236
+ <!-- Preview Column -->
237
+ <div class="hidden lg:block">
238
+ <div class="bg-white rounded-lg shadow p-6 sticky top-6">
239
+ <h2 class="text-lg font-semibold text-gray-800 mb-4 flex items-center">
240
+ <i class="fas fa-file-pdf text-indigo-500 mr-2"></i>
241
+ Aperçu du devis
242
+ </h2>
243
+ <div class="pdf-preview border-2 border-dashed border-gray-300 rounded-md flex items-center justify-center bg-gray-50">
244
+ <div class="text-center p-6">
245
+ <i class="fas fa-file-alt text-4xl text-gray-400 mb-3"></i>
246
+ <p class="text-gray-500">L'aperçu du devis apparaîtra ici</p>
247
+ </div>
248
+ </div>
249
+ <div class="mt-4 text-sm text-gray-500">
250
+ <p><i class="fas fa-info-circle text-indigo-400 mr-1"></i> Le devis sera généré avec votre logo et vos coordonnées.</p>
251
+ </div>
252
+ </div>
253
+ </div>
254
+ </div>
255
+ </div>
256
+ </div>
257
+ </div>
258
+
259
+ <script>
260
+ // Toggle sidebar
261
+ function toggleSidebar() {
262
+ const sidebar = document.querySelector('.sidebar');
263
+ const mainContent = document.querySelector('.main-content');
264
+
265
+ sidebar.classList.toggle('collapsed');
266
+ mainContent.classList.toggle('expanded');
267
+ }
268
+
269
+ // Calculate TTC price
270
+ const htInput = document.querySelector('input[type="number"]');
271
+ const tvaSelect = document.querySelector('select');
272
+ const ttcInput = document.querySelectorAll('input[type="number"]')[1];
273
+
274
+ function calculateTTC() {
275
+ const ht = parseFloat(htInput.value) || 0;
276
+ const tvaRate = parseFloat(tvaSelect.value) || 0;
277
+ const ttc = ht * (1 + tvaRate / 100);
278
+ ttcInput.value = ttc.toFixed(2);
279
+ }
280
+
281
+ htInput.addEventListener('input', calculateTTC);
282
+ tvaSelect.addEventListener('change', calculateTTC);
283
+ </script>
284
+ <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=sam7sam/vtc-app" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
285
+ </html>