asteroid/template
glenneth 356c6fbb49 feat: Add password change UI to admin dashboard
NEW FEATURE: Password Change Form on Admin Dashboard

TEMPLATE CHANGES (admin.ctml):
- Added 'Account Security' section after System Status
- Password change form with:
  - Current password field
  - New password field (min 8 characters)
  - Confirm password field
  - Submit button
  - Message display area for feedback

JAVASCRIPT CHANGES (admin.js):
- changeAdminPassword(event) function
  - Validates passwords match
  - Validates minimum length (8 chars)
  - Calls /api/asteroid/user/change-password
  - Shows success/error messages
  - Clears form on success

- showPasswordMessage(message, type) helper
  - Displays success/error messages
  - Auto-hides success messages after 5 seconds

USER EXPERIENCE:
1. Admin logs in with default password (asteroid123)
2. Sees 'Account Security' section at top of dashboard
3. Fills in current password and new password
4. Clicks 'Change Password'
5. Gets immediate feedback
6. Password is changed - use new password on next login

This makes it easy for admins to change the default password
without needing REPL access or curl commands.

Ref: TODO.org Problem 4 - Security improvements
2025-11-03 20:18:17 +03:00
..
partial Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
admin.ctml feat: Add password change UI to admin dashboard 2025-11-03 20:18:17 +03:00
audio-player-frame.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
frameset-wrapper.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
front-page-content.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
front-page.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
login.ctml security: Remove hardcoded admin credentials from login page 2025-11-03 19:49:53 +03:00
player-content.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
player.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
popout-player.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
profile.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
register.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00
users.ctml Change the template extension to match clip documentation 2025-11-01 15:04:32 -04:00