ciyidogan commited on
Commit
434925e
·
verified ·
1 Parent(s): 35b2ee3

Create realtime-chat.component.scss

Browse files
flare-ui/src/app/components/chat/realtime-chat.component.scss ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .realtime-chat-container {
2
+ max-width: 800px;
3
+ margin: 20px auto;
4
+ height: 80vh;
5
+ display: flex;
6
+ flex-direction: column;
7
+ position: relative;
8
+ }
9
+
10
+ mat-card-header {
11
+ position: relative;
12
+
13
+ .close-button {
14
+ position: absolute;
15
+ top: 8px;
16
+ right: 8px;
17
+ }
18
+ }
19
+
20
+ .error-banner {
21
+ background-color: #ffebee;
22
+ color: #c62828;
23
+ padding: 12px;
24
+ border-radius: 4px;
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 8px;
28
+ margin-bottom: 16px;
29
+
30
+ mat-icon {
31
+ font-size: 20px;
32
+ width: 20px;
33
+ height: 20px;
34
+ }
35
+
36
+ span {
37
+ flex: 1;
38
+ }
39
+ }
40
+
41
+ .transcription-area {
42
+ background: #f5f5f5;
43
+ padding: 16px;
44
+ border-radius: 8px;
45
+ margin-bottom: 16px;
46
+ min-height: 60px;
47
+ animation: pulse 2s infinite;
48
+ }
49
+
50
+ @keyframes pulse {
51
+ 0% { opacity: 1; }
52
+ 50% { opacity: 0.7; }
53
+ 100% { opacity: 1; }
54
+ }
55
+
56
+ .transcription-label {
57
+ font-size: 12px;
58
+ color: #666;
59
+ margin-bottom: 4px;
60
+ }
61
+
62
+ .transcription-text {
63
+ font-size: 16px;
64
+ color: #333;
65
+ min-height: 24px;
66
+ }
67
+
68
+ .chat-messages {
69
+ flex: 1;
70
+ overflow-y: auto;
71
+ padding: 16px;
72
+ background: #fafafa;
73
+ border-radius: 8px;
74
+ min-height: 200px;
75
+ max-height: 400px;
76
+ }
77
+
78
+ .message {
79
+ display: flex;
80
+ align-items: flex-start;
81
+ margin-bottom: 16px;
82
+ animation: slideIn 0.3s ease-out;
83
+ }
84
+
85
+ @keyframes slideIn {
86
+ from {
87
+ opacity: 0;
88
+ transform: translateY(10px);
89
+ }
90
+ to {
91
+ opacity: 1;
92
+ transform: translateY(0);
93
+ }
94
+ }
95
+
96
+ .message.user {
97
+ flex-direction: row-reverse;
98
+ }
99
+
100
+ .message.system {
101
+ justify-content: center;
102
+
103
+ .message-content {
104
+ background: #e0e0e0;
105
+ font-style: italic;
106
+ max-width: 80%;
107
+ }
108
+ }
109
+
110
+ .message-icon {
111
+ margin: 0 8px;
112
+ color: #666;
113
+ }
114
+
115
+ .message-content {
116
+ max-width: 70%;
117
+ background: white;
118
+ padding: 12px 16px;
119
+ border-radius: 12px;
120
+ box-shadow: 0 1px 2px rgba(0,0,0,0.1);
121
+ position: relative;
122
+ }
123
+
124
+ .message.user .message-content {
125
+ background: #3f51b5;
126
+ color: white;
127
+ }
128
+
129
+ .message-text {
130
+ margin-bottom: 4px;
131
+ }
132
+
133
+ .message-time {
134
+ font-size: 11px;
135
+ opacity: 0.7;
136
+ }
137
+
138
+ .audio-button {
139
+ margin-top: 8px;
140
+ }
141
+
142
+ .empty-state {
143
+ text-align: center;
144
+ padding: 60px 20px;
145
+ color: #999;
146
+
147
+ mat-icon {
148
+ font-size: 48px;
149
+ width: 48px;
150
+ height: 48px;
151
+ margin-bottom: 16px;
152
+ }
153
+ }
154
+
155
+ .audio-visualizer {
156
+ width: 100%;
157
+ height: 100px;
158
+ background: #333;
159
+ border-radius: 8px;
160
+ margin-top: 16px;
161
+ opacity: 0.3;
162
+ transition: opacity 0.3s;
163
+ }
164
+
165
+ .audio-visualizer.active {
166
+ opacity: 1;
167
+ animation: visualizerPulse 0.5s ease-in-out infinite;
168
+ }
169
+
170
+ @keyframes visualizerPulse {
171
+ 0% { transform: scale(1); }
172
+ 50% { transform: scale(1.01); }
173
+ 100% { transform: scale(1); }
174
+ }
175
+
176
+ mat-chip {
177
+ font-size: 12px;
178
+ }
179
+
180
+ mat-chip.active {
181
+ background-color: #3f51b5 !important;
182
+ color: white !important;
183
+ }
184
+
185
+ mat-card-actions {
186
+ padding: 16px;
187
+ display: flex;
188
+ gap: 16px;
189
+ justify-content: flex-start;
190
+
191
+ mat-spinner {
192
+ display: inline-block;
193
+ margin-right: 8px;
194
+ }
195
+ }