HTML · 5995 bytes Raw Blame History
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <style>
6 body {
7 width: 350px;
8 padding: 15px;
9 margin: 0;
10 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
11 }
12
13 .header {
14 display: flex;
15 align-items: center;
16 margin-bottom: 20px;
17 padding-bottom: 15px;
18 border-bottom: 2px solid #f0f0f0;
19 }
20
21 .logo {
22 width: 40px;
23 height: 40px;
24 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
25 border-radius: 8px;
26 margin-right: 15px;
27 display: flex;
28 align-items: center;
29 justify-content: center;
30 color: white;
31 font-weight: bold;
32 font-size: 18px;
33 }
34
35 h1 {
36 margin: 0;
37 font-size: 24px;
38 color: #333;
39 }
40
41 .status {
42 display: flex;
43 align-items: center;
44 padding: 12px;
45 background: #f8f9fa;
46 border-radius: 8px;
47 margin-bottom: 20px;
48 }
49
50 .status-indicator {
51 width: 12px;
52 height: 12px;
53 border-radius: 50%;
54 margin-right: 10px;
55 }
56
57 .status-indicator.connected {
58 background: #10b981;
59 box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
60 }
61
62 .status-indicator.disconnected {
63 background: #ef4444;
64 box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
65 }
66
67 .control-group {
68 margin-bottom: 20px;
69 }
70
71 .control-label {
72 font-weight: 600;
73 color: #666;
74 font-size: 12px;
75 text-transform: uppercase;
76 letter-spacing: 0.5px;
77 margin-bottom: 8px;
78 display: block;
79 }
80
81 select {
82 width: 100%;
83 padding: 10px;
84 border: 2px solid #e5e7eb;
85 border-radius: 6px;
86 font-size: 14px;
87 background: white;
88 cursor: pointer;
89 transition: border-color 0.2s;
90 }
91
92 select:hover {
93 border-color: #667eea;
94 }
95
96 select:focus {
97 outline: none;
98 border-color: #667eea;
99 box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
100 }
101
102 .toggle-switch {
103 display: flex;
104 align-items: center;
105 justify-content: space-between;
106 padding: 15px;
107 background: white;
108 border: 2px solid #e5e7eb;
109 border-radius: 8px;
110 cursor: pointer;
111 transition: all 0.2s;
112 }
113
114 .toggle-switch:hover {
115 border-color: #667eea;
116 }
117
118 .toggle-switch.active {
119 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
120 border-color: transparent;
121 color: white;
122 }
123
124 .toggle-label {
125 font-weight: 600;
126 }
127
128 .toggle-status {
129 font-size: 12px;
130 opacity: 0.7;
131 }
132
133 .stats {
134 display: grid;
135 grid-template-columns: 1fr 1fr;
136 gap: 10px;
137 margin-top: 20px;
138 }
139
140 .stat-card {
141 padding: 12px;
142 background: #f8f9fa;
143 border-radius: 6px;
144 text-align: center;
145 }
146
147 .stat-value {
148 font-size: 20px;
149 font-weight: bold;
150 color: #333;
151 }
152
153 .stat-label {
154 font-size: 11px;
155 color: #999;
156 text-transform: uppercase;
157 margin-top: 4px;
158 }
159
160 .footer {
161 margin-top: 20px;
162 padding-top: 15px;
163 border-top: 1px solid #f0f0f0;
164 text-align: center;
165 }
166
167 .footer-links {
168 display: flex;
169 justify-content: center;
170 gap: 20px;
171 }
172
173 .footer-links a {
174 color: #999;
175 text-decoration: none;
176 font-size: 12px;
177 transition: color 0.2s;
178 }
179
180 .footer-links a:hover {
181 color: #667eea;
182 }
183
184 .emergency-stop {
185 width: 100%;
186 padding: 12px;
187 background: #ef4444;
188 color: white;
189 border: none;
190 border-radius: 6px;
191 font-weight: 600;
192 cursor: pointer;
193 margin-top: 15px;
194 transition: background 0.2s;
195 }
196
197 .emergency-stop:hover {
198 background: #dc2626;
199 }
200
201 .warning {
202 background: #fef3c7;
203 color: #92400e;
204 padding: 10px;
205 border-radius: 6px;
206 font-size: 12px;
207 margin-bottom: 15px;
208 line-height: 1.5;
209 }
210
211 .warning strong {
212 display: block;
213 margin-bottom: 4px;
214 }
215 </style>
216 </head>
217 <body>
218 <div class="header">
219 <div class="logo">LC</div>
220 <h1>LooseCannon</h1>
221 </div>
222
223 <div class="warning">
224 <strong>⚠️ Warning:</strong>
225 Use responsibly. May violate platform ToS. Your account could be banned.
226 </div>
227
228 <div class="status">
229 <div class="status-indicator disconnected" id="serverStatus"></div>
230 <div>
231 <div>Server Status: <span id="serverStatusText">Disconnected</span></div>
232 <div style="font-size: 11px; opacity: 0.7;">localhost:8765</div>
233 </div>
234 </div>
235
236 <div class="control-group">
237 <label class="control-label">Personality Mode</label>
238 <select id="personalitySelect">
239 <option value="default">Default - Confused Elder</option>
240 <option value="technical">Technical Support Nightmare</option>
241 <option value="conspiracy">Conspiracy Theorist</option>
242 <option value="verbose">Extremely Verbose</option>
243 <option value="questions">Only Questions</option>
244 </select>
245 </div>
246
247 <div class="toggle-switch" id="mainToggle">
248 <div>
249 <div class="toggle-label">Auto-Response</div>
250 <div class="toggle-status" id="toggleStatus">Currently Inactive</div>
251 </div>
252 <div style="font-size: 24px;"></div>
253 </div>
254
255 <div class="stats">
256 <div class="stat-card">
257 <div class="stat-value" id="messageCount">0</div>
258 <div class="stat-label">Messages Handled</div>
259 </div>
260 <div class="stat-card">
261 <div class="stat-value" id="sessionTime">0m</div>
262 <div class="stat-label">Session Time</div>
263 </div>
264 </div>
265
266 <button class="emergency-stop" id="emergencyStop">EMERGENCY STOP ALL</button>
267
268 <div class="footer">
269 <div class="footer-links">
270 <a href="#" id="settingsLink">Settings</a>
271 <a href="#" id="logsLink">View Logs</a>
272 <a href="#" id="helpLink">Help</a>
273 </div>
274 </div>
275
276 <script src="popup.js"></script>
277 </body>
278 </html>