Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -15,7 +15,8 @@ BLOCKED_DOMAINS = [
|
|
| 15 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโ 2. CURATED CATEGORIES โโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 16 |
CATEGORIES = {
|
| 17 |
"Popular": [
|
| 18 |
-
"https://huggingface.co/spaces/
|
|
|
|
| 19 |
"https://openfree-AI-Calcurator.static.hf.space",
|
| 20 |
"https://huggingface.co/spaces/openfree/AGI-WebNovel-Gallery",
|
| 21 |
"https://huggingface.co/spaces/Heartsync/Wan-2.2-ADULT",
|
|
@@ -163,6 +164,7 @@ CATEGORIES = {
|
|
| 163 |
|
| 164 |
],
|
| 165 |
"NEW": [
|
|
|
|
| 166 |
"https://huggingface.co/spaces/ginigen/Flux-Kontext-Style",
|
| 167 |
"https://cutechicken-3d-airforce-simulator.static.hf.space",
|
| 168 |
"https://huggingface.co/spaces/ginipick/Private-AI",
|
|
@@ -458,7 +460,6 @@ body{margin:0;font-family:Nunito,sans-serif;background:#f6f8fb;}
|
|
| 458 |
</header>
|
| 459 |
<div class="tabs" id="tabs"></div>
|
| 460 |
<div id="content"></div>
|
| 461 |
-
|
| 462 |
<script>
|
| 463 |
// Basic configuration
|
| 464 |
const cats = {{cats|tojson}};
|
|
@@ -466,7 +467,6 @@ const tabs = document.getElementById('tabs');
|
|
| 466 |
const content = document.getElementById('content');
|
| 467 |
let active = "";
|
| 468 |
let currentPage = 1;
|
| 469 |
-
|
| 470 |
// Simple utility functions
|
| 471 |
function makeRequest(url, method, data, callback) {
|
| 472 |
const xhr = new XMLHttpRequest();
|
|
@@ -482,13 +482,11 @@ function makeRequest(url, method, data, callback) {
|
|
| 482 |
xhr.send();
|
| 483 |
}
|
| 484 |
}
|
| 485 |
-
|
| 486 |
function updateTabs() {
|
| 487 |
Array.from(tabs.children).forEach(b => {
|
| 488 |
b.classList.toggle('active', b.dataset.c === active);
|
| 489 |
});
|
| 490 |
}
|
| 491 |
-
|
| 492 |
// Tab handlers
|
| 493 |
function loadCategory(cat, page) {
|
| 494 |
if(cat === active && currentPage === page) return;
|
|
@@ -533,7 +531,6 @@ function loadCategory(cat, page) {
|
|
| 533 |
content.innerHTML = html;
|
| 534 |
});
|
| 535 |
}
|
| 536 |
-
|
| 537 |
// Create tabs
|
| 538 |
// Special tabs first (Popular, BEST, NEW)
|
| 539 |
['Popular', 'BEST', 'NEW'].forEach(specialCat => {
|
|
@@ -544,7 +541,6 @@ function loadCategory(cat, page) {
|
|
| 544 |
b.onclick = function() { loadCategory(specialCat, 1); };
|
| 545 |
tabs.appendChild(b);
|
| 546 |
});
|
| 547 |
-
|
| 548 |
// Regular category tabs
|
| 549 |
cats.forEach(c => {
|
| 550 |
if (!['Popular', 'BEST', 'NEW'].includes(c)) {
|
|
@@ -556,7 +552,6 @@ cats.forEach(c => {
|
|
| 556 |
tabs.appendChild(b);
|
| 557 |
}
|
| 558 |
});
|
| 559 |
-
|
| 560 |
// Start with Popular tab
|
| 561 |
loadCategory('Popular', 1);
|
| 562 |
</script>
|
|
|
|
| 15 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโ 2. CURATED CATEGORIES โโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 16 |
CATEGORIES = {
|
| 17 |
"Popular": [
|
| 18 |
+
"https://huggingface.co/spaces/VIDraft/gpt-oss-RAG",
|
| 19 |
+
|
| 20 |
"https://openfree-AI-Calcurator.static.hf.space",
|
| 21 |
"https://huggingface.co/spaces/openfree/AGI-WebNovel-Gallery",
|
| 22 |
"https://huggingface.co/spaces/Heartsync/Wan-2.2-ADULT",
|
|
|
|
| 164 |
|
| 165 |
],
|
| 166 |
"NEW": [
|
| 167 |
+
"https://huggingface.co/spaces/openfree/OpenAI-gpt-oss",
|
| 168 |
"https://huggingface.co/spaces/ginigen/Flux-Kontext-Style",
|
| 169 |
"https://cutechicken-3d-airforce-simulator.static.hf.space",
|
| 170 |
"https://huggingface.co/spaces/ginipick/Private-AI",
|
|
|
|
| 460 |
</header>
|
| 461 |
<div class="tabs" id="tabs"></div>
|
| 462 |
<div id="content"></div>
|
|
|
|
| 463 |
<script>
|
| 464 |
// Basic configuration
|
| 465 |
const cats = {{cats|tojson}};
|
|
|
|
| 467 |
const content = document.getElementById('content');
|
| 468 |
let active = "";
|
| 469 |
let currentPage = 1;
|
|
|
|
| 470 |
// Simple utility functions
|
| 471 |
function makeRequest(url, method, data, callback) {
|
| 472 |
const xhr = new XMLHttpRequest();
|
|
|
|
| 482 |
xhr.send();
|
| 483 |
}
|
| 484 |
}
|
|
|
|
| 485 |
function updateTabs() {
|
| 486 |
Array.from(tabs.children).forEach(b => {
|
| 487 |
b.classList.toggle('active', b.dataset.c === active);
|
| 488 |
});
|
| 489 |
}
|
|
|
|
| 490 |
// Tab handlers
|
| 491 |
function loadCategory(cat, page) {
|
| 492 |
if(cat === active && currentPage === page) return;
|
|
|
|
| 531 |
content.innerHTML = html;
|
| 532 |
});
|
| 533 |
}
|
|
|
|
| 534 |
// Create tabs
|
| 535 |
// Special tabs first (Popular, BEST, NEW)
|
| 536 |
['Popular', 'BEST', 'NEW'].forEach(specialCat => {
|
|
|
|
| 541 |
b.onclick = function() { loadCategory(specialCat, 1); };
|
| 542 |
tabs.appendChild(b);
|
| 543 |
});
|
|
|
|
| 544 |
// Regular category tabs
|
| 545 |
cats.forEach(c => {
|
| 546 |
if (!['Popular', 'BEST', 'NEW'].includes(c)) {
|
|
|
|
| 552 |
tabs.appendChild(b);
|
| 553 |
}
|
| 554 |
});
|
|
|
|
| 555 |
// Start with Popular tab
|
| 556 |
loadCategory('Popular', 1);
|
| 557 |
</script>
|