diff --git a/app/main.py b/app/main.py index 00bdead..5e5b9bc 100644 --- a/app/main.py +++ b/app/main.py @@ -30,4 +30,37 @@ TEMPLATES_DIR = Path(__file__).parent / "templates" @app.get("/", response_class=HTMLResponse) async def dashboard(request: Request): with open(TEMPLATES_DIR / "index.html") as f: - return f.read() \ No newline at end of file + return f.read() + + +@app.get("/projects/{project_name}") # ✅ Fuer direkten Zugriff auf Projekte! +def project_view(project_name: str, request: Request): + """Gibt ein einfaches Verzeichnis-Display zurueck.""" + from fastapi.responses import HTMLResponse + + target_dir = PROJECTS_DIR / project_name + + if not target_dir.exists(): + return {"error": "Projekt nicht gefunden", "available_projects": [p.name for p in PROJECTS_DIR.iterdir() if p.is_dir()]} + + # Einfache HTML-Ansicht: + html = f""" +{project_name} + + +

📁 {project_name}

+

Dateien:

+ +""" + + if (target_dir / '.git').exists(): + html += '

✅ Git Repository

' + + for item in sorted(target_dir.iterdir()): + icon = "📁" if item.is_dir() else "📄" + link = f"/projects/{item.name}" if item.is_dir() else "#" + html += f'
{icon} {item.name}
' + + return HTMLResponse(html) \ No newline at end of file