JeCabrera commited on
Commit
a5ab09f
·
unverified ·
1 Parent(s): 8d1abf6

Add global styles and layout for the app

Browse files
Files changed (1) hide show
  1. frontend/src/App.css +254 -0
frontend/src/App.css CHANGED
@@ -1 +1,255 @@
 
 
 
 
 
1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
+ }
6
 
7
+ body {
8
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
9
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
10
+ sans-serif;
11
+ -webkit-font-smoothing: antialiased;
12
+ -moz-osx-font-smoothing: grayscale;
13
+ background: #1a1a2e;
14
+ min-height: 100vh;
15
+ }
16
+
17
+ .app-container {
18
+ display: flex;
19
+ height: 100vh;
20
+ background: #1a1a2e;
21
+ }
22
+
23
+ .sidebar {
24
+ width: 300px;
25
+ background: #16213e;
26
+ border-right: 1px solid #0f3460;
27
+ overflow-y: auto;
28
+ padding: 16px;
29
+ }
30
+
31
+ .main-content {
32
+ flex: 1;
33
+ display: flex;
34
+ flex-direction: column;
35
+ }
36
+
37
+ .chat-history {
38
+ height: 100%;
39
+ }
40
+
41
+ .new-chat-btn {
42
+ width: 100%;
43
+ padding: 12px;
44
+ background: #0f3460;
45
+ color: white;
46
+ border: none;
47
+ border-radius: 8px;
48
+ cursor: pointer;
49
+ font-size: 14px;
50
+ margin-bottom: 16px;
51
+ transition: background 0.3s;
52
+ }
53
+
54
+ .new-chat-btn:hover {
55
+ background: #1a5f7a;
56
+ }
57
+
58
+ .chat-list {
59
+ display: flex;
60
+ flex-direction: column;
61
+ gap: 8px;
62
+ }
63
+
64
+ .chat-item {
65
+ padding: 12px;
66
+ background: #0f3460;
67
+ color: white;
68
+ border: none;
69
+ border-radius: 6px;
70
+ cursor: pointer;
71
+ font-size: 13px;
72
+ text-align: left;
73
+ transition: background 0.2s;
74
+ }
75
+
76
+ .chat-item:hover {
77
+ background: #1a5f7a;
78
+ }
79
+
80
+ .chat-item.active {
81
+ background: #e94560;
82
+ }
83
+
84
+ .chat-window {
85
+ display: flex;
86
+ flex-direction: column;
87
+ height: 100%;
88
+ }
89
+
90
+ .messages {
91
+ flex: 1;
92
+ overflow-y: auto;
93
+ padding: 24px;
94
+ display: flex;
95
+ flex-direction: column;
96
+ gap: 16px;
97
+ }
98
+
99
+ .initial-menu {
100
+ display: flex;
101
+ flex-direction: column;
102
+ align-items: center;
103
+ justify-content: center;
104
+ margin: auto;
105
+ text-align: center;
106
+ }
107
+
108
+ .initial-menu h1 {
109
+ color: white;
110
+ font-size: 2.5em;
111
+ margin-bottom: 12px;
112
+ }
113
+
114
+ .initial-menu p {
115
+ color: #a0a0a0;
116
+ font-size: 16px;
117
+ margin-bottom: 32px;
118
+ }
119
+
120
+ .example-buttons {
121
+ display: grid;
122
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
123
+ gap: 12px;
124
+ max-width: 600px;
125
+ }
126
+
127
+ .example-btn {
128
+ padding: 12px 16px;
129
+ background: #0f3460;
130
+ color: white;
131
+ border: 1px solid #e94560;
132
+ border-radius: 6px;
133
+ cursor: pointer;
134
+ font-size: 13px;
135
+ transition: all 0.3s;
136
+ }
137
+
138
+ .example-btn:hover {
139
+ background: #e94560;
140
+ transform: translateY(-2px);
141
+ }
142
+
143
+ .message {
144
+ display: flex;
145
+ gap: 12px;
146
+ align-items: flex-start;
147
+ }
148
+
149
+ .message.user {
150
+ justify-content: flex-end;
151
+ }
152
+
153
+ .message.assistant {
154
+ justify-content: flex-start;
155
+ }
156
+
157
+ .avatar {
158
+ font-size: 20px;
159
+ flex-shrink: 0;
160
+ }
161
+
162
+ .message .content {
163
+ max-width: 600px;
164
+ padding: 12px 16px;
165
+ border-radius: 8px;
166
+ line-height: 1.5;
167
+ }
168
+
169
+ .message.user .content {
170
+ background: #0f3460;
171
+ color: white;
172
+ }
173
+
174
+ .message.assistant .content {
175
+ background: #e94560;
176
+ color: white;
177
+ }
178
+
179
+ .message.error .content {
180
+ background: #ff6b6b;
181
+ color: white;
182
+ }
183
+
184
+ .message.loading {
185
+ color: #a0a0a0;
186
+ font-style: italic;
187
+ }
188
+
189
+ .input-area {
190
+ display: flex;
191
+ gap: 12px;
192
+ padding: 16px 24px;
193
+ border-top: 1px solid #0f3460;
194
+ }
195
+
196
+ .input-area input {
197
+ flex: 1;
198
+ padding: 12px 16px;
199
+ background: #0f3460;
200
+ color: white;
201
+ border: 1px solid #1a5f7a;
202
+ border-radius: 6px;
203
+ font-size: 14px;
204
+ transition: border-color 0.2s;
205
+ }
206
+
207
+ .input-area input:focus {
208
+ outline: none;
209
+ border-color: #e94560;
210
+ }
211
+
212
+ .input-area input::placeholder {
213
+ color: #666;
214
+ }
215
+
216
+ .input-area button {
217
+ padding: 12px 24px;
218
+ background: #e94560;
219
+ color: white;
220
+ border: none;
221
+ border-radius: 6px;
222
+ cursor: pointer;
223
+ font-weight: 600;
224
+ transition: background 0.2s;
225
+ }
226
+
227
+ .input-area button:hover {
228
+ background: #d63550;
229
+ }
230
+
231
+ .input-area button:disabled {
232
+ background: #666;
233
+ cursor: not-allowed;
234
+ }
235
+
236
+ @media (max-width: 768px) {
237
+ .app-container {
238
+ flex-direction: column;
239
+ }
240
+
241
+ .sidebar {
242
+ width: 100%;
243
+ max-height: 200px;
244
+ border-right: none;
245
+ border-bottom: 1px solid #0f3460;
246
+ }
247
+
248
+ .example-buttons {
249
+ grid-template-columns: 1fr;
250
+ }
251
+
252
+ .message .content {
253
+ max-width: 100%;
254
+ }
255
+ }