media-rip/backend/app/routers
xpltd 5da223c5f8 Admin UX, change password, mobile responsive, loading messages
Admin:
- Username field autofocused on login page
- Change password section in Settings tab — current password
  verification, new password + confirm, min 4 chars, updates
  bcrypt hash at runtime via PUT /admin/password
- Password change updates stored credentials in admin store

Loading messages:
- Replaced 'Peeking at the URL' with: Scanning the airwaves,
  Negotiating with the server, Cracking the codec, Reading
  the fine print, Locking on target

Mobile responsive:
- Progress column hidden on mobile (<640px) — table fits viewport
- Action buttons compact (28px) on mobile with 2px gap
- Status badges smaller on mobile (0.625rem)
- Filter tabs scroll horizontally, Download All + Clear go
  full-width below as equal-sized buttons
- min-width:0 on section containers prevents flex overflow
- download-table-wrap constrained with max-width:100%
2026-03-19 05:12:03 -05:00
..
__init__.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
admin.py Admin UX, change password, mobile responsive, loading messages 2026-03-19 05:12:03 -05:00
cookies.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
downloads.py Auto format label with extension, preferences persistence, toast, full delete 2026-03-19 03:16:38 -05:00
files.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
formats.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
health.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
sse.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
system.py Clear button, toolbar row, admin format defaults, cyberpunk background 2026-03-19 04:13:17 -05:00
themes.py M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00