Profile と Settings のポップアップを追加 by otnc · Pull Request #7 · mofumofupop/universe · GitHub
Skip to content

Profile と Settings のポップアップを追加 - #7

Merged
otnc merged 3 commits into
mainfrom
settings-page
Oct 19, 2026
Merged

otnc merged 3 commits into
mainfrom
settings-page

Conversation

@otnc

@otnc otnc commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

/sparkle のメニューから、ログインや新規登録と同じポップアップでプロフィール編集とパスワード変更をできるようにした。ページは遷移しない。

#6 の上に積んでいる (401 のときにログイン画面へ戻す AuthError を使うため)。#6 をマージすると、この PR のマージ先は自動で main に変わる。

メニューと中身

メニュー ポップアップ 変更できる項目
Profile ProfileForm アイコン、名前 (Name)、所属、Social Links (1〜5個)。Username は表示のみ (disabled)
Settings SettingsForm パスワード (現在のパスワード、新しいパスワード、確認用)。ほかの設定は今後ここに足す

実装

  • 入力欄を ProfileFields.tsx に切り出し、新規登録フォーム・ProfileForm・SettingsForm で共有する。新規登録フォームの見た目と動きは変えていない
  • Header のポップアップに profile と settings を追加し、AccountMenu から開く (スキャナー画面のメニューからも開ける)
  • プロフィールを保存したら profile:updated イベントを出し、/sparkle が名刺を読み直す
  • プロフィールは既存の /api/change と /api/icon で保存する
  • POST /api/password を追加。現在の値で認証してから保存値を置き換え、ログインと同じレート制限をかける
  • 現在のパスワードは、送信前にブラウザで保存済みの値と照合する。打ち間違いがサーバーで 401 になるとログアウトされてしまうため
  • docs/password-hardening.md の「パスワードの変更機能はまだ無い」を更新

確認 (ローカルの wrangler dev)

  • /sparkle のメニューの Profile で、URL はそのままでポップアップが開き、現在の値が入っている。Username は編集できず、パスワード欄はない
  • 名前の変更、所属を空にする、Social Link の追加を保存でき、ポップアップを閉じると名刺に反映されている
  • アイコンを変更でき、R2 から配信される
  • メニューの Settings でパスワード変更のポップアップが開き、変更できる
  • 現在のパスワードを間違えるとエラーを出し、ログアウトしない
  • パスワード変更後、古いパスワードは 401、新しいパスワードは 200
  • 新規登録フォームで登録して /sparkle に移動できる

otnc added 3 commits October 19, 2026 15:58
/sparkle のメニューの Settings から、アイコン・名前・所属・Social Links・パスワードを変更できるようにする。Username は表示のみで変更不可。入力欄は ProfileFields に切り出して、新規登録フォームと共有する。パスワード変更用に POST /api/password を追加。現在のパスワードの打ち間違いでログアウトされないよう、送信前にブラウザで照合する。
メニューの Settings はログイン・新規登録と同じく Header のポップアップで開き、/settings ページは削除する。プロフィールを保存したら profile:updated イベントで /sparkle の名刺を読み直す。
メニューの Profile でアイコン・名前・所属・Social Links を編集する ProfileForm を、Settings でパスワードを変更する SettingsForm を開く。どちらも Header のポップアップで表示する。
@otnc otnc changed the title Settings 画面を追加 Profile と Settings のポップアップを追加 Oct 19, 2026
Base automatically changed from handle-stale-credentials to main October 19, 2026 07:09
@otnc
otnc merged commit edb1017 into main Oct 19, 2026
@otnc
otnc deleted the settings-page branch October 19, 2026 07:09
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