feat: topbar quick capture, fix mobile bottom nav and more panel

- Add quick capture input to topbar (desktop: inline 250px, mobile: full-width
  with submit button) that POSTs to /capture/add with redirect back to current page
- Fix mobile bottom bar: 5 items (Dashboard, Focus, Tasks, Capture, More),
  nowrap/overflow:hidden to prevent multi-line wrapping
- Rebuild mobile More panel as 3-column grid overlay (z-index 998/999/1000 stack)
  with backdrop dismiss, 8 items: Calendar, Notes, Meetings, Decisions, Contacts,
  Processes, Weblinks, Admin
- Add file seed fixture and registry mapping to eliminate 4 test skips
- Add time_budgets form factory patterns to fix 2 test failures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 22:44:41 +00:00
parent 8499c99721
commit bcb0007217
7 changed files with 178 additions and 46 deletions

View File

@@ -77,6 +77,7 @@ async def list_capture(request: Request, show: str = "inbox", db: AsyncSession =
async def add_capture(
request: Request,
raw_text: str = Form(...),
redirect_to: Optional[str] = Form(None),
area_id: Optional[str] = Form(None),
project_id: Optional[str] = Form(None),
db: AsyncSession = Depends(get_db),
@@ -95,7 +96,8 @@ async def add_capture(
data["project_id"] = project_id
await repo.create(data)
return RedirectResponse(url="/capture", status_code=303)
url = redirect_to if redirect_to and redirect_to.startswith("/") else "/capture"
return RedirectResponse(url=url, status_code=303)
# ---- Batch undo (must be before /{capture_id} routes) ----