openfree commited on
Commit
0c0a59b
ยท
verified ยท
1 Parent(s): 0447a88

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +18 -9
index.html CHANGED
@@ -92,7 +92,7 @@
92
  <a href="https://discord.gg/openfreeai" target="_blank">Community</a>
93
  </div>
94
 
95
- <!-- ํ•„ํ„ฐ ๋ฒ„ํŠผ ์˜์—ญ (๋ฏธ๋ฆฌ ์ •์˜ํ•œ 10๊ฐ€์ง€ ๊ทธ๋ฃน ์‚ฌ์šฉ) -->
96
  <div class="filter-group" id="filter-group">
97
  <!-- JavaScript๋กœ ๋™์ ์œผ๋กœ ๋ฒ„ํŠผ ์ƒ์„ฑ -->
98
  </div>
@@ -241,18 +241,27 @@
241
  return url;
242
  }
243
 
244
- // 3. ๋ชจ๋“  ํ•ญ๋ชฉ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๊ฐ•์ œ๋กœ "Image Gen"์œผ๋กœ ์ง€์ •ํ•˜๊ณ , ์ด๋ฆ„์„ "Image Gen/ํ”„๋กœ์ ํŠธ๋ช…" ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝ
 
 
 
 
 
 
 
 
245
  const keys = Object.keys(projectList);
246
  const projects = keys.map((key) => {
 
247
  const projectName = key.split("/").slice(1).join("/");
248
  return {
249
- name: "Image Gen/" + projectName,
250
  url: transformUrl(projectList[key]),
251
- category: "Image Gen"
252
  };
253
  });
254
 
255
- // 4. (ํ˜„์žฌ ๋ชจ๋“  ํ•ญ๋ชฉ์ด "Image Gen"์ด์ง€๋งŒ) ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๊ทธ๋ฃนํ™”
256
  const grouped = {};
257
  projects.forEach(project => {
258
  const cat = project.category;
@@ -262,7 +271,7 @@
262
  grouped[cat].push(project);
263
  });
264
 
265
- // 5. ํ•„ํ„ฐ ๋ฒ„ํŠผ์€ ๋ฏธ๋ฆฌ ์ •์˜ํ•œ 10๊ฐ€์ง€ ๊ทธ๋ฃน์œผ๋กœ ์ƒ์„ฑ (NEW, BEST, Text, Image Gen, Image Edit, Audio, Video, Productivity, Utility, Vision)
266
  const fixedGroups = ["NEW", "BEST", "Text", "Image Gen", "Image Edit", "Audio", "Video", "Productivity", "Utility", "Vision"];
267
  const filterGroupDiv = document.getElementById("filter-group");
268
  const allButton = document.createElement("button");
@@ -278,7 +287,7 @@
278
  filterGroupDiv.appendChild(btn);
279
  });
280
 
281
- // 6. ์‚ฌ์ด๋“œ๋ฐ” ์—…๋ฐ์ดํŠธ ํ•จ์ˆ˜: ์„ ํƒํ•œ ํ•„ํ„ฐ์˜ ํ•ญ๋ชฉ ์ถœ๋ ฅ
282
  function updateSidebar(filter) {
283
  const sidebar = document.getElementById("sidebar");
284
  sidebar.innerHTML = "";
@@ -300,7 +309,7 @@
300
  }
301
  }
302
 
303
- // 7. ํ•„ํ„ฐ ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ
304
  document.querySelectorAll(".toggle-button").forEach(button => {
305
  button.addEventListener("click", function() {
306
  document.querySelectorAll(".toggle-button").forEach(btn => btn.classList.remove("active"));
@@ -309,7 +318,7 @@
309
  });
310
  });
311
 
312
- // 8. ํŽ˜์ด์ง€ ๋กœ๋“œ ์‹œ ๊ธฐ๋ณธ "all" ํ•„ํ„ฐ ์ ์šฉ
313
  updateSidebar("all");
314
  </script>
315
  </body>
 
92
  <a href="https://discord.gg/openfreeai" target="_blank">Community</a>
93
  </div>
94
 
95
+ <!-- ํ•„ํ„ฐ ๋ฒ„ํŠผ ์˜์—ญ (๋ฏธ๋ฆฌ ์ •์˜ํ•œ 10๊ฐ€์ง€ ๊ทธ๋ฃน ์‚ฌ์šฉ: NEW, BEST, Text, Image Gen, Image Edit, Audio, Video, Productivity, Utility, Vision) -->
96
  <div class="filter-group" id="filter-group">
97
  <!-- JavaScript๋กœ ๋™์ ์œผ๋กœ ๋ฒ„ํŠผ ์ƒ์„ฑ -->
98
  </div>
 
241
  return url;
242
  }
243
 
244
+ // 3. ์‚ฌ์šฉ์ž ๊ฐœ๋ณ„ ์ง€์ •์šฉ ๊ฐ์ฒด (์›ํ•˜๋Š” ๊ฒฝ์šฐ ํ•ญ๋ชฉ๋ณ„ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)
245
+ // ํ‚ค๋Š” ์›๋ž˜ ํ”„๋กœ์ ํŠธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ฐ’์€ ์›ํ•˜๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ง€์ •ํ•˜์„ธ์š”.
246
+ const customCategories = {
247
+ // ์˜ˆ: "fantos/x-mas": "Image Gen"
248
+ // ํ•„์š”์— ๋”ฐ๋ผ ์—ฌ๊ธฐ์— ํ•ญ๋ชฉ๋ณ„๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
249
+ };
250
+
251
+ // 4. ๊ฐ ํ•ญ๋ชฉ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ customCategories์—์„œ ์ง€์ •๋œ ๊ฐ’์ด ์žˆ์œผ๋ฉด ์‚ฌ์šฉํ•˜๊ณ , ์—†์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’ "Image Gen"์„ ์‚ฌ์šฉํ•˜์—ฌ
252
+ // ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ "์นดํ…Œ๊ณ ๋ฆฌ/ํ”„๋กœ์ ํŠธ๋ช…" ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
253
  const keys = Object.keys(projectList);
254
  const projects = keys.map((key) => {
255
+ const category = customCategories[key] || "Image Gen";
256
  const projectName = key.split("/").slice(1).join("/");
257
  return {
258
+ name: category + "/" + projectName,
259
  url: transformUrl(projectList[key]),
260
+ category: category
261
  };
262
  });
263
 
264
+ // 5. (๋ชจ๋“  ํ•ญ๋ชฉ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐœ๋ณ„ ์ง€์ •๋˜๋”๋ผ๋„ ํ•„ํ„ฐ๋ฅผ ์œ„ํ•ด) ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๊ทธ๋ฃนํ™”
265
  const grouped = {};
266
  projects.forEach(project => {
267
  const cat = project.category;
 
271
  grouped[cat].push(project);
272
  });
273
 
274
+ // 6. ํ•„ํ„ฐ ๋ฒ„ํŠผ์€ ๋ฏธ๋ฆฌ ์ •์˜ํ•œ 10๊ฐ€์ง€ ๊ทธ๋ฃน(NEW, BEST, Text, Image Gen, Image Edit, Audio, Video, Productivity, Utility, Vision)๊ณผ All ๋ฒ„ํŠผ์œผ๋กœ ์ƒ์„ฑ
275
  const fixedGroups = ["NEW", "BEST", "Text", "Image Gen", "Image Edit", "Audio", "Video", "Productivity", "Utility", "Vision"];
276
  const filterGroupDiv = document.getElementById("filter-group");
277
  const allButton = document.createElement("button");
 
287
  filterGroupDiv.appendChild(btn);
288
  });
289
 
290
+ // 7. ์‚ฌ์ด๋“œ๋ฐ” ์—…๋ฐ์ดํŠธ ํ•จ์ˆ˜: ์„ ํƒํ•œ ํ•„ํ„ฐ์˜ ํ•ญ๋ชฉ ์ถœ๋ ฅ
291
  function updateSidebar(filter) {
292
  const sidebar = document.getElementById("sidebar");
293
  sidebar.innerHTML = "";
 
309
  }
310
  }
311
 
312
+ // 8. ํ•„ํ„ฐ ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ
313
  document.querySelectorAll(".toggle-button").forEach(button => {
314
  button.addEventListener("click", function() {
315
  document.querySelectorAll(".toggle-button").forEach(btn => btn.classList.remove("active"));
 
318
  });
319
  });
320
 
321
+ // 9. ํŽ˜์ด์ง€ ๋กœ๋“œ ์‹œ ๊ธฐ๋ณธ "all" ํ•„ํ„ฐ ์ ์šฉ
322
  updateSidebar("all");
323
  </script>
324
  </body>