Skip to content

feat: profile edit page (password change)#16

Merged
DGINXREAL merged 4 commits into
mainfrom
feat/profile-edit-page
Jun 18, 2026
Merged

feat: profile edit page (password change)#16
DGINXREAL merged 4 commits into
mainfrom
feat/profile-edit-page

Conversation

@DGINXREAL

Copy link
Copy Markdown
Member

Summary

Adds a top-level /profile page where the logged-in user views their name & email (read-only) and changes their password. Wires up the previously dead Profile entry in the user menu.

  • GET /profile (app.profile.edit) and PUT /profile (app.profile.update), auth-only, not project-scoped (no ProjectBindingMiddleware).
  • ProfileController reads auth()->user(); update validates via ProfileUpdateRequest (current_password + password min:8 confirmed) and relies on the User model's hashed cast.
  • Minimal sidebar-less ProfileLayout (logo + Back link to /); Profile/Edit.tsx mirrors the Admin/Users/Edit styling, shows read-only name/email, field errors, and a success banner.

Testing

  • ddev php artisan test --filter=ProfileTest6 passed (27 assertions): guest redirect, authenticated render, happy-path change (Hash::check), wrong current password, mismatched confirmation, too-short password.
  • ddev npm run build → clean (tsc + Vite, zero errors).

Notes / follow-ups (non-blocking)

  • Password change does not invalidate the current session (AuthenticateSession isn't enabled app-wide — standard Laravel default, matches Admin/Users/Edit). Deliberate follow-up if "log out other sessions" is wanted.
  • Password inputs use bare <label>/<input> (no htmlFor/id), matching the existing Admin/Users/Edit pattern — candidate for a repo-wide a11y pass.

🤖 Generated with Claude Code

DGINXREAL and others added 4 commits June 18, 2026 11:05
Adds GET /profile (app.profile.edit) and PUT /profile (app.profile.update)
routes under auth middleware, with ProfileController stub and Profile/Edit
page placeholder. Update tests confirm guest redirect and authenticated render.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@DGINXREAL DGINXREAL requested a review from noidee-dev as a code owner June 18, 2026 09:23
@DGINXREAL DGINXREAL merged commit b450d8b into main Jun 18, 2026
3 checks passed
@DGINXREAL DGINXREAL deleted the feat/profile-edit-page branch June 18, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant