diff --git a/src/server/controllers/page_controller.py b/src/server/controllers/page_controller.py index 7f14a50..84a1403 100644 --- a/src/server/controllers/page_controller.py +++ b/src/server/controllers/page_controller.py @@ -59,3 +59,13 @@ async def loading_page(request: Request): 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" + ) diff --git a/src/server/web/templates/setup.html b/src/server/web/templates/setup.html index b88b62d..06e208a 100644 --- a/src/server/web/templates/setup.html +++ b/src/server/web/templates/setup.html @@ -790,17 +790,36 @@ const data = await response.json(); if (response.ok && data.status === 'ok') { - // Redirect to loading page if provided, otherwise go to login + // Redirect to loading page if provided, otherwise check for unresolved folders if (data.redirect) { showMessage('Setup saved! Initializing your anime library...', 'success'); setTimeout(() => { window.location.href = data.redirect; }, 500); } else { - showMessage('Setup completed successfully! Redirecting to login...', 'success'); - setTimeout(() => { - window.location.href = '/login'; - }, 2000); + // Check for unresolved folders before redirecting + showMessage('Setup completed successfully! Checking for unresolved series...', 'success'); + setTimeout(async () => { + try { + const token = localStorage.getItem('auth_token'); + const res = await fetch('/api/setup/unresolved', { + headers: { 'Authorization': `Bearer ${token}` } + }); + if (res.ok) { + const unresolved = await res.json(); + if (unresolved && unresolved.length > 0) { + window.location.href = '/setup/unresolved'; + } else { + window.location.href = '/login'; + } + } else { + window.location.href = '/login'; + } + } catch (e) { + console.error('Error checking unresolved folders:', e); + window.location.href = '/login'; + } + }, 1000); } } else { const errorMessage = data.detail || data.message || 'Setup failed'; diff --git a/src/server/web/templates/unresolved.html b/src/server/web/templates/unresolved.html new file mode 100644 index 0000000..714b556 --- /dev/null +++ b/src/server/web/templates/unresolved.html @@ -0,0 +1,707 @@ + + + +
+ + +Some series couldn't be found automatically. Enter the provider key for each folder to complete setup.
+Loading unresolved folders...
+