パスワード変更機能を追加

- バックエンド: POST /api/auth/change-password/ エンドポイントを追加
- フロントエンド: /settings/password ページを追加(現在のPW確認・8文字バリデーション)
- Navbar: ログアウトボタン横に鍵アイコンでパスワード変更リンクを追加

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Akira
2026-02-25 09:51:03 +09:00
parent a010ece7ed
commit 407d915b35
3 changed files with 173 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
'use client';
import { useRouter, usePathname } from 'next/navigation';
import { LogOut, Wheat, MapPin, FileText, Upload, LayoutDashboard, Mail, History, Shield } from 'lucide-react';
import { LogOut, Wheat, MapPin, FileText, Upload, LayoutDashboard, Mail, History, Shield, KeyRound } from 'lucide-react';
import { logout } from '@/lib/api';
export default function Navbar() {
@@ -102,7 +102,14 @@ export default function Navbar() {
</button>
</div>
</div>
<div className="flex items-center">
<div className="flex items-center space-x-1">
<button
onClick={() => router.push('/settings/password')}
className="flex items-center px-3 py-2 text-sm text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-md transition-colors"
title="パスワード変更"
>
<KeyRound className="h-4 w-4" />
</button>
<button
onClick={handleLogout}
className="flex items-center px-4 py-2 text-sm text-gray-700 hover:text-gray-900 hover:bg-gray-100 rounded-md transition-colors"