chore: CLAUDE.md compliance — relative paths, CORS, README tech stack, .vch-description

- Fix absolute API paths in index.html (/analyze, /move, /preview → relative)
- Allow all CORS origins in server.py for reverse-proxy compatibility
- Add tech stack section to README.md
- Create .vch-description for VCH Showcase

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-13 14:13:43 +00:00
parent a90c542d9f
commit 9f44b8c4f2
4 changed files with 14 additions and 5 deletions

View File

@@ -218,7 +218,7 @@
// --- Folder picker ---
el("pick-btn").addEventListener("click", async () => {
try {
const res = await fetch("/pick-folder");
const res = await fetch("pick-folder");
if (res.status === 204) return;
const data = await res.json();
el("folder-input").value = data.folder;
@@ -250,7 +250,7 @@
let data;
try {
const res = await fetch("/analyze", {
const res = await fetch("analyze", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
@@ -285,7 +285,7 @@
// --- Review ---
function makeThumb(path, name) {
const img = document.createElement("img");
img.src = "/preview?path=" + encodeURIComponent(path);
img.src = "preview?path=" + encodeURIComponent(path);
img.alt = name;
img.onerror = function() { this.style.display = "none"; };
img.addEventListener("click", () => openLightbox(img.src, name));
@@ -380,7 +380,7 @@
el("progress-label").textContent = "Verschiebe " + toMove.length + " Fotos...";
try {
const res = await fetch("/move", {
const res = await fetch("move", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ paths: toMove, folder: currentFolder }),