Mattimax commited on
Commit
be5b46b
·
verified ·
1 Parent(s): a0c9d4c

Manual changes saved

Browse files
Files changed (1) hide show
  1. index.html +214 -194
index.html CHANGED
@@ -3,314 +3,334 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>DAC - Private Intelligence</title>
7
  <style>
8
  :root {
9
- --bg-black: #000000;
10
- --bg-card: #1e1f20; /* Grigio scuro tipico delle AI moderne */
11
- --bg-sidebar: #131314;
12
- --text-white: #ffffff;
13
- --text-gray: #b4b4b4;
14
- --rainbow: linear-gradient(90deg, #4285f4, #9b72cb, #d96570, #4285f4);
15
- --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  }
17
 
18
  * { margin: 0; padding: 0; box-sizing: border-box; }
19
 
20
  body {
21
- font-family: "Arial Black", "Arial Bold", Arial, sans-serif;
22
- font-weight: 900;
23
- background-color: var(--bg-black);
24
- color: var(--text-white);
25
  height: 100vh;
26
- overflow: hidden;
27
  display: flex;
 
 
28
  }
29
 
30
- /* --- HEADER --- */
31
  .header {
32
  position: fixed;
33
  top: 0; left: 0; right: 0;
34
- height: 64px;
35
  padding: 0 20px;
36
  display: flex;
37
- justify-content: space-between;
38
  align-items: center;
39
  z-index: 1000;
40
  }
41
 
42
- .header-left { display: flex; align-items: center; gap: 15px; }
43
-
44
  .menu-btn {
 
 
 
45
  cursor: pointer;
46
- padding: 10px;
47
- display: flex;
48
- flex-direction: column;
49
- gap: 5px;
50
- }
51
-
52
- .menu-btn div {
53
- width: 22px; height: 2px;
54
- background: white;
55
  transition: var(--transition);
 
56
  }
57
 
58
- /* Animazione X */
59
- .menu-btn.active .line1 { transform: translateY(7px) rotate(45deg); }
60
- .menu-btn.active .line2 { opacity: 0; }
61
- .menu-btn.active .line3 { transform: translateY(-7px) rotate(-45deg); }
62
 
63
- .user-profile {
64
- width: 40px; height: 40px;
65
- background: #2b2c2d;
66
- border-radius: 50%;
67
- display: flex;
68
- align-items: center;
69
- justify-content: center;
70
- cursor: pointer;
71
- border: 1px solid rgba(255,255,255,0.1);
72
  }
73
 
74
- .user-profile span {
75
- font-family: "Times New Roman", serif;
76
- font-size: 20px;
77
- font-weight: normal;
78
- }
79
 
80
  /* --- SIDEBAR --- */
81
  .sidebar {
 
 
 
 
82
  position: fixed;
83
  left: -300px;
84
  top: 0;
85
- bottom: 0;
86
- width: 300px;
87
- background: var(--bg-sidebar);
88
- transition: var(--transition);
89
  z-index: 900;
90
- padding: 80px 20px;
91
- border-right: 1px solid #303134;
 
 
 
 
92
  }
93
 
94
- .sidebar.open { left: 0; }
95
 
96
- .sidebar-title {
97
- font-size: 12px;
98
- color: var(--text-gray);
99
- margin-bottom: 20px;
100
  text-transform: uppercase;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  }
102
 
103
- /* --- MAIN CONTENT --- */
104
- .main-container {
 
 
 
 
 
 
 
 
 
 
 
105
  flex: 1;
106
  display: flex;
107
  flex-direction: column;
108
  align-items: center;
109
  justify-content: center;
110
- padding: 20px;
111
- }
112
-
113
- .logo-area {
114
- text-align: center;
115
- margin-bottom: 40px;
116
  position: relative;
117
  }
118
 
119
- .logo-text {
120
- font-size: 80px;
121
- letter-spacing: -2px;
122
- margin-bottom: 10px;
123
- background: white;
124
- -webkit-background-clip: text;
125
- -webkit-text-fill-color: transparent;
126
  }
127
 
128
- .aura {
129
  position: absolute;
130
  top: 50%; left: 50%;
131
  transform: translate(-50%, -50%);
132
- width: 200px; height: 200px;
133
- background: var(--rainbow);
134
- background-size: 300% 300%;
135
- filter: blur(80px);
136
- opacity: 0.4;
137
- z-index: -1;
138
- animation: rainbowShift 3s linear infinite;
139
  }
140
 
 
 
 
 
 
 
 
 
 
 
141
  .sub-text {
142
- font-size: 14px;
143
- color: var(--text-gray);
144
  letter-spacing: 5px;
145
- font-weight: bold;
 
 
 
 
 
 
 
146
  }
147
 
148
- /* --- CHAT INPUT (GEMINI STYLE) --- */
149
- .input-wrapper {
 
 
150
  width: 100%;
151
- max-width: 800px;
152
- position: relative;
153
  }
154
 
155
  .input-box {
156
- background: var(--bg-card);
157
- border-radius: 32px;
158
- padding: 12px 24px;
 
159
  display: flex;
160
  align-items: center;
161
- gap: 15px;
 
162
  transition: var(--transition);
163
  }
164
 
165
- .input-box:focus-within {
166
- background: #28292a;
167
- box-shadow: 0 4px 20px rgba(0,0,0,0.5);
168
- }
169
-
170
  textarea {
171
  flex: 1;
172
  background: transparent;
173
  border: none;
174
  outline: none;
175
- color: white;
176
- font-family: Arial, sans-serif;
177
  font-size: 16px;
178
- font-weight: bold;
179
  resize: none;
180
- padding: 10px 0;
 
 
181
  }
182
 
183
- .icon-btn {
184
- background: transparent;
 
 
185
  border: none;
186
  cursor: pointer;
187
- color: var(--text-gray);
188
- display: flex;
189
- align-items: center;
190
- justify-content: center;
191
- }
192
-
193
- .icon-btn:hover { color: white; }
194
-
195
- /* SUGGESTION CHIPS */
196
- .suggestions {
197
- display: flex;
198
- gap: 10px;
199
- margin-top: 20px;
200
- justify-content: center;
201
- }
202
-
203
- .chip {
204
- background: #1e1f20;
205
- padding: 8px 16px;
206
- border-radius: 12px;
207
- font-size: 13px;
208
- cursor: pointer;
209
- border: 1px solid #303134;
210
- transition: 0.2s;
211
  }
212
 
213
- .chip:hover { background: #333537; }
214
-
215
- @keyframes rainbowShift {
216
- 0% { background-position: 0% 50%; }
217
- 50% { background-position: 100% 50%; }
218
- 100% { background-position: 0% 50%; }
 
 
219
  }
220
-
221
- /* TEMA LIGHT */
222
- [data-theme="light"] {
223
- --bg-black: #ffffff;
224
- --bg-card: #f0f4f9;
225
- --bg-sidebar: #f8fafd;
226
- --text-white: #1f1f1f;
227
- --text-gray: #444746;
228
  }
229
-
230
  </style>
231
  </head>
232
  <body>
233
 
234
- <header class="header">
235
- <div class="header-left">
236
- <div class="menu-btn" id="menuToggle">
237
- <div class="line1"></div>
238
- <div class="line2"></div>
239
- <div class="line3"></div>
240
- </div>
241
- <span style="font-size: 18px; letter-spacing: 1px;">DAC AI</span>
242
- </div>
243
-
244
- <div class="user-profile" id="userProfile">
245
- <span>M</span>
246
  </div>
247
- </header>
248
 
249
  <aside class="sidebar" id="sidebar">
250
- <div class="sidebar-title">Recenti</div>
251
- <div style="color: var(--text-gray); font-size: 14px; text-align: center; margin-top: 40px;">
252
- Le tue conversazioni appariranno qui.
 
 
 
 
 
 
 
 
 
253
  </div>
254
  </aside>
255
 
256
- <main class="main-container">
257
- <div class="logo-area">
258
- <div class="aura"></div>
259
  <h1 class="logo-text">DAC</h1>
260
  <p class="sub-text">PRIVATE INTELLIGENCE</p>
261
  </div>
262
 
263
- <div class="input-wrapper">
264
  <div class="input-box">
265
- <button class="icon-btn">
266
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>
267
- </button>
268
- <textarea placeholder="Chiedi a DAC..." rows="1"></textarea>
269
- <button class="icon-btn">
270
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="23"/><line x1="8" y1="23" x2="16" y2="23"/></svg>
271
  </button>
272
  </div>
 
 
273
 
274
- <div class="suggestions">
275
- <div class="chip">Crea un piano</div>
276
- <div class="chip">Analizza codice</div>
277
- <div class="chip">Aiutami a scrivere</div>
 
 
278
  </div>
 
279
  </div>
280
- </main>
281
 
282
  <script>
283
- const menuToggle = document.getElementById('menuToggle');
284
  const sidebar = document.getElementById('sidebar');
285
- const userProfile = document.getElementById('userProfile');
 
 
 
286
 
287
- // Toggle Sidebar
288
- menuToggle.addEventListener('click', () => {
289
- menuToggle.classList.toggle('active');
290
  sidebar.classList.toggle('open');
291
  });
292
 
293
- // Toggle Theme (Dark/Light) su click profilo
294
- userProfile.addEventListener('click', () => {
295
- const currentTheme = document.body.getAttribute('data-theme');
296
- if(currentTheme === 'light') {
297
- document.body.removeAttribute('data-theme');
298
- } else {
299
- document.body.setAttribute('data-theme', 'light');
300
- }
301
  });
302
 
303
- // Auto-resize textarea
304
- const tx = document.getElementsByTagName('textarea');
305
- for (let i = 0; i < tx.length; i++) {
306
- tx[i].setAttribute('style', 'height:' + (tx[i].scrollHeight) + 'px;overflow-y:hidden;');
307
- tx[i].addEventListener("input", OnInput, false);
308
- }
309
 
310
- function OnInput() {
311
- this.style.height = 'auto';
312
- this.style.height = (this.scrollHeight) + 'px';
313
- }
314
  </script>
315
  </body>
316
  </html>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>DAC Private Intelligence</title>
7
  <style>
8
  :root {
9
+ /* Palette Ultra-Premium */
10
+ --bg-dark: #000000;
11
+ --bg-sidebar: rgba(20, 20, 20, 0.9);
12
+ --bg-glass: rgba(255, 255, 255, 0.04);
13
+ /* Gradiente più compatto per diminuire l'ampiezza cromatica */
14
+ --primary-rainbow: linear-gradient(90deg, #4285f4, #9b72cb, #d96570, #4285f4);
15
+ --text-main: #f0f0f0;
16
+ --text-muted: #808080;
17
+ --border-glass: rgba(255, 255, 255, 0.08);
18
+ --shadow-premium: 0 20px 40px rgba(0,0,0,0.6);
19
+ --transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
20
+ }
21
+
22
+ [data-theme="light"] {
23
+ --bg-dark: #f5f7fa;
24
+ --bg-sidebar: rgba(255, 255, 255, 0.9);
25
+ --bg-glass: rgba(0, 0, 0, 0.03);
26
+ --text-main: #222222;
27
+ --text-muted: #666666;
28
+ --border-glass: rgba(0, 0, 0, 0.1);
29
+ --shadow-premium: 0 20px 40px rgba(0,0,0,0.1);
30
  }
31
 
32
  * { margin: 0; padding: 0; box-sizing: border-box; }
33
 
34
  body {
35
+ font-family: 'Segoe UI', Roboto, sans-serif;
36
+ background-color: var(--bg-dark);
37
+ color: var(--text-main);
 
38
  height: 100vh;
 
39
  display: flex;
40
+ overflow: hidden;
41
+ transition: background var(--transition);
42
  }
43
 
44
+ /* --- HEADER & HAMBURGER --- */
45
  .header {
46
  position: fixed;
47
  top: 0; left: 0; right: 0;
48
+ height: 60px;
49
  padding: 0 20px;
50
  display: flex;
 
51
  align-items: center;
52
  z-index: 1000;
53
  }
54
 
 
 
55
  .menu-btn {
56
+ width: 44px; height: 44px;
57
+ display: flex; flex-direction: column;
58
+ justify-content: center; align-items: center;
59
  cursor: pointer;
60
+ z-index: 1100;
61
+ background: var(--bg-glass);
62
+ border-radius: 12px;
63
+ border: 1px solid var(--border-glass);
 
 
 
 
 
64
  transition: var(--transition);
65
+ backdrop-filter: blur(5px);
66
  }
67
 
68
+ .menu-btn:hover { background: rgba(255,255,255,0.08); }
 
 
 
69
 
70
+ .menu-btn-line {
71
+ width: 22px; height: 2px;
72
+ background-color: var(--text-main);
73
+ margin: 3px 0;
74
+ transition: var(--transition);
75
+ transform-origin: center;
76
+ border-radius: 1px;
 
 
77
  }
78
 
79
+ .menu-btn.active .menu-btn-line:nth-child(1) { transform: translateY(8px) rotate(45deg); }
80
+ .menu-btn.active .menu-btn-line:nth-child(2) { opacity: 0; transform: scaleX(0); }
81
+ .menu-btn.active .menu-btn-line:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
 
 
82
 
83
  /* --- SIDEBAR --- */
84
  .sidebar {
85
+ width: 300px;
86
+ background: var(--bg-sidebar);
87
+ backdrop-filter: blur(30px);
88
+ height: 100vh;
89
  position: fixed;
90
  left: -300px;
91
  top: 0;
 
 
 
 
92
  z-index: 900;
93
+ transition: var(--transition);
94
+ display: flex;
95
+ flex-direction: column;
96
+ padding: 80px 20px 20px;
97
+ border-right: 1px solid var(--border-glass);
98
+ box-shadow: 20px 0 50px rgba(0,0,0,0.5);
99
  }
100
 
101
+ .sidebar.open { transform: translateX(300px); }
102
 
103
+ .history-title {
104
+ font-size: 11px;
 
 
105
  text-transform: uppercase;
106
+ color: var(--text-muted);
107
+ letter-spacing: 2px;
108
+ margin-bottom: 25px;
109
+ font-weight: 600;
110
+ }
111
+
112
+ .chat-list { flex: 1; overflow-y: auto; color: var(--text-muted); font-size: 14px; }
113
+
114
+ .profile-section {
115
+ padding: 12px 15px;
116
+ background: var(--bg-glass);
117
+ border-radius: 18px;
118
+ display: flex;
119
+ align-items: center;
120
+ gap: 15px;
121
+ cursor: pointer;
122
+ transition: var(--transition);
123
+ border: 1px solid var(--border-glass);
124
  }
125
 
126
+ .avatar {
127
+ width: 38px; height: 38px;
128
+ border-radius: 50%;
129
+ background: var(--text-main);
130
+ color: var(--bg-dark);
131
+ font-family: 'Georgia', serif;
132
+ font-size: 20px;
133
+ font-weight: bold;
134
+ display: flex; align-items: center; justify-content: center;
135
+ }
136
+
137
+ /* --- LOGO CENTRALE --- */
138
+ .main-content {
139
  flex: 1;
140
  display: flex;
141
  flex-direction: column;
142
  align-items: center;
143
  justify-content: center;
 
 
 
 
 
 
144
  position: relative;
145
  }
146
 
147
+ .logo-container {
148
+ position: relative;
149
+ text-align: center;
150
+ z-index: 10;
 
 
 
151
  }
152
 
153
+ .logo-aura {
154
  position: absolute;
155
  top: 50%; left: 50%;
156
  transform: translate(-50%, -50%);
157
+ width: 220px; height: 220px; /* Ampiezza diminuita */
158
+ background: var(--primary-rainbow);
159
+ background-size: 300%;
160
+ filter: blur(60px); /* Blur più contenuto */
161
+ opacity: 0.3;
162
+ border-radius: 50%;
163
+ animation: rainbow-pulse 4s infinite linear;
164
  }
165
 
166
+ .logo-text {
167
+ font-family: "Arial Black", "Arial Bold", Arial, sans-serif; /* Arial Bold */
168
+ font-weight: 900;
169
+ font-size: 6rem;
170
+ letter-spacing: -3px;
171
+ color: #ffffff;
172
+ position: relative;
173
+ text-shadow: 0 10px 20px rgba(0,0,0,0.4);
174
+ }
175
+
176
  .sub-text {
177
+ color: var(--text-muted);
178
+ font-size: 13px;
179
  letter-spacing: 5px;
180
+ margin-top: 10px;
181
+ font-weight: 700;
182
+ text-transform: uppercase;
183
+ }
184
+
185
+ @keyframes rainbow-pulse {
186
+ 0% { background-position: 0% 50%; }
187
+ 100% { background-position: 300% 50%; }
188
  }
189
 
190
+ /* --- BARRA INPUT ORIGINALE --- */
191
+ .input-container {
192
+ position: fixed;
193
+ bottom: 35px;
194
  width: 100%;
195
+ max-width: 780px;
196
+ padding: 0 20px;
197
  }
198
 
199
  .input-box {
200
+ background: var(--bg-sidebar);
201
+ border: 1px solid var(--border-glass);
202
+ border-radius: 28px;
203
+ padding: 10px 10px 10px 25px;
204
  display: flex;
205
  align-items: center;
206
+ backdrop-filter: blur(20px);
207
+ box-shadow: var(--shadow-premium);
208
  transition: var(--transition);
209
  }
210
 
 
 
 
 
 
211
  textarea {
212
  flex: 1;
213
  background: transparent;
214
  border: none;
215
  outline: none;
216
+ color: var(--text-main);
 
217
  font-size: 16px;
218
+ padding: 12px 0;
219
  resize: none;
220
+ max-height: 150px;
221
+ font-family: Arial, sans-serif;
222
+ font-weight: 600;
223
  }
224
 
225
+ .send-btn {
226
+ width: 46px; height: 46px;
227
+ background: var(--text-main);
228
+ border-radius: 50%;
229
  border: none;
230
  cursor: pointer;
231
+ margin-left: 15px;
232
+ display: flex; align-items: center; justify-content: center;
233
+ transition: var(--transition);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
234
  }
235
 
236
+ /* MODALE SETTINGS */
237
+ .modal-overlay {
238
+ position: fixed; inset: 0;
239
+ background: rgba(0,0,0,0.85);
240
+ backdrop-filter: blur(15px);
241
+ display: flex; align-items: center; justify-content: center;
242
+ opacity: 0; visibility: hidden; z-index: 2000;
243
+ transition: var(--transition);
244
  }
245
+ .modal-overlay.active { opacity: 1; visibility: visible; }
246
+ .modal {
247
+ background: var(--bg-sidebar);
248
+ width: 90%; max-width: 420px;
249
+ padding: 35px; border-radius: 30px;
250
+ border: 1px solid var(--border-glass);
251
+ text-align: center;
 
252
  }
 
253
  </style>
254
  </head>
255
  <body>
256
 
257
+ <div class="header">
258
+ <div class="menu-btn" id="hamburger">
259
+ <div class="menu-btn-line"></div>
260
+ <div class="menu-btn-line"></div>
261
+ <div class="menu-btn-line"></div>
 
 
 
 
 
 
 
262
  </div>
263
+ </div>
264
 
265
  <aside class="sidebar" id="sidebar">
266
+ <div class="history-title">Cronologia Chat</div>
267
+ <div class="chat-list">
268
+ <div style="padding: 15px 0; text-align: center; opacity: 0.5; font-style: italic;">Nessuna conversazione recente</div>
269
+ </div>
270
+
271
+ <div class="profile-section" id="profileBtn">
272
+ <div class="avatar">M</div>
273
+ <div style="flex: 1;">
274
+ <div style="font-size: 15px; font-weight: 600;">Utente Locale</div>
275
+ <div style="font-size: 12px; color: var(--text-muted);">Impostazioni DAC</div>
276
+ </div>
277
+ <span style="font-size: 18px; opacity: 0.7;">⚙️</span>
278
  </div>
279
  </aside>
280
 
281
+ <main class="main-content">
282
+ <div class="logo-container">
283
+ <div class="logo-aura"></div>
284
  <h1 class="logo-text">DAC</h1>
285
  <p class="sub-text">PRIVATE INTELLIGENCE</p>
286
  </div>
287
 
288
+ <div class="input-container">
289
  <div class="input-box">
290
+ <textarea id="chatInput" placeholder="Chiedi a DAC..." rows="1"></textarea>
291
+ <button class="send-btn">
292
+ <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>
 
 
 
293
  </button>
294
  </div>
295
+ </div>
296
+ </main>
297
 
298
+ <div class="modal-overlay" id="modal">
299
+ <div class="modal">
300
+ <h2 style="margin-bottom: 15px;">Impostazioni</h2>
301
+ <div style="display: flex; justify-content: space-between; align-items: center; margin-top: 20px;">
302
+ <span>Tema Scuro</span>
303
+ <input type="checkbox" checked id="themeToggle" style="width: 40px; height: 20px;">
304
  </div>
305
+ <button id="closeModal" style="margin-top: 30px; background: white; color: black; border: none; padding: 12px; border-radius: 12px; cursor: pointer; font-weight: bold; width: 100%;">Chiudi</button>
306
  </div>
307
+ </div>
308
 
309
  <script>
310
+ const hamburger = document.getElementById('hamburger');
311
  const sidebar = document.getElementById('sidebar');
312
+ const profileBtn = document.getElementById('profileBtn');
313
+ const modal = document.getElementById('modal');
314
+ const closeModal = document.getElementById('closeModal');
315
+ const chatInput = document.getElementById('chatInput');
316
 
317
+ hamburger.addEventListener('click', () => {
318
+ hamburger.classList.toggle('active');
 
319
  sidebar.classList.toggle('open');
320
  });
321
 
322
+ document.querySelector('.main-content').addEventListener('click', () => {
323
+ sidebar.classList.remove('open');
324
+ hamburger.classList.remove('active');
 
 
 
 
 
325
  });
326
 
327
+ profileBtn.addEventListener('click', () => modal.classList.add('active'));
328
+ closeModal.addEventListener('click', () => modal.classList.remove('active'));
 
 
 
 
329
 
330
+ chatInput.addEventListener('input', function() {
331
+ this.style.height = 'auto';
332
+ this.style.height = (this.scrollHeight) + 'px';
333
+ });
334
  </script>
335
  </body>
336
  </html>