- Add /setup/unresolved page for manual provider key resolution
- Integrate unresolved check into setup wizard flow
- Auto-redirect to unresolved page if folders need resolution
After initial setup scan, folders that couldn't be auto-resolved
are now tracked and can be resolved manually via the GUI.
Endpoints:
- GET /api/setup/unresolved - list unresolved folders
- POST /api/setup/unresolved/{folder}/resolve - resolve with provider key
- POST /api/setup/unresolved/{folder}/search - re-search for suggestions
- DELETE /api/setup/unresolved/{folder} - delete without adding
72 lines
1.8 KiB
Python
72 lines
1.8 KiB
Python
"""
|
|
Page controller for serving HTML templates.
|
|
|
|
This module provides endpoints for serving HTML pages using Jinja2 templates.
|
|
"""
|
|
from fastapi import APIRouter, Request
|
|
from fastapi.responses import HTMLResponse
|
|
|
|
from src.server.utils.template_helpers import render_template
|
|
|
|
router = APIRouter(tags=["pages"])
|
|
|
|
|
|
@router.get("/", response_class=HTMLResponse)
|
|
async def root(request: Request):
|
|
"""Serve the main application page."""
|
|
return render_template(
|
|
"index.html",
|
|
request,
|
|
title="Aniworld Download Manager"
|
|
)
|
|
|
|
|
|
@router.get("/setup", response_class=HTMLResponse)
|
|
async def setup_page(request: Request):
|
|
"""Serve the setup page."""
|
|
return render_template(
|
|
"setup.html",
|
|
request,
|
|
title="Setup - Aniworld"
|
|
)
|
|
|
|
|
|
@router.get("/login", response_class=HTMLResponse)
|
|
async def login_page(request: Request):
|
|
"""Serve the login page."""
|
|
return render_template(
|
|
"login.html",
|
|
request,
|
|
title="Login - Aniworld"
|
|
)
|
|
|
|
|
|
@router.get("/queue", response_class=HTMLResponse)
|
|
async def queue_page(request: Request):
|
|
"""Serve the download queue page."""
|
|
return render_template(
|
|
"queue.html",
|
|
request,
|
|
title="Download Queue - Aniworld"
|
|
)
|
|
|
|
|
|
@router.get("/loading", response_class=HTMLResponse)
|
|
async def loading_page(request: Request):
|
|
"""Serve the initialization loading page."""
|
|
return render_template(
|
|
"loading.html",
|
|
request,
|
|
title="Initializing - Aniworld"
|
|
)
|
|
|
|
|
|
@router.get("/setup/unresolved", response_class=HTMLResponse)
|
|
async def unresolved_page(request: Request):
|
|
"""Serve the unresolved folders resolution page."""
|
|
return render_template(
|
|
"unresolved.html",
|
|
request,
|
|
title="Resolve Series - Aniworld"
|
|
)
|