martianband1t commited on
Commit
d82b25a
·
verified ·
1 Parent(s): d54fd6b

verifie le code , analyse les erreur et corrige les a partir des bonnes pratiques de DEVops - Follow Up Deployment

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +356 -19
  3. prompts.txt +4 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Ninjacaller
3
- emoji: 😻
4
- colorFrom: yellow
5
- colorTo: pink
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: ninjacaller
3
+ emoji: 🐳
4
+ colorFrom: gray
5
+ colorTo: green
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,356 @@
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>NinjaCall.ai - Prototype</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
+ <script>
10
+ tailwind.config = {
11
+ theme: {
12
+ extend: {
13
+ colors: {
14
+ primary: '#4F46E5',
15
+ secondary: '#10B981',
16
+ dark: '#1E293B',
17
+ light: '#F8FAFC'
18
+ }
19
+ }
20
+ }
21
+ }
22
+ </script>
23
+ <style>
24
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
25
+
26
+ body {
27
+ font-family: 'Inter', sans-serif;
28
+ background: linear-gradient(135deg, #f0f9ff 0%, #e6f7ff 100%);
29
+ min-height: 100vh;
30
+ display: flex;
31
+ justify-content: center;
32
+ align-items: center;
33
+ padding: 1rem;
34
+ }
35
+
36
+ .mobile-frame {
37
+ width: 100%;
38
+ max-width: 400px;
39
+ height: 85vh;
40
+ background: white;
41
+ border-radius: 40px;
42
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
43
+ overflow: hidden;
44
+ position: relative;
45
+ display: flex;
46
+ flex-direction: column;
47
+ }
48
+
49
+ .screen {
50
+ flex: 1;
51
+ overflow-y: auto;
52
+ padding: 1.5rem;
53
+ display: none;
54
+ }
55
+
56
+ .active-screen {
57
+ display: block;
58
+ }
59
+
60
+ .circular-progress {
61
+ position: relative;
62
+ width: 180px;
63
+ height: 180px;
64
+ border-radius: 50%;
65
+ background: conic-gradient(#4F46E5 0deg, #E2E8F0 0deg);
66
+ display: flex;
67
+ justify-content: center;
68
+ align-items: center;
69
+ margin: 0 auto;
70
+ }
71
+
72
+ .circular-progress::before {
73
+ content: "";
74
+ position: absolute;
75
+ width: 150px;
76
+ height: 150px;
77
+ border-radius: 50%;
78
+ background: white;
79
+ }
80
+
81
+ .progress-value {
82
+ position: relative;
83
+ font-size: 2.5rem;
84
+ font-weight: 700;
85
+ color: #1E293B;
86
+ }
87
+
88
+ .action-card {
89
+ transition: all 0.3s ease;
90
+ transform: translateY(0);
91
+ }
92
+
93
+ .action-card:hover {
94
+ transform: translateY(-5px);
95
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
96
+ }
97
+
98
+ .nav-item {
99
+ transition: all 0.2s ease;
100
+ }
101
+
102
+ .nav-item.active {
103
+ color: #4F46E5;
104
+ }
105
+
106
+ .nav-item:hover:not(.active) {
107
+ color: #64748B;
108
+ }
109
+
110
+ .form-input:focus {
111
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2);
112
+ }
113
+
114
+ .toggle-switch {
115
+ position: relative;
116
+ display: inline-block;
117
+ width: 50px;
118
+ height: 24px;
119
+ }
120
+
121
+ .toggle-switch input {
122
+ opacity: 0;
123
+ width: 0;
124
+ height: 0;
125
+ }
126
+
127
+ .slider {
128
+ position: absolute;
129
+ cursor: pointer;
130
+ top: 0;
131
+ left: 0;
132
+ right: 0;
133
+ bottom: 0;
134
+ background-color: #CBD5E1;
135
+ transition: .4s;
136
+ border-radius: 34px;
137
+ }
138
+
139
+ .slider:before {
140
+ position: absolute;
141
+ content: "";
142
+ height: 16px;
143
+ width: 16px;
144
+ left: 4px;
145
+ bottom: 4px;
146
+ background-color: white;
147
+ transition: .4s;
148
+ border-radius: 50%;
149
+ }
150
+
151
+ input:checked + .slider {
152
+ background-color: #4F46E5;
153
+ }
154
+
155
+ input:checked + .slider:before {
156
+ transform: translateX(26px);
157
+ }
158
+
159
+ .call-btn {
160
+ position: relative;
161
+ overflow: hidden;
162
+ }
163
+
164
+ .call-btn::after {
165
+ content: "";
166
+ position: absolute;
167
+ top: -50%;
168
+ left: -50%;
169
+ width: 200%;
170
+ height: 200%;
171
+ background: rgba(255, 255, 255, 0.1);
172
+ transform: rotate(30deg);
173
+ transition: all 0.6s ease;
174
+ }
175
+
176
+ .call-btn:hover::after {
177
+ transform: rotate(30deg) translate(20%, 20%);
178
+ }
179
+
180
+ .ai-pulse {
181
+ animation: pulse 2s infinite;
182
+ }
183
+
184
+ @keyframes pulse {
185
+ 0% {
186
+ box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.4);
187
+ }
188
+ 70% {
189
+ box-shadow: 0 0 0 10px rgba(79, 70, 229, 0);
190
+ }
191
+ 100% {
192
+ box-shadow: 0 0 0 0 rgba(79, 70, 229, 0);
193
+ }
194
+ }
195
+ </style>
196
+ </head>
197
+ <body>
198
+ <div class="mobile-frame">
199
+ <!-- Status Bar -->
200
+ <div class="flex justify-between items-center px-6 pt-4 pb-2 text-sm text-gray-500">
201
+ <span>9:41</span>
202
+ <div class="flex space-x-1">
203
+ <i class="fas fa-signal"></i>
204
+ <i class="fas fa-wifi"></i>
205
+ <i class="fas fa-battery-full"></i>
206
+ </div>
207
+ </div>
208
+
209
+ <!-- Dashboard Screen -->
210
+ <div id="dashboard" class="screen active-screen">
211
+ <div class="flex flex-col items-center mb-8">
212
+ <div class="flex items-center justify-center mb-6">
213
+ <div class="w-12 h-12 rounded-xl bg-primary flex items-center justify-center mr-3">
214
+ <i class="fas fa-robot text-white text-xl"></i>
215
+ </div>
216
+ <h1 class="text-2xl font-bold text-dark">NinjaCall.ai</h1>
217
+ </div>
218
+
219
+ <div class="text-center mb-2">
220
+ <h2 class="text-lg font-semibold text-gray-600">Votre performance IA</h2>
221
+ <p class="text-sm text-gray-500">Mise à jour: il y a 2 min</p>
222
+ </div>
223
+
224
+ <div class="circular-progress mb-6" style="background: conic-gradient(#4F46E5 252deg, #E2E8F0 0deg)">
225
+ <span class="progress-value">70%</span>
226
+ </div>
227
+
228
+ <div class="text-center">
229
+ <p class="text-gray-600 mb-1">Appels réussis ce mois</p>
230
+ <div class="flex justify-center items-baseline">
231
+ <span class="text-3xl font-bold text-primary">42</span>
232
+ <span class="text-gray-500 ml-1">/60</span>
233
+ </div>
234
+ </div>
235
+ </div>
236
+ </div>
237
+
238
+ <!-- Historique Screen -->
239
+ <div id="history" class="screen">
240
+ <div class="mb-6">
241
+ <h1 class="text-xl font-bold text-dark mb-4">Historique des appels</h1>
242
+ <div class="space-y-3">
243
+ <div class="bg-white p-4 rounded-xl shadow-sm">
244
+ <div class="flex justify-between items-center mb-2">
245
+ <span class="font-medium">Jean Dupont</span>
246
+ <span class="text-sm text-green-600 bg-green-50 px-2 py-1 rounded">Réussi</span>
247
+ </div>
248
+ <p class="text-sm text-gray-500">15 mars 2023 - 14:30</p>
249
+ </div>
250
+ <div class="bg-white p-4 rounded-xl shadow-sm">
251
+ <div class="flex justify-between items-center mb-2">
252
+ <span class="font-medium">Marie Martin</span>
253
+ <span class="text-sm text-yellow-600 bg-yellow-50 px-2 py-1 rounded">En attente</span>
254
+ </div>
255
+ <p class="text-sm text-gray-500">14 mars 2023 - 10:15</p>
256
+ </div>
257
+ </div>
258
+ </div>
259
+ </div>
260
+
261
+ <!-- Paramètres Screen -->
262
+ <div id="settings" class="screen">
263
+ <div class="mb-6">
264
+ <h1 class="text-xl font-bold text-dark mb-4">Paramètres</h1>
265
+ <div class="space-y-4">
266
+ <div class="flex justify-between items-center">
267
+ <span>Notifications</span>
268
+ <label class="toggle-switch">
269
+ <input type="checkbox" checked>
270
+ <span class="slider"></span>
271
+ </label>
272
+ </div>
273
+ <div class="flex justify-between items-center">
274
+ <span>Mode sombre</span>
275
+ <label class="toggle-switch">
276
+ <input type="checkbox">
277
+ <span class="slider"></span>
278
+ </label>
279
+ </div>
280
+ <div class="pt-4 border-t border-gray-100">
281
+ <button class="text-primary font-medium">Changer de mot de passe</button>
282
+ </div>
283
+ </div>
284
+ </div>
285
+ </div>
286
+
287
+ <!-- Profil Screen -->
288
+ <div id="profile" class="screen">
289
+ <div class="mb-6">
290
+ <h1 class="text-xl font-bold text-dark mb-4">Mon Profil</h1>
291
+ <div class="flex flex-col items-center">
292
+ <div class="w-24 h-24 rounded-full bg-gray-200 mb-4 flex items-center justify-center">
293
+ <i class="fas fa-user text-gray-400 text-3xl"></i>
294
+ </div>
295
+ <h2 class="text-lg font-semibold mb-2">John Doe</h2>
296
+ <p class="text-gray-500 mb-6">john.doe@email.com</p>
297
+ <button class="bg-primary text-white px-6 py-2 rounded-lg">Éditer le profil</button>
298
+ </div>
299
+ </div>
300
+ </div>
301
+
302
+ <!-- Bottom Navigation -->
303
+ <div class="flex justify-around items-center border-t border-gray-200 bg-white py-3">
304
+ <a href="#dashboard" class="nav-item active flex flex-col items-center text-xs" onclick="showScreen('dashboard')">
305
+ <i class="fas fa-home text-primary mb-1 text-lg"></i>
306
+ <span class="text-primary">Dashboard</span>
307
+ </a>
308
+ <a href="#history" class="nav-item flex flex-col items-center text-xs text-gray-500" onclick="showScreen('history')">
309
+ <i class="fas fa-history mb-1 text-lg"></i>
310
+ <span>Historique</span>
311
+ </a>
312
+ <a href="#settings" class="nav-item flex flex-col items-center text-xs text-gray-500" onclick="showScreen('settings')">
313
+ <i class="fas fa-cog mb-1 text-lg"></i>
314
+ <span>Paramètres</span>
315
+ </a>
316
+ <a href="#profile" class="nav-item flex flex-col items-center text-xs text-gray-500" onclick="showScreen('profile')">
317
+ <i class="fas fa-user mb-1 text-lg"></i>
318
+ <span>Profil</span>
319
+ </a>
320
+ </div>
321
+ </div>
322
+
323
+ <script>
324
+ function showScreen(screenId) {
325
+ // Hide all screens
326
+ document.querySelectorAll('.screen').forEach(screen => {
327
+ screen.classList.remove('active-screen');
328
+ });
329
+
330
+ // Show selected screen
331
+ document.getElementById(screenId).classList.add('active-screen');
332
+
333
+ // Update all navigation items
334
+ document.querySelectorAll('.nav-item').forEach(item => {
335
+ item.classList.remove('active', 'text-primary');
336
+ item.classList.add('text-gray-500');
337
+ const icon = item.querySelector('i');
338
+ const text = item.querySelector('span');
339
+
340
+ icon.classList.remove('text-primary');
341
+ text.classList.remove('text-primary');
342
+ });
343
+
344
+ // Set current nav item as active
345
+ const activeNavItem = document.querySelector(`a[href="#${screenId}"]`);
346
+ activeNavItem.classList.add('active');
347
+ activeNavItem.classList.remove('text-gray-500');
348
+ activeNavItem.classList.add('text-primary');
349
+
350
+ const activeIcon = activeNavItem.querySelector('i');
351
+ const activeText = activeNavItem.querySelector('span');
352
+ activeIcon.classList.add('text-primary');
353
+ activeText.classList.add('text-primary');
354
+ }
355
+ </script>
356
+ </html>
prompts.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ impemente un menu
2
+ implemente les pages et leurs contenu des boutons créé en bas de la page
3
+ il y a des erreur lorsque j'appuie sur les boutons
4
+ verifie le code , analyse les erreur et corrige les a partir des bonnes pratiques de DEVops