pathlib import Path from fastapi import FastAPI from fastapi.responses import HTMLResponse, FileResponse from main import app as backend_app # Backend unter /api BASE_DIR = Path.home() / "Arbeitsblaetter" EINGANG_DIR = BASE_DIR / "Eingang" BEREINIGT_DIR = BASE_DIR / "Bereinigt" app = FastAPI(title="BreakPilot Frontend") # Backend unter /api einhängen app.mount("/api", backend_app) @app.get("/", response_class=HTMLResponse) def root(): return """ BreakPilot – Start

BreakPilot – Lokale App

Die App läuft.

Moderne Oberfläche: /app

Backend-API-Doku: /api/docs

""" @app.get("/preview-file/{filename}") def preview_file(filename: str): path = EINGANG_DIR / filename if not path.exists(): return {"error": "Datei nicht gefunden"} if path.suffix.lower() not in {".jpg", ".jpeg", ".png"}: return {"error": "Vorschau nur für JPG/PNG möglich"} return FileResponse(str(path)) @app.get("/preview-clean-file/{filename}") def preview_clean_file(filename: str): path = BEREINIGT_DIR / filename if not path.exists(): return {"error": "Datei nicht gefunden"} if path.suffix.lower() not in {".jpg", ".jpeg", ".png"}: return {"error": "Vorschau nur für JPG/PNG möglich"} return FileResponse(str(path)) @app.get("/app", response_class=HTMLResponse) def app_ui(): return """ BreakPilot – Arbeitsblatt Studio
BreakPilot Studio
Arbeitsblätter · Eltern · KI
MVP · Lokal auf deinem Mac
Arbeitsblätter & Vergleich
Links Scan · Rechts neu aufgebautes Arbeitsblatt
0 Dateien
    Lade Arbeitsblätter hoch und klicke auf „Arbeitsblätter neu aufbauen“.
    Dann kannst du mit den Pfeilen durch die Scans und die bereinigten Versionen blättern.
    Aufbereitungs-Tools
    Kacheln für den Lernflow aktivieren/deaktivieren
    Original-Arbeitsblatt
    Neuaufbau
    Erzeugt bereinigte Versionen deiner Arbeitsblätter (ohne Handschrift) und baut saubere HTML-Arbeitsblätter, die im Vergleich rechts angezeigt werden.
    Frage–Antwort-Blatt
    Kommen bald
    Aus dem Original-Arbeitsblatt entsteht ein Frage–Antwort-Blatt. Elternmodus mit Übersetzung & Aussprache-Button wird hier andocken.
    Multiple Choice Test
    Kommen bald
    Erzeugt passende MC-Aufgaben zur ursprünglichen Schwierigkeit (z. B. Klasse 7), ohne das Niveau zu verändern.
    Lückentext
    Kommen bald
    Erzeugt oder rekonstruiert Lückentexte mit sinnvoll aufgeteilten Lücken (z. B. „habe“ + „gemacht“ getrennt).
    1 von 2
    """