privateuserh commited on
Commit
f08aace
·
verified ·
1 Parent(s): fc15d2f

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +248 -0
index.html CHANGED
@@ -12,6 +12,254 @@
12
  <link rel="stylesheet" href="styles/main.css">
13
 
14
  </head>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  <body class="bg-gray-100 font-sans">
16
 
17
  <script src="scripts/app.js" type="module"></script>
 
12
  <link rel="stylesheet" href="styles/main.css">
13
 
14
  </head>
15
+ <style>
16
+ @keyframes float {
17
+ 0% { transform: translateY(0px); }
18
+ 50% { transform: translateY(-10px); }
19
+ 100% { transform: translateY(0px); }
20
+ }
21
+ .floating {
22
+ animation: float 6s ease-in-out infinite;
23
+ }
24
+ .gradient-bg {
25
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
26
+ }
27
+ .chat-bubble {
28
+ border-radius: 20px;
29
+ position: relative;
30
+ max-width: 80%;
31
+ }
32
+ .user-bubble {
33
+ background-color: #4f46e5;
34
+ color: white;
35
+ margin-left: auto;
36
+ border-bottom-right-radius: 5px;
37
+ }
38
+ .ai-bubble {
39
+ background-color: #f3f4f6;
40
+ color: #1f2937;
41
+ margin-right: auto;
42
+ border-bottom-left-radius: 5px;
43
+ }
44
+ .typing-indicator span {
45
+ display: inline-block;
46
+ width: 8px;
47
+ height: 8px;
48
+ border-radius: 50%;
49
+ background-color: #9ca3af;
50
+ margin: 0 2px;
51
+ }
52
+ .typing-indicator span:nth-child(1) {
53
+ animation: bounce 1s infinite;
54
+ }
55
+ .typing-indicator span:nth-child(2) {
56
+ animation: bounce 1s infinite 0.2s;
57
+ }
58
+ .typing-indicator span:nth-child(3) {
59
+ animation: bounce 1s infinite 0.4s;
60
+ }
61
+ @keyframes bounce {
62
+ 0%, 100% { transform: translateY(0); }
63
+ 50% { transform: translateY(-5px); }
64
+ }
65
+ .stream-card:hover {
66
+ transform: translateY(-5px);
67
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
68
+ }
69
+ .fade-in {
70
+ animation: fadeIn 0.5s ease-in;
71
+ }
72
+ @keyframes fadeIn {
73
+ from { opacity: 0; }
74
+ to { opacity: 1; }
75
+ }
76
+ .notification {
77
+ position: fixed;
78
+ bottom: 20px;
79
+ right: 20px;
80
+ background: #4f46e5;
81
+ color: white;
82
+ padding: 15px 25px;
83
+ border-radius: 8px;
84
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
85
+ transform: translateX(120%);
86
+ transition: transform 0.3s ease-out;
87
+ z-index: 1000;
88
+ }
89
+ .notification.show {
90
+ transform: translateX(0);
91
+ }
92
+ .production-button {
93
+ position: fixed;
94
+ bottom: 30px;
95
+ right: 30px;
96
+ width: 60px;
97
+ height: 60px;
98
+ border-radius: 50%;
99
+ background: linear-gradient(135deg, #ff5e62 0%, #ff9966 100%);
100
+ color: white;
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ box-shadow: 0 10px 25px rgba(255, 94, 98, 0.3);
105
+ cursor: pointer;
106
+ z-index: 999;
107
+ transition: all 0.3s ease;
108
+ }
109
+ .production-button:hover {
110
+ transform: scale(1.1);
111
+ box-shadow: 0 15px 30px rgba(255, 94, 98, 0.4);
112
+ }
113
+ .production-panel {
114
+ position: fixed;
115
+ bottom: 110px;
116
+ right: 30px;
117
+ width: 350px;
118
+ background: white;
119
+ border-radius: 12px;
120
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
121
+ padding: 20px;
122
+ z-index: 998;
123
+ transform: translateY(20px);
124
+ opacity: 0;
125
+ pointer-events: none;
126
+ transition: all 0.3s ease;
127
+ }
128
+ .production-panel.open {
129
+ transform: translateY(0);
130
+ opacity: 1;
131
+ pointer-events: all;
132
+ }
133
+ .recording-indicator {
134
+ position: absolute;
135
+ top: -10px;
136
+ right: -10px;
137
+ width: 20px;
138
+ height: 20px;
139
+ border-radius: 50%;
140
+ background: #ff5e62;
141
+ animation: pulse 1.5s infinite;
142
+ }
143
+ @keyframes pulse {
144
+ 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 94, 98, 0.7); }
145
+ 70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(255, 94, 98, 0); }
146
+ 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 94, 98, 0); }
147
+ }
148
+ .clip-item {
149
+ display: flex;
150
+ align-items: center;
151
+ padding: 8px 0;
152
+ border-bottom: 1px solid #eee;
153
+ cursor: pointer;
154
+ }
155
+ .clip-item:hover {
156
+ background-color: #f9fafb;
157
+ }
158
+ .clip-item:last-child {
159
+ border-bottom: none;
160
+ }
161
+ .clip-preview {
162
+ width: 100%;
163
+ height: 180px;
164
+ background-color: #f3f4f6;
165
+ border-radius: 8px;
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ margin-bottom: 15px;
170
+ position: relative;
171
+ overflow: hidden;
172
+ }
173
+ .clip-preview video {
174
+ width: 100%;
175
+ height: 100%;
176
+ object-fit: cover;
177
+ }
178
+ .clip-preview-placeholder {
179
+ text-align: center;
180
+ color: #6b7280;
181
+ }
182
+ .clip-preview-placeholder i {
183
+ font-size: 40px;
184
+ margin-bottom: 10px;
185
+ display: block;
186
+ }
187
+ .progress-bar {
188
+ height: 4px;
189
+ background-color: #e5e7eb;
190
+ border-radius: 2px;
191
+ overflow: hidden;
192
+ margin-top: 10px;
193
+ }
194
+ .progress-fill {
195
+ height: 100%;
196
+ background-color: #4f46e5;
197
+ width: 0%;
198
+ transition: width 0.3s ease;
199
+ }
200
+ .tab {
201
+ padding: 8px 16px;
202
+ border-radius: 20px;
203
+ font-size: 14px;
204
+ cursor: pointer;
205
+ margin-right: 8px;
206
+ }
207
+ .tab.active {
208
+ background-color: #4f46e5;
209
+ color: white;
210
+ }
211
+ .tab.inactive {
212
+ background-color: #f3f4f6;
213
+ color: #6b7280;
214
+ }
215
+ .rank-badge {
216
+ width: 20px;
217
+ height: 20px;
218
+ border-radius: 50%;
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: center;
222
+ font-size: 10px;
223
+ font-weight: bold;
224
+ margin-left: 8px;
225
+ }
226
+ .rank-1 {
227
+ background-color: #f59e0b;
228
+ color: white;
229
+ }
230
+ .rank-2 {
231
+ background-color: #6b7280;
232
+ color: white;
233
+ }
234
+ .rank-3 {
235
+ background-color: #92400e;
236
+ color: white;
237
+ }
238
+ .bluetooth-connected {
239
+ color: #3b82f6;
240
+ animation: pulse 2s infinite;
241
+ }
242
+ .bluetooth-disconnected {
243
+ color: #6b7280;
244
+ }
245
+ .user-tag {
246
+ background-color: #e5e7eb;
247
+ color: #4b5563;
248
+ padding: 2px 6px;
249
+ border-radius: 4px;
250
+ font-size: 10px;
251
+ margin-left: 4px;
252
+ }
253
+ .category-tag {
254
+ background-color: #dbeafe;
255
+ color: #1e40af;
256
+ padding: 2px 6px;
257
+ border-radius: 4px;
258
+ font-size: 10px;
259
+ margin-left: 4px;
260
+ }
261
+ </style>
262
+
263
  <body class="bg-gray-100 font-sans">
264
 
265
  <script src="scripts/app.js" type="module"></script>