kaiiddo commited on
Commit
b43de4d
·
verified ·
1 Parent(s): 8021dc7

Update src/App.css

Browse files
Files changed (1) hide show
  1. src/App.css +344 -21
src/App.css CHANGED
@@ -1,38 +1,361 @@
1
  .App {
2
- text-align: center;
 
 
 
 
3
  }
4
 
5
- .App-logo {
6
- height: 40vmin;
7
- pointer-events: none;
8
  }
9
 
10
- @media (prefers-reduced-motion: no-preference) {
11
- .App-logo {
12
- animation: App-logo-spin infinite 20s linear;
13
- }
 
 
 
 
 
 
 
 
 
 
14
  }
15
 
16
- .App-header {
17
- background-color: #282c34;
18
- min-height: 100vh;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  display: flex;
20
  flex-direction: column;
 
 
 
 
 
 
 
 
 
21
  align-items: center;
22
- justify-content: center;
23
- font-size: calc(10px + 2vmin);
24
- color: white;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  }
26
 
27
- .App-link {
28
- color: #61dafb;
 
 
 
 
29
  }
30
 
31
- @keyframes App-logo-spin {
32
- from {
33
- transform: rotate(0deg);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  }
35
- to {
36
- transform: rotate(360deg);
 
37
  }
38
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  .App {
2
+ min-height: 100vh;
3
+ display: flex;
4
+ flex-direction: column;
5
+ background-color: #ffffff;
6
+ transition: background-color 0.3s ease;
7
  }
8
 
9
+ .App.dark {
10
+ background-color: #0a0a0a;
 
11
  }
12
 
13
+ /* shadcn-like styles */
14
+ .btn {
15
+ display: inline-flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ border-radius: 8px;
19
+ font-size: 14px;
20
+ font-weight: 500;
21
+ transition: all 0.2s ease;
22
+ border: 1px solid #e4e4e7;
23
+ background: #ffffff;
24
+ color: #09090b;
25
+ padding: 8px 16px;
26
+ cursor: pointer;
27
  }
28
 
29
+ .btn:hover {
30
+ background: #f4f4f5;
31
+ border-color: #d4d4d8;
32
+ }
33
+
34
+ .btn.primary {
35
+ background: #18181b;
36
+ color: #ffffff;
37
+ border-color: #18181b;
38
+ }
39
+
40
+ .btn.primary:hover {
41
+ background: #27272a;
42
+ border-color: #27272a;
43
+ }
44
+
45
+ .btn.ghost {
46
+ border: 1px solid transparent;
47
+ background: transparent;
48
+ }
49
+
50
+ .btn.ghost:hover {
51
+ background: #f4f4f5;
52
+ }
53
+
54
+ .dark .btn {
55
+ background: #27272a;
56
+ color: #ffffff;
57
+ border-color: #3f3f46;
58
+ }
59
+
60
+ .dark .btn:hover {
61
+ background: #3f3f46;
62
+ border-color: #52525b;
63
+ }
64
+
65
+ .dark .btn.primary {
66
+ background: #ffffff;
67
+ color: #09090b;
68
+ border-color: #ffffff;
69
+ }
70
+
71
+ .dark .btn.primary:hover {
72
+ background: #f4f4f5;
73
+ border-color: #f4f4f5;
74
+ }
75
+
76
+ .dark .btn.ghost:hover {
77
+ background: #3f3f46;
78
+ }
79
+
80
+ .input {
81
+ width: 100%;
82
+ border-radius: 8px;
83
+ border: 1px solid #e4e4e7;
84
+ background: #ffffff;
85
+ padding: 12px 16px;
86
+ font-size: 14px;
87
+ transition: all 0.2s ease;
88
+ color: #09090b;
89
+ }
90
+
91
+ .input:focus {
92
+ outline: none;
93
+ border-color: #18181b;
94
+ box-shadow: 0 0 0 1px #18181b;
95
+ }
96
+
97
+ .dark .input {
98
+ background: #27272a;
99
+ border-color: #3f3f46;
100
+ color: #ffffff;
101
+ }
102
+
103
+ .dark .input:focus {
104
+ border-color: #ffffff;
105
+ box-shadow: 0 0 0 1px #ffffff;
106
+ }
107
+
108
+ .card {
109
+ background: #ffffff;
110
+ border: 1px solid #e4e4e7;
111
+ border-radius: 12px;
112
+ padding: 24px;
113
+ transition: all 0.2s ease;
114
+ }
115
+
116
+ .dark .card {
117
+ background: #18181b;
118
+ border-color: #3f3f46;
119
+ }
120
+
121
+ /* Main app layout */
122
+ .chat-container {
123
+ flex: 1;
124
  display: flex;
125
  flex-direction: column;
126
+ max-width: 1200px;
127
+ margin: 0 auto;
128
+ width: 100%;
129
+ padding: 20px;
130
+ gap: 20px;
131
+ }
132
+
133
+ .header {
134
+ display: flex;
135
  align-items: center;
136
+ justify-content: space-between;
137
+ padding: 16px 0;
138
+ }
139
+
140
+ .logo {
141
+ display: flex;
142
+ align-items: center;
143
+ gap: 12px;
144
+ font-size: 24px;
145
+ font-weight: 600;
146
+ }
147
+
148
+ .theme-toggle {
149
+ padding: 8px;
150
+ border-radius: 8px;
151
+ }
152
+
153
+ .chat-messages {
154
+ flex: 1;
155
+ overflow-y: auto;
156
+ display: flex;
157
+ flex-direction: column;
158
+ gap: 24px;
159
+ padding: 20px 0;
160
+ max-height: calc(100vh - 280px);
161
+ }
162
+
163
+ .message {
164
+ display: flex;
165
+ gap: 16px;
166
+ max-width: 100%;
167
+ }
168
+
169
+ .message.user {
170
+ justify-content: flex-end;
171
  }
172
 
173
+ .message-content {
174
+ max-width: 70%;
175
+ padding: 16px 20px;
176
+ border-radius: 18px;
177
+ font-size: 14px;
178
+ line-height: 1.5;
179
  }
180
 
181
+ .message.assistant .message-content {
182
+ background: #f4f4f5;
183
+ color: #09090b;
184
+ border-bottom-left-radius: 4px;
185
+ }
186
+
187
+ .dark .message.assistant .message-content {
188
+ background: #27272a;
189
+ color: #ffffff;
190
+ }
191
+
192
+ .message.user .message-content {
193
+ background: #18181b;
194
+ color: #ffffff;
195
+ border-bottom-right-radius: 4px;
196
+ }
197
+
198
+ .dark .message.user .message-content {
199
+ background: #ffffff;
200
+ color: #09090b;
201
+ }
202
+
203
+ .input-container {
204
+ position: relative;
205
+ margin-top: auto;
206
+ }
207
+
208
+ .chat-input-wrapper {
209
+ position: relative;
210
+ display: flex;
211
+ align-items: flex-end;
212
+ gap: 12px;
213
+ }
214
+
215
+ .chat-input {
216
+ resize: none;
217
+ min-height: 150px;
218
+ max-height: 200px;
219
+ padding: 16px 50px 16px 16px;
220
+ line-height: 1.5;
221
+ }
222
+
223
+ .model-selector {
224
+ position: absolute;
225
+ left: 12px;
226
+ bottom: 12px;
227
+ z-index: 10;
228
+ }
229
+
230
+ .send-button {
231
+ position: absolute;
232
+ right: 12px;
233
+ bottom: 12px;
234
+ padding: 8px;
235
+ border-radius: 8px;
236
+ background: #18181b;
237
+ color: #ffffff;
238
+ border: none;
239
+ cursor: pointer;
240
+ transition: all 0.2s ease;
241
+ }
242
+
243
+ .dark .send-button {
244
+ background: #ffffff;
245
+ color: #09090b;
246
+ }
247
+
248
+ .send-button:hover {
249
+ transform: scale(1.05);
250
+ }
251
+
252
+ .send-button:disabled {
253
+ opacity: 0.5;
254
+ cursor: not-allowed;
255
+ transform: none;
256
+ }
257
+
258
+ .welcome-message {
259
+ text-align: center;
260
+ padding: 60px 20px;
261
+ color: #71717a;
262
+ }
263
+
264
+ .dark .welcome-message {
265
+ color: #a1a1aa;
266
+ }
267
+
268
+ .typing-indicator {
269
+ display: flex;
270
+ align-items: center;
271
+ gap: 4px;
272
+ padding: 16px 20px;
273
+ background: #f4f4f5;
274
+ border-radius: 18px;
275
+ border-bottom-left-radius: 4px;
276
+ max-width: 70%;
277
+ }
278
+
279
+ .dark .typing-indicator {
280
+ background: #27272a;
281
+ }
282
+
283
+ .typing-dot {
284
+ width: 8px;
285
+ height: 8px;
286
+ border-radius: 50%;
287
+ background: #71717a;
288
+ animation: typing-bounce 1.4s infinite ease-in-out;
289
+ }
290
+
291
+ .dark .typing-dot {
292
+ background: #a1a1aa;
293
+ }
294
+
295
+ .typing-dot:nth-child(1) { animation-delay: -0.32s; }
296
+ .typing-dot:nth-child(2) { animation-delay: -0.16s; }
297
+
298
+ @keyframes typing-bounce {
299
+ 0%, 80%, 100% {
300
+ transform: scale(0.8);
301
+ opacity: 0.5;
302
  }
303
+ 40% {
304
+ transform: scale(1);
305
+ opacity: 1;
306
  }
307
  }
308
+
309
+ /* Dropdown styles */
310
+ .dropdown {
311
+ position: relative;
312
+ }
313
+
314
+ .dropdown-content {
315
+ position: absolute;
316
+ bottom: 100%;
317
+ left: 0;
318
+ margin-bottom: 8px;
319
+ background: #ffffff;
320
+ border: 1px solid #e4e4e7;
321
+ border-radius: 8px;
322
+ padding: 8px;
323
+ min-width: 200px;
324
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
325
+ z-index: 1000;
326
+ }
327
+
328
+ .dark .dropdown-content {
329
+ background: #27272a;
330
+ border-color: #3f3f46;
331
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
332
+ }
333
+
334
+ .dropdown-item {
335
+ display: flex;
336
+ align-items: center;
337
+ gap: 8px;
338
+ padding: 8px 12px;
339
+ border-radius: 6px;
340
+ cursor: pointer;
341
+ font-size: 14px;
342
+ transition: background-color 0.2s ease;
343
+ }
344
+
345
+ .dropdown-item:hover {
346
+ background: #f4f4f5;
347
+ }
348
+
349
+ .dark .dropdown-item:hover {
350
+ background: #3f3f46;
351
+ }
352
+
353
+ .dropdown-item.active {
354
+ background: #18181b;
355
+ color: #ffffff;
356
+ }
357
+
358
+ .dark .dropdown-item.active {
359
+ background: #ffffff;
360
+ color: #09090b;
361
+ }