Spaces:
Running
Running
Upload folder using huggingface_hub
Browse files- index.html +73 -24
index.html
CHANGED
|
@@ -19,7 +19,8 @@
|
|
| 19 |
}
|
| 20 |
|
| 21 |
* {
|
| 22 |
-
box-sizing
|
|
|
|
| 23 |
scrollbar-width: thin;
|
| 24 |
scrollbar-color: var(--neon-cyan) var(--bg-dark);
|
| 25 |
}
|
|
@@ -27,14 +28,14 @@
|
|
| 27 |
body {
|
| 28 |
background-color: var(--bg-dark);
|
| 29 |
color: var(--text-main);
|
| 30 |
-
font-family: 'Courier New', 'Consolas', monospace;
|
| 31 |
margin: 0;
|
| 32 |
padding: 0;
|
| 33 |
height: 100vh;
|
| 34 |
overflow: hidden;
|
| 35 |
display: flex;
|
| 36 |
flex-direction: column;
|
| 37 |
-
background-image:
|
| 38 |
linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
|
| 39 |
repeating-linear-gradient(rgba(0, 246, 255, 0.03) 1px, transparent 1px),
|
| 40 |
repeating-linear-gradient(90deg, rgba(0, 246, 255, 0.03) 1px, transparent 1px);
|
|
@@ -75,7 +76,7 @@
|
|
| 75 |
/* --- Main Layout --- */
|
| 76 |
main {
|
| 77 |
display: grid;
|
| 78 |
-
grid-template-columns: 1fr 2fr 1fr;
|
| 79 |
flex: 1;
|
| 80 |
padding: 20px;
|
| 81 |
gap: 20px;
|
|
@@ -127,7 +128,7 @@
|
|
| 127 |
|
| 128 |
/* Left Panel: Input */
|
| 129 |
#input-panel {
|
| 130 |
-
min-width: 0;
|
| 131 |
}
|
| 132 |
|
| 133 |
.drop-zone {
|
|
@@ -142,6 +143,8 @@
|
|
| 142 |
margin-bottom: 10px;
|
| 143 |
position: relative;
|
| 144 |
overflow: hidden;
|
|
|
|
|
|
|
| 145 |
}
|
| 146 |
|
| 147 |
.drop-zone:hover,
|
|
@@ -204,9 +207,20 @@
|
|
| 204 |
padding-left: 5px;
|
| 205 |
}
|
| 206 |
|
| 207 |
-
.log-entry.error {
|
| 208 |
-
|
| 209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 210 |
|
| 211 |
.ascii-tree {
|
| 212 |
background: #000;
|
|
@@ -236,8 +250,10 @@
|
|
| 236 |
.metric-box::after {
|
| 237 |
content: '';
|
| 238 |
position: absolute;
|
| 239 |
-
top: -1px;
|
| 240 |
-
|
|
|
|
|
|
|
| 241 |
background: var(--neon-cyan);
|
| 242 |
}
|
| 243 |
|
|
@@ -253,9 +269,17 @@
|
|
| 253 |
font-size: 10px;
|
| 254 |
}
|
| 255 |
|
| 256 |
-
.trinary-hot {
|
| 257 |
-
|
| 258 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 259 |
|
| 260 |
/* Footer Actions */
|
| 261 |
footer {
|
|
@@ -357,15 +381,31 @@
|
|
| 357 |
}
|
| 358 |
|
| 359 |
@keyframes pulse {
|
| 360 |
-
0% {
|
| 361 |
-
|
| 362 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 363 |
}
|
| 364 |
|
| 365 |
/* Scrollbar styling */
|
| 366 |
-
::-webkit-scrollbar {
|
| 367 |
-
|
| 368 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 369 |
</style>
|
| 370 |
</head>
|
| 371 |
|
|
@@ -379,7 +419,8 @@
|
|
| 379 |
<div class="status-bar">SYSTEM ONLINE // WAITING FOR INPUT</div>
|
| 380 |
<!-- Required Link -->
|
| 381 |
<div style="font-size: 10px; opacity: 0.5;">
|
| 382 |
-
<a href="https://huggingface.co/spaces/akhaliq/anycoder"
|
|
|
|
| 383 |
</div>
|
| 384 |
</header>
|
| 385 |
|
|
@@ -387,7 +428,7 @@
|
|
| 387 |
<!-- INPUT PANEL -->
|
| 388 |
<div class="panel" id="input-panel">
|
| 389 |
<div class="panel-title">INPUT / FILE TREE</div>
|
| 390 |
-
|
| 391 |
<!-- Fixed Drop Zone -->
|
| 392 |
<div class="drop-zone" id="drop-zone">
|
| 393 |
<div style="text-align: center;">
|
|
@@ -397,7 +438,7 @@
|
|
| 397 |
<!-- Hidden Input for Click Trigger -->
|
| 398 |
<input type="file" id="file-input" multiple style="display: none;">
|
| 399 |
</div>
|
| 400 |
-
|
| 401 |
<div class="file-list" id="file-list">
|
| 402 |
<div style="padding:10px; text-align:center; color:#555;">-- NO FILES SELECTED --</div>
|
| 403 |
</div>
|
|
@@ -488,8 +529,11 @@
|
|
| 488 |
const fileInput = document.getElementById('file-input');
|
| 489 |
|
| 490 |
// 1. Handle Click (Trigger Hidden Input)
|
| 491 |
-
dropZone.addEventListener('click', () => {
|
| 492 |
-
|
|
|
|
|
|
|
|
|
|
| 493 |
});
|
| 494 |
|
| 495 |
// 2. Handle Input Change (File Selection)
|
|
@@ -505,6 +549,11 @@
|
|
| 505 |
dropZone.classList.add('active');
|
| 506 |
});
|
| 507 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 508 |
dropZone.addEventListener('dragleave', (e) => {
|
| 509 |
// Only remove active class if we are leaving the dropZone itself
|
| 510 |
if (e.target === dropZone) {
|
|
|
|
| 19 |
}
|
| 20 |
|
| 21 |
* {
|
| 22 |
+
/* FIXED: box-sizing typo corrected to border-box for consistent sizing */
|
| 23 |
+
box-sizing: border-box;
|
| 24 |
scrollbar-width: thin;
|
| 25 |
scrollbar-color: var(--neon-cyan) var(--bg-dark);
|
| 26 |
}
|
|
|
|
| 28 |
body {
|
| 29 |
background-color: var(--bg-dark);
|
| 30 |
color: var(--text-main);
|
| 31 |
+
font-family: 'Courier New', 'Consolas', monospace;
|
| 32 |
margin: 0;
|
| 33 |
padding: 0;
|
| 34 |
height: 100vh;
|
| 35 |
overflow: hidden;
|
| 36 |
display: flex;
|
| 37 |
flex-direction: column;
|
| 38 |
+
background-image:
|
| 39 |
linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
|
| 40 |
repeating-linear-gradient(rgba(0, 246, 255, 0.03) 1px, transparent 1px),
|
| 41 |
repeating-linear-gradient(90deg, rgba(0, 246, 255, 0.03) 1px, transparent 1px);
|
|
|
|
| 76 |
/* --- Main Layout --- */
|
| 77 |
main {
|
| 78 |
display: grid;
|
| 79 |
+
grid-template-columns: 1fr 2fr 1fr;
|
| 80 |
flex: 1;
|
| 81 |
padding: 20px;
|
| 82 |
gap: 20px;
|
|
|
|
| 128 |
|
| 129 |
/* Left Panel: Input */
|
| 130 |
#input-panel {
|
| 131 |
+
min-width: 0;
|
| 132 |
}
|
| 133 |
|
| 134 |
.drop-zone {
|
|
|
|
| 143 |
margin-bottom: 10px;
|
| 144 |
position: relative;
|
| 145 |
overflow: hidden;
|
| 146 |
+
/* Ensure pointer events work */
|
| 147 |
+
pointer-events: auto;
|
| 148 |
}
|
| 149 |
|
| 150 |
.drop-zone:hover,
|
|
|
|
| 207 |
padding-left: 5px;
|
| 208 |
}
|
| 209 |
|
| 210 |
+
.log-entry.error {
|
| 211 |
+
color: var(--neon-magenta);
|
| 212 |
+
border-left-color: var(--neon-magenta);
|
| 213 |
+
}
|
| 214 |
+
|
| 215 |
+
.log-entry.success {
|
| 216 |
+
color: var(--neon-green);
|
| 217 |
+
border-left-color: var(--neon-green);
|
| 218 |
+
}
|
| 219 |
+
|
| 220 |
+
.log-entry.info {
|
| 221 |
+
color: var(--neon-cyan);
|
| 222 |
+
border-left-color: var(--neon-cyan);
|
| 223 |
+
}
|
| 224 |
|
| 225 |
.ascii-tree {
|
| 226 |
background: #000;
|
|
|
|
| 250 |
.metric-box::after {
|
| 251 |
content: '';
|
| 252 |
position: absolute;
|
| 253 |
+
top: -1px;
|
| 254 |
+
left: -1px;
|
| 255 |
+
width: 5px;
|
| 256 |
+
height: 5px;
|
| 257 |
background: var(--neon-cyan);
|
| 258 |
}
|
| 259 |
|
|
|
|
| 269 |
font-size: 10px;
|
| 270 |
}
|
| 271 |
|
| 272 |
+
.trinary-hot {
|
| 273 |
+
color: #ff2b2b;
|
| 274 |
+
}
|
| 275 |
+
|
| 276 |
+
.trinary-idle {
|
| 277 |
+
color: #ffd700;
|
| 278 |
+
}
|
| 279 |
+
|
| 280 |
+
.trinary-inhibited {
|
| 281 |
+
color: #555;
|
| 282 |
+
}
|
| 283 |
|
| 284 |
/* Footer Actions */
|
| 285 |
footer {
|
|
|
|
| 381 |
}
|
| 382 |
|
| 383 |
@keyframes pulse {
|
| 384 |
+
0% {
|
| 385 |
+
opacity: 1;
|
| 386 |
+
}
|
| 387 |
+
|
| 388 |
+
50% {
|
| 389 |
+
opacity: 0.5;
|
| 390 |
+
}
|
| 391 |
+
|
| 392 |
+
100% {
|
| 393 |
+
opacity: 1;
|
| 394 |
+
}
|
| 395 |
}
|
| 396 |
|
| 397 |
/* Scrollbar styling */
|
| 398 |
+
::-webkit-scrollbar {
|
| 399 |
+
width: 8px;
|
| 400 |
+
}
|
| 401 |
+
|
| 402 |
+
::-webkit-scrollbar-track {
|
| 403 |
+
background: #000;
|
| 404 |
+
}
|
| 405 |
+
|
| 406 |
+
::-webkit-scrollbar-thumb {
|
| 407 |
+
background: var(--neon-cyan);
|
| 408 |
+
}
|
| 409 |
</style>
|
| 410 |
</head>
|
| 411 |
|
|
|
|
| 419 |
<div class="status-bar">SYSTEM ONLINE // WAITING FOR INPUT</div>
|
| 420 |
<!-- Required Link -->
|
| 421 |
<div style="font-size: 10px; opacity: 0.5;">
|
| 422 |
+
<a href="https://huggingface.co/spaces/akhaliq/anycoder"
|
| 423 |
+
style="color: var(--text-dim); text-decoration: none;">Built with anycoder</a>
|
| 424 |
</div>
|
| 425 |
</header>
|
| 426 |
|
|
|
|
| 428 |
<!-- INPUT PANEL -->
|
| 429 |
<div class="panel" id="input-panel">
|
| 430 |
<div class="panel-title">INPUT / FILE TREE</div>
|
| 431 |
+
|
| 432 |
<!-- Fixed Drop Zone -->
|
| 433 |
<div class="drop-zone" id="drop-zone">
|
| 434 |
<div style="text-align: center;">
|
|
|
|
| 438 |
<!-- Hidden Input for Click Trigger -->
|
| 439 |
<input type="file" id="file-input" multiple style="display: none;">
|
| 440 |
</div>
|
| 441 |
+
|
| 442 |
<div class="file-list" id="file-list">
|
| 443 |
<div style="padding:10px; text-align:center; color:#555;">-- NO FILES SELECTED --</div>
|
| 444 |
</div>
|
|
|
|
| 529 |
const fileInput = document.getElementById('file-input');
|
| 530 |
|
| 531 |
// 1. Handle Click (Trigger Hidden Input)
|
| 532 |
+
dropZone.addEventListener('click', (e) => {
|
| 533 |
+
// Ensure we don't trigger if clicking something inside the dropzone that shouldn't trigger it
|
| 534 |
+
if (e.target !== fileInput) {
|
| 535 |
+
fileInput.click();
|
| 536 |
+
}
|
| 537 |
});
|
| 538 |
|
| 539 |
// 2. Handle Input Change (File Selection)
|
|
|
|
| 549 |
dropZone.classList.add('active');
|
| 550 |
});
|
| 551 |
|
| 552 |
+
dropZone.addEventListener('dragenter', (e) => {
|
| 553 |
+
e.preventDefault();
|
| 554 |
+
dropZone.classList.add('active');
|
| 555 |
+
});
|
| 556 |
+
|
| 557 |
dropZone.addEventListener('dragleave', (e) => {
|
| 558 |
// Only remove active class if we are leaving the dropZone itself
|
| 559 |
if (e.target === dropZone) {
|