feat: Premium Dark Theme UI redesign for all admin pages

- index.html: Complete redesign with deep zinc-950 background, card-based dashboard, neon blue accents
- catalog.html: Full rewrite with dark theme, styled parameter tables with visible borders, tool cards
- playground.html: Full rewrite with dark theme, visible input fields, gradient Execute button with glow effect
- scaffold.html: CSS variables updated to dark theme (zinc-900 backgrounds, zinc-100 text, blue accents)
- ScaffoldingController.java: Added listModules API for dynamic module dropdown
This commit is contained in:
jade
2026-07-12 15:30:06 +09:00
parent 383ab92e98
commit 1b9d6ef57d
5 changed files with 749 additions and 1271 deletions

View File

@@ -4,6 +4,10 @@ import io.shinhanlife.axhub.common.util.PodScaffolder;
import io.shinhanlife.axhub.common.util.ToolScaffolder;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
import java.util.List;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.io.File;
@RestController
@RequestMapping("/api/v1/scaffold")
@@ -59,4 +63,21 @@ public class ScaffoldingController {
return "오류 발생: " + e.getMessage();
}
}
@GetMapping("/modules")
public List<String> listModules() {
try {
String sourceDir = System.getenv("AXHUB_SOURCE_DIR");
if (sourceDir == null) sourceDir = System.getProperty("user.dir");
File dir = new File(sourceDir);
File[] files = dir.listFiles(f -> f.isDirectory() && f.getName().startsWith("axhub-tool-") && !f.getName().equals("axhub-tool-core"));
if (files == null) return List.of("axhub-tool-other");
return Arrays.stream(files).map(File::getName).sorted().collect(Collectors.toList());
} catch (Exception e) {
return List.of("axhub-tool-other");
}
}
}