Commit 4834b4a
release (#309)
* chore(deps): update dependency @biomejs/biome to v2.2.5 (#78)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.2 (#79)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.7.2 (#80)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency dotenv to v17.2.3 (#81)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency chromatic to v13.3.0 (#87)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.50.0 (#88)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v7.1.9 (#83)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency react-hook-form to v7.64.0 (#89)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update react monorepo to v19.2.0 (#90)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.132.37 (#85)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update storybook monorepo to v9.1.10 (#84)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency typescript to v5.9.3 (#82)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: y-natani <yn1323@gmail.com>
* chore(deps): update dependency @types/node to v24.6.2 (#86)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: y-natani <yn1323@gmail.com>
* 店舗登録 (#91)
* lint
* temp
* fix: delete
* git ignore
* fix
* fix
* ignore
* fix: delete serena
* fix
* fix
* fix: error message test
* fix: 店舗一覧
* chore
* feat: e2e
* fix
* chore(deps): update dependency @clerk/testing to v1.13.3 (#92)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.7.6 (#93)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update react monorepo (#94)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @chakra-ui/react to v3.27.1 (#95)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency convex to v1.27.5 (#96)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: tasks.json
* fix(deps): update dependency zod to v4.1.12 (#97)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo (#98)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/node to v24.7.2 (#99)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency react-hook-form to v7.65.0 (#102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.51.0 (#101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/1012 (#103)
* fix
* fix
* fix: seed
* fix
* chore
* feat: shop top
* fix
* f
* Feat/1013 (#104)
* fix
* fix
* fix
* Feat/1013 (#105)
* fix
* feat: breadcrumb
* feat: edit
* fix
* fix
* Feat/1013 (#106)
* fix
* feat: breadcrumb
* feat: edit
* fix
* fix
* fix
* chore(deps): update dependency @biomejs/biome to v2.2.6 (#107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.7 (#108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.7.7 (#109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/react-dom to v19.2.2 (#110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency jsdom to v27.0.1 (#111)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v7.1.10 (#112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update storybook monorepo to v9.1.13 (#113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: ci
* chore(deps): update actions/setup-node action to v6
* chore(deps): update dependency @types/node to v24.8.1 (#114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update playwright monorepo to v1.56.1 (#100)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.53.2
* fix(deps): update dependency convex to v1.28.0
* fix(deps): update tanstack-router monorepo to v1.133.13
* fix (#119)
* fix
* fix
* fix
* chore(deps): update dependency @clerk/testing to v1.13.8 (#121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.7.8 (#122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency chromatic to v13.3.2 (#123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v7.1.12 (#124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update storybook monorepo to v9.1.15 (#125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.53.3 (#126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo (#127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @biomejs/biome to v2.3.0 (#128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency node to v24 (#129)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-react to v5.1.0 (#130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @chakra-ui/react to v3.28.0 (#131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/upload-artifact action to v5 (#132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @biomejs/biome to v2.3.2 (#134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.9 (#135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/node to v24.9.2 (#136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency chromatic to v13.3.3 (#137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update storybook monorepo to v9.1.16 (#138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.53.4 (#139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency jotai to v2.15.1 (#142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.8.0 (#140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency jsdom to v27.1.0 (#141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency react-hook-form to v7.66.0 (#143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.134.9 (#144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @biomejs/biome to v2.3.4 (#146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.12 (#147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.8.1 (#148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.53.8 (#149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency convex to v1.28.2 (#150)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.134.15 (#151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/node to v24.10.0 (#152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v7.2.2 (#153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @chakra-ui/react to v3.29.0 (#154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.135.0 (#155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/1019 (#156)
* fix
* fix: layout
* fix
* fix
* fix
* fix: test
* Feat/1113 (#157)
* fix: dashboard
* fix: shop list
* fix: shop register
* fix: form
* fix: ShopDetail
* fix: user detail
* fix: ci
* fix
* fix
* fix
* chore(deps): update dependency @biomejs/biome to v2.3.5 (#158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.15 (#159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/1115 (#164)
* fix
* fix
* chore(deps): update dependency @types/node to v24.10.1 (#160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-react to v5.1.1 (#161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update react monorepo (#162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency jsdom to v27.2.0 (#163)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.55.0 (#165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/1115 (#168)
* fix
* tmp
* f
* f
* f
* fix
* f
* f
* f
* f
* fix
* fix(deps): update dependency convex to v1.29.1 (#166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.136.5 (#167)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.136.6 (#169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat: introduce shift template management with new UI components and routing (#170)
* chore(deps): update dependency @biomejs/biome to v2.3.7 (#171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.18 (#172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/react to v19.2.6 (#173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency chromatic to v13.3.4 (#174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat: Implement ShopList and ShopDetail InfoTab components, and add agent rules with gitignore update
* chore(deps): update dependency vite to v7.2.4 (#175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency convex to v1.29.3 (#176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/checkout action to v6 (#180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency react-hook-form to v7.66.1 (#177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @chakra-ui/react to v3.30.0 (#182)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.56.2 (#178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.139.3 (#179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/1122 (#181)
* feat: add `InfoTab` component to display shop details like operating hours, shift deadlines, and description.
* fix
* fix: invite
* f
* f
* fix: tab
* remove: word member
* fix
* fix
* fix
* Feat/1124 (#183)
* fix: shop staff count
* fix
* fix: tab
* fix
* wip
* fix
* fix: e2e
* fix: format
* fix: workflow
* fix
* fix
* fix
* fix: sho
* fix
* fix: delete debug
* Add user invitation feature (#184)
* docs: ユーザー招待機能の仕様書を追加
- 権限(owner/manager のみ招待可能)
- 招待リンクの仕様(トークン形式、有効期限14日)
- 招待フロー(作成、キャンセル、再送)
- 受け入れフロー(状態判定、ログイン状態分岐)
- データモデル、API一覧、エラーコード
* docs: 招待時に付与可能なロールを修正
ownerロールも招待時に付与可能であることを明記
* fix: ownerロールを招待・ロール変更で付与可能に修正
- convex/shop.ts: addUserToShopでownerロールを許可
- doc/spec/2025-10-04_店舗管理機能.md: ownerロール制限に関する
誤った記載を修正
* style: フォーマット修正
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Sort staff list by role hierarchy (#185)
* feat: スタッフ一覧を役割順(オーナー→マネージャー→一般)でソート
役割の優先度に基づいてユーザー間のソートを追加。
各ユーザーの最も高い役割を基準にソートすることで、
オーナー、マネージャー、一般の順に表示されるようになる。
* refactor: sortをtoSortedに変更
非破壊的なソートメソッドtoSortedを使用するよう変更。
TypeScript libをES2023に更新してtoSortedをサポート。
---------
Co-authored-by: Claude <noreply@anthropic.com>
* ユーザー編集ボタンの表示制御を役割に基づいて実装 (#186)
- オーナー: 全員編集可能
- マネージャー: 全員編集可能、ただしオーナーは編集不可
- 一般ユーザー: 自分のものだけ編集可能
Co-authored-by: Claude <noreply@anthropic.com>
* Fix unauthorized access to other user information (#187)
* ユーザー情報アクセス制御の仕様書を追加
- 背景・課題、要件、実装方針をまとめた
- 役割ベースのアクセス制御設計を記載
- 影響範囲とテスト観点を整理
* E2Eテストのfixture追加とスケルトン作成
- constants: manager, general用のauth jsonファイルパス追加
- login.setup.ts: manager, general用のログイン処理追加
- playwright.config.ts: manager, general用のプロジェクト追加
- E2Eテストスケルトン: staff, manager, general用のアクセス制御テスト
- 仕様書: E2Eテスト計画を追記
* ユーザー情報アクセス制御を実装
- getUsersInShopにロール別フィルタリングを追加(generalはactiveのみ表示)
- getUserByIdに制限ビュー対応を追加(他人は名前・役割のみ)
- getUserShopsにアクセス制御を追加
- UserDetailコンポーネントに制限ビュー表示を実装
- StaffEditPageに権限チェックを追加
- E2Eテストを追加(owner/manager/general各ロール)
- Storybookに制限ビューパターンを追加
* 制限ビュー時のメッセージを非表示に変更
- 権限がない場合は何も表示しない仕様に変更
- E2Eテストからメッセージ確認を削除
* E2Eテストのセレクタ修正とプロジェクト設定を調整
- スタッフ一覧のセレクタをCard.Root構造に合わせて修正
- Manager/General用プロジェクトを環境変数条件で有効化
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Claude/fix user info access 012c5 z somom4 ptgb5 zjgov tz (#188)
* ユーザー情報アクセス制御の仕様書を追加
- 背景・課題、要件、実装方針をまとめた
- 役割ベースのアクセス制御設計を記載
- 影響範囲とテスト観点を整理
* E2Eテストのfixture追加とスケルトン作成
- constants: manager, general用のauth jsonファイルパス追加
- login.setup.ts: manager, general用のログイン処理追加
- playwright.config.ts: manager, general用のプロジェクト追加
- E2Eテストスケルトン: staff, manager, general用のアクセス制御テスト
- 仕様書: E2Eテスト計画を追記
* ユーザー情報アクセス制御を実装
- getUsersInShopにロール別フィルタリングを追加(generalはactiveのみ表示)
- getUserByIdに制限ビュー対応を追加(他人は名前・役割のみ)
- getUserShopsにアクセス制御を追加
- UserDetailコンポーネントに制限ビュー表示を実装
- StaffEditPageに権限チェックを追加
- E2Eテストを追加(owner/manager/general各ロール)
- Storybookに制限ビューパターンを追加
* 制限ビュー時のメッセージを非表示に変更
- 権限がない場合は何も表示しない仕様に変更
- E2Eテストからメッセージ確認を削除
* E2Eテストのセレクタ修正とプロジェクト設定を調整
- スタッフ一覧のセレクタをCard.Root構造に合わせて修正
- Manager/General用プロジェクトを環境変数条件で有効化
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix
---------
Co-authored-by: Claude <noreply@anthropic.com>
* 画面遷移後に戻った際のタブ状態を維持する機能を追加 (#189)
- 店舗詳細→ユーザー詳細、店舗詳細→招待画面への遷移時にfromTabパラメータを追加
- 戻るリンクにfromTabの値を引き継ぎ、タブ状態を復元
Co-authored-by: Claude <noreply@anthropic.com>
* Refactor code for consistency and quality (#190)
* コード一貫性を向上させるリファクタリング
CLAUDE.mdルール準拠:
- interface → type 変換 (color-mode.tsx, tooltip.tsx)
- Function Declaration → Arrow Function 変換
- Promise.then → async/await 変換 (reportWebVitals.ts)
エラーハンドリング統一:
- console.error 削除、toaster.create に統一
- pages/Invite の責務分離 (useMutation を features に移動)
- SendTab, UserRegister のエラーハンドリング統一
コンポーネント改善:
- LoadingState 共通コンポーネント作成
- TopPage をセクションコンポーネントに分割 (643行 → 33行)
- ShiftTemplateList の JSX ネスト削減と命名改善
アクセシビリティ改善:
- ShiftTemplateForm の曜日選択を Badge → Button に変更
- MyPage のお知らせカードを Box → Button に変更
* 招待受け入れ時のレースコンディションを修正
問題:
Convexのリアルタイム更新により、mutationが成功すると即座に
invitation.isAcceptedがtrueになり、InvitePageがAlreadyAccepted
を表示してしまう。LoggedIn内でAcceptedを表示する前にUIが切り替わる。
解決:
- acceptedShop状態をInvitePageレベルで管理
- リアルタイム更新チェック前にローカル状態をチェック
- LoggedInはonAcceptedコールバックで親に成功を通知
* フォーマット修正
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Add employee resignation feature for stores (#191)
* スタッフ退職機能を実装
- shopUserBelongingsにresignedAt, resignationReasonフィールドを追加
- resignUserFromShop mutationを追加(権限チェック、自己退職禁止を含む)
- StaffTabのステータスフィルターを retired から resigned に統一
- UserEditに退職処理モーダルを実装(退職理由の任意入力対応)
- 退職機能の仕様書を追加
* 退職機能のE2Eテストを追加
- getShopsByAuthIdで退職済みユーザーの店舗を除外するように修正
- オーナーがスタッフを退職処理するE2Eテストを追加
- 退職後のgeneralユーザーが店舗一覧で店舗を見れないことを確認するテストを追加
- playwright.config.tsに退職後テストの依存関係を設定
* E2Eテストのセレクタを修正
getByText('退職処理')が複数要素にマッチするため、getByRole('button')を使用するように修正
* E2Eテストのフィルター待機ロジックを修正
退職済みフィルター適用後、スタッフ一覧または空メッセージのいずれかを待機するように修正
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Review E2E testing approach and efficiency (#192)
* refactor: E2Eテストのナビゲーション処理を共通化
- e2e/helpers/navigation.ts: ナビゲーションヘルパー関数を追加
- e2e/helpers/staff-access-tests.ts: Owner/Manager共通テスト関数を追加
- 各テストファイルでヘルパーを使用するようリファクタ
- playwright.config.ts: テスト間依存関係を明確化するコメントを追加
- 各テストファイルに依存関係のドキュメントコメントを追加
* fix: E2Eテストヘルパーの未使用パラメータを削除
- testFullStaffListVisible, testFullStaffDetailVisibleから未使用のroleパラメータを削除
- フォーマット修正を適用
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Review current store user editing features (#193)
* スタッフ管理情報の編集機能を実装
- Convexスキーマに管理用フィールド追加(memo, workStyleNote, maxWorkingHoursPerMonth, hourlyWage)
- getShopUserInfo query追加(owner/managerのみ閲覧可能)
- updateShopUserInfo mutation追加(owner/managerのみ編集可能)
- UserEditフォームをConvexに接続
- 働き方メモTextareaを新規追加(AIシフト作成用)
- E2Eテスト追加(値変更・保存確認)
* useQueryをpages配下に移動(コンポーネント責務の整理)
- StaffEditPageでgetShopUserInfo、getShopByIdを呼び出すように変更
- UserEditはpropsでshopUserInfo、shopNameを受け取るように変更
- UserEditからuseQueryを削除
- Storybookの引数を更新
---------
Co-authored-by: Claude <noreply@anthropic.com>
* タイムカードモックページを追加 (#194)
打刻機能、履歴表示、月間サマリーを含むタイムカードUIのモックを作成
Co-authored-by: Claude <noreply@anthropic.com>
* fix: yml (#196)
* Review code for refactoring opportunities (#195)
* リファクタリング: コード品質改善
- スキーマ重複解消(ShopRegister/ShopEdit → ShopForm/schema.ts)
- convex/helpers.ts拡張(共通ヘルパー関数・セキュアなトークン生成)
- convex/shop.ts, invite.ts, user.tsでヘルパー関数を使用
- convex/user.tsでv.id()を使用・Promise.then()をasync/awaitに変換
- useAtom → useAtomValue最適化(読み取り専用の場合)
- Storybookのanyコメント解消(Id型を適切にインポート)
- isNumber → isDigitString命名改善
* fix(storybook): ダミールーターにキャッチオールルートを追加
Storybook内でLink to="/shops/$shopId"などの動的パスを使用する
コンポーネントがエラーになる問題を修正
* fix(storybook): Pages層ストーリーのIDを有効なConvex ID形式に修正
Convexは"shop123"のようなIDを受け付けず、バリデーションエラーを
発生させていた。有効なConvex ID形式に修正
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Refactor Convex directory with better file structure (#197)
* feat: Feature Slices + CQRSアーキテクチャのサンプル実装
convex/shop/配下にqueries.tsとmutations.tsを作成し、
読み取り操作と書き込み操作を分離するアーキテクチャパターンを示す
* feat: policies.tsを追加しロール判定ロジックを集約
- shop/policies.ts: 権限判定の純粋関数を集約
- queries.ts/mutations.tsからpoliciesを参照するよう更新
- コロケーションパターンでドメイン内に閉じ込め
* docs: Convexアーキテクチャ設計方針をCLAUDE.mdに追加
Feature Slices + CQRS + Policy Patternの設計方針を文書化
* refactor: Convexを Feature Slices + CQRS + Policy Patternに移行
- shop/, user/, invite/ ディレクトリに分割
- 各ドメインに queries.ts, mutations.ts, policies.ts を配置
- 旧ファイル (shop.ts, user.ts, invite.ts) を削除
- ロール判定ロジックを policies.ts に集約
* fix: フロントエンドのAPI参照を新しいディレクトリ構造に更新
- すべてのフロントエンドファイルでConvex APIパスを更新
- api.shop -> api.shop.queries/mutations
- api.user -> api.user.queries/mutations
- api.invite -> api.invite.queries/mutations
- convex/_generated/api.d.tsを新しいディレクトリ構造に対応
- uniqueBy関数の型定義を改善(Record<string, unknown> -> object)
- Biomeによるフォーマット適用
---------
Co-authored-by: Claude <noreply@anthropic.com>
* chore(deps): update dependency @biomejs/biome to v2.3.8 (#198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.19 (#199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.8.2 (#200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Review and plan product direction changes (#204)
* docs: プロダクト方向性v2を追加
スタッフ認証をマジックリンク方式に変更する方針を文書化
- スタッフのアカウント登録不要化
- タイムカード・勤怠機能の削除
- スキル管理、週労働時間上限の追加
- 時間帯別必要人員設定(未確定)
* docs: 旧仕様からv2へのリンクを追加
* docs: v2移行作業の範囲をまとめたドキュメントを追加
* feat: Phase 1 - タイムカード・勤怠機能削除、useTimeCard削除
- routes: timecard.tsx, attendance.tsx 削除
- components: Timecard/, AttendanceTab/, TimecardPage/ 削除
- schema: shops.useTimeCard フィールド削除
- ShopForm: useTimeCard関連のUI・バリデーション削除
- Convex API: create/update からuseTimeCard引数削除
- stories: 各種storiesファイルからuseTimeCard削除
- docs: Phase 1-4の移行作業ドキュメント追加
* fix: シードデータからuseTimeCard削除
スキーマ変更に合わせてシードデータを更新
* fix: メニューから勤怠記録リンク削除
BottomMenu, SideMenuから/attendanceへのリンクを削除
* feat: Phase 2 - staffsテーブル追加、スキル関連定数追加
- shopUserBelongingsテーブルをstaffsテーブルに変更
- skills, maxWeeklyHoursフィールド追加
- スキル関連の定数をconvex/constants.tsに追加
* refactor: Phase 3 - API修正(ロール制御から所有者制御へ)
- helpers.ts: isShopOwner, requireShopOwner追加
- shop/queries.ts: listStaffsに変更、所有者チェック追加
- shop/mutations.ts: addStaff, resignStaff, updateStaffInfoに変更
- user/queries.ts: 不要なクエリを削除
* remove: ポリシーファイルとinvite機能を削除
- shop/policies.ts: ロールベースポリシー削除
- user/policies.ts: 不要なポリシー削除
- invite/: 旧招待機能を完全削除
* refactor: フロントエンドコンポーネントをstaffsモデルに対応
- ShopDetail: userRoleをisOwnerに変更、usersをstaffsに変更
- ShopEdit: userRoleをisOwnerに変更
- ShopList: ロールバッジと招待メッセージを削除
- StaffTab: 新しいStaffType構造に対応、スキル表示追加
- AuthGuard: /welcomeから/shopsへリダイレクト変更
- convertShopData: convertRole関数を削除
* remove: User機能コンポーネントを削除
- UserDetail: 旧ユーザー詳細画面削除
- UserEdit: 旧ユーザー編集画面削除
- UserRegister: 旧ユーザー登録画面削除
- Join: 招待参加画面削除
* refactor: ページコンポーネントをstaffsモデルに対応
- DetailPage: listStaffsクエリ使用、isOwner計算に変更
- EditPage: isOwner計算に変更
- ListPage: canCreateクエリを削除
- 不要なページ削除: InvitePage, WelcomePage, Staffs関連
* remove: 不要なルートを削除
- /shops/$shopId/invite: 招待ページルート削除
- /shops/$shopId/staff: 旧スタッフルート削除
- /shops/$shopId/staffs: スタッフ管理ルート削除
- /invite: 招待参加ルート削除
- /welcome: ウェルカムページルート削除
* style: フォーマット修正
* fix: モバイルメニューのログインボタンが動作しない問題を修正
SignInButtonでラップされていなかったモバイルメニュー内の
ログインボタンを修正
* fix: 新規ユーザーログイン時に画面が真っ白になる問題を修正
- user/mutations.ts: getOrCreate mutation追加(既存ユーザー取得または新規作成)
- AuthGuard: 新規ユーザーを自動作成するロジック追加
- Clerkでログイン後、Convexにユーザーレコードがない場合は自動作成
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Analyze and fix failing end-to-end tests (#209)
* refactor(e2e): v2移行に伴うE2Eテストの再構築
## 変更内容
### seedデータのv2スキーマ対応
- shopUserBelongings.jsonl → staffs.jsonl に変換
- users.jsonlからuserB(テストユーザーB)を削除(新規店長テスト用)
- Manager/Generalユーザーを削除(v2では権限区分廃止)
### 削除したテスト(v2で不要)
- shop/invite.test.ts(Clerk招待→マジックリンクに変更)
- staff/access-control.test.ts(権限区分廃止)
- staff/edit.test.ts(編集UI未実装)
- staff/resign.test.ts(退職UI未実装)
- userB/accept.test.ts(招待受け入れ廃止)
- manager/staff-access.test.ts(Manager権限廃止)
- general/staff-access.test.ts(General権限廃止)
- general/after-resign.test.ts(General権限廃止)
### 新規作成したテスト
- shop/list.test.ts: 店舗一覧表示、遷移
- shop/detail.test.ts: 店舗詳細、タブ切替、編集遷移
- shop/edit.test.ts: 店舗情報編集、保存
- staff/list.test.ts: スタッフ一覧、検索、フィルター
- userB/new-owner.test.ts: 新規店長の初回ログイン〜店舗登録
### 設定ファイル修正
- playwright.config.ts: Manager/General project削除
- login.setup.ts: Manager/Generalログイン削除
- constants/index.ts: 不要な定数削除
- helpers/navigation.ts: 不要なヘルパー関数削除
* fix(e2e): lint/type-checkエラーを修正
- 未使用インポートを削除(goToStaffTab, goToFirstShop)
- Number.parseIntにradixパラメータを追加
* fix(e2e): Link内ButtonのgetByRole修正
「〜に戻る」ボタンはLink内のButtonなのでgetByRole("button")に修正
* fix
* fi
* fix: test
* fix
* fix
---------
Co-authored-by: Claude <noreply@anthropic.com>
* fix (#210)
* Fix/claudemd (#211)
* fix
* fix: skills
* fix
* fix
* fix
* fix(deps): update tanstack-router monorepo to v1.139.12 (#203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/react to v19.2.7 (#201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency zod to v4.1.13 (#202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update playwright monorepo to v1.57.0 (#205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Design store manager invitation system (#212)
* feat: マネージャー招待機能を実装
- Convexスキーマにrole, inviteToken, inviteExpiresAtフィールドを追加
- 招待関連の定数(STAFF_ROLES, INVITE_EXPIRY_DAYS等)を追加
- 招待用ヘルパー関数(getStaffByInviteToken, isShopOwnerOrManager等)を追加
- convex/invite/ に招待のミューテーション・クエリを実装
- create: 招待作成
- accept: 招待受け入れ
- cancel: 招待キャンセル
- resend: 招待再送
- getByToken: トークンで招待情報取得
- listByShopId: 店舗の招待一覧取得
- ManagerInviteModal: 招待作成モーダルコンポーネント
- InvitePage: 招待受け入れページ(/invite?token=xxx)
- StaffTabにマネージャー招待ボタンを追加
Note: npx convex dev を実行して型生成が必要です
* feat: InvitePageのStorybookを追加
- Basic: トークンありの場合
- NoToken: トークンなしの場合(エラー表示)
* chore: 自動生成ファイルを更新
- convex/_generated/api.d.ts: invite モジュールを追加
- src/routeTree.gen.ts: /invite ルートを追加
* refactor: マネージャー招待モーダルからロール選択を削除
招待されるのはマネージャーのみのため、ロール選択UIを削除し
固定でmanagerロールとして招待するように変更
* test: マネージャー招待機能のE2Eテストを追加
- 招待作成テスト(メインユーザー)
- モーダルの開閉テスト
- 招待リンク作成テスト
- 必須項目バリデーションテスト
- tmpファイルへのURL保存テスト(クロスユーザーテスト用)
- 招待受け入れテスト(サブユーザー)
- 招待リンクから店舗に参加できることのテスト
- 無効なトークンのエラーハンドリングテスト
- トークンなしのエラーハンドリングテスト
- ヘルパー関数とtmpファイルパス定数を追加
* fix: E2Eテストのlocatorを修正
- [font-family="mono"]属性セレクタがChakra UIで機能しないためgetByTextに変更
* fix
* fix: empty
* fix: e2e
* fix
* fix
* fix
* fix
* fix
---------
Co-authored-by: Claude <noreply@anthropic.com>
* fix(deps): update dependency @clerk/clerk-react to v5.57.1 (#206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/github-script action to v8 (#208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.21 (#213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v7.2.6 (#214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency jotai to v2.15.2 (#215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update react monorepo to v19.2.1 (#216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo (#217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency tsx to v4.21.0 (#218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.58.0 (#219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency convex to v1.30.0 (#220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.140.0 (#221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency react-hook-form to v7.68.0 (#207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: renovate (#222)
* Feat/1209 (#223)
* fix
* fix
* chore(deps): update dependency @clerk/testing to v1.13.23 (#224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.8.4 (#225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/node to v24.10.3 (#226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-react to v5.1.2 (#227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v7.2.7 (#228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.58.1 (#229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update react monorepo to v19.2.3 (#230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency jsdom to v27.3.0 (#231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency convex to v1.31.1 (#232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @types/node to v24.10.4 (#237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency jotai to v2.16.0 (#233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo (#234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5 (#235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/upload-artifact action to v6 (#236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @biomejs/biome to v2.3.10 (#238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @clerk/testing to v1.13.26 (#239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @testing-library/react to v16.3.1 (#240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update storybook monorepo to v9.1.17 (#241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency convex to v1.31.2 (#242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/1222 (#249)
* chore: ui
* fix: toolbar(wip)
* fix
* fix: sidebar
* fix: toolbar
* fix: メンバーを追加ボタン
* fix
* fix
* fix
* fix
* fix(deps): update tanstack-router monorepo (#243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v7.3.0 (#244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency @clerk/clerk-react to v5.59.2 (#245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency react-hook-form to v7.69.0 (#246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update dependency zod to v4.2.1 (#247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite-tsconfig-paths to v6 (#248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/0105 (#250)
* fix
* fix
* fix
* fix(deps): update dependency jotai to v2.16.1 (#251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @tanstack/react-devtools to v0.9.0 (#252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency jsdom to v27.4.0 (#253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.143.11 (#254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(deps): update tanstack-router monorepo to v1.144.0 (#255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Feat/0113 (#256)
* feat: shop change
* feat: 募集ページ
* feat: shift recruit mocks
* feat: mock (#257)
* Feat/0120 (#258)
* tmp
* fix
* feat
* fix
* feat: シフトテーブルUI改善・ソート機能・充足度グラデーション表示 (#259)
* fix: time span
* fix: vertical line
* feat: md
* fix: toolbar
* fix: toolbar
* feat: summary as gradation color
* fix: 充足度合計
* fix: add colors to gradation
* chore
* fix: tab
* fix: resize
* del: right click menu
* tmp
* fix
* fix
* feat: sort
* fix: sort
* fix: fixed table (WIP)
* fix: footer space
* fix: radius
* fix: border
* fix: height
* fix: spec
* Feat/0128 (#260)
* fix: staff modal
* fix: content
* fix: toolbar
* fix
* fix: 微調整
* fix
* Feat/0128 (#261)
* fix: staff modal
* fix: content
* fix: toolbar
* fix
* fix: 微調整
* fix
* feat: overview
* fix: matrix (#262)
* feat: シフト俯瞰ビュー切替・統一ソート・バグ修正 (#263)
* feat: claude
* feat: over view
* fix
* fix
* feat: ShiftForm リファクタリング(統合・旧コンポーネント削除) (#264)
* fix: SP
* fix: Shift SP
* sp
* fix: read only mode
* feat: refactor
* fix: phase1
* feat: phase2
* fix: phase3
* f
* feat: StaffingRequirement UX改善(リネーム・祝日追加・曜日カラーリング・新コンポーネント) (#265)
* fix
* fix: add sp storybook
* feat: staffing requirement
* fix
* fix
* feat: StaffingRequirement UX改善・SP対応・仕様書更新 (#266)
* f
* fix
* fix
* feat: スタッフ用シフト提出ページ + 募集メール送信機能 (#267)
* fix: スタッフ一覧のマネージャーバッジを上下中央寄せ
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト募集CREATE バックエンド実装
recruitmentsテーブル追加・create mutation作成・フロントエンド接続
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: スタッフ詳細ページの重複表示を解消しレイアウト修正
Title内の重複アバター・名前を削除し、編集ボタンをStaffDetailContentの
ヘッダー行(アバター+名前の右端)に移動。スキル表示をチップスタイルに変更。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト管理画面をDB接続(モックデータ削除)
recruitment queries作成・ShiftsPageでuseQueryに切り替え
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト募集一覧を開始日の降順ソートに変更・募集詳細UIリファクタ
- recruitmentsテーブルにby_shop_and_startDateインデックス追加
- listByShopクエリでバックエンド側降順ソートを実装
- フロントエンドの冗長なソート処理を削除
- RecruitmentDetailのレイアウトをTitle/Card/Animation構成に統一
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: シフト募集詳細レイアウト改善・テーブル背景色被り修正
- RecruitmentDetailにContainer/Title/Animation標準パターンを適用
- ボタンを「締切・編集へ」1つに統合(LuPencilLine + teal)
- テーブル構造要素のbg="gray.50"→"white"に変更(ページ背景との境界明確化)
- ShiftForm内部のpx={4}を削除しpadding責務を呼び出し側に移動
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト募集開始時のメール送信機能を追加
Resend + Convex Action で募集作成時にスタッフへメール通知する基盤を構築。
- convex/email/actions.ts: Resend APIによるメール送信internalAction
- convex/recruitment/mutations.ts: magicLink生成・メール送信スケジュール追加
- scripts/setupEnv.ts: .envからConvex環境変数を一括設定するスクリプト
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: implement shift submit page flow and UX copy
* feat: ShiftSubmit関連コンポーネントのStorybook追加
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: Storybookから未インストールの@storybook/test依存を削除
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト募集・申請・確定フローの実装とmagicLinksテーブル導入 (#268)
* fix: スタッフ一覧のマネージャーバッジを上下中央寄せ
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト募集CREATE バックエンド実装
recruitmentsテーブル追加・create mutation作成・フロントエンド接続
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: スタッフ詳細ページの重複表示を解消しレイアウト修正
Title内の重複アバター・名前を削除し、編集ボタンをStaffDetailContentの
ヘッダー行(アバター+名前の右端)に移動。スキル表示をチップスタイルに変更。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト管理画面をDB接続(モックデータ削除)
recruitment queries作成・ShiftsPageでuseQueryに切り替え
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト募集一覧を開始日の降順ソートに変更・募集詳細UIリファクタ
- recruitmentsテーブルにby_shop_and_startDateインデックス追加
- listByShopクエリでバックエンド側降順ソートを実装
- フロントエンドの冗長なソート処理を削除
- RecruitmentDetailのレイアウトをTitle/Card/Animation構成に統一
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: シフト募集詳細レイアウト改善・テーブル背景色被り修正
- RecruitmentDetailにContainer/Title/Animation標準パターンを適用
- ボタンを「締切・編集へ」1つに統合(LuPencilLine + teal)
- テーブル構造要素のbg="gray.50"→"white"に変更(ページ背景との境界明確化)
- ShiftForm内部のpx={4}を削除しpadding責務を呼び出し側に移動
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: シフト募集開始時のメール送信機能を追加
Resend + Convex Action で募集作成時にスタッフへメール通知する基盤を構築。
- convex/email/actions.ts: Resend APIによるメール送信internalAction
- convex/recruitment/mutations.ts: magicLink生成・メール送信スケジュール追加
- scripts/setupEnv.ts: .envからConvex環境変数を一括設定するスクリプト
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: implement shift submit page flow and UX copy
* feat: ShiftSubmit関連コンポーネントのStorybook追加
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: Storybookから未インストールの@storybook/test依存を削除
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* add: pen file
* feat: シフト編集・確定
* fix
* del
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: コード重複解消・責務分離・N+1クエリ最適化 (#269)
* refactor: コード重複解消・責務分離・N+1クエリ最適化
- convex/helpers.ts と position/mutations.ts の重複関数を一本化
- shop/mutations.ts からスタッフ操作を staff/mutations.ts に分離
- staffSkill/queries.ts の listByShop でポジション一括取得に最適化
- PositionManager/PositionEditor の共通部品を抽出(SortablePositionItem, PositionAddForm, validatePositionName)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* `chore: @yn1323/cognac導入と設定ファイル追加`
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* f
* Feat/0323 (#270)
* chore: 不要スキルの削除(create-pr, doc-update, resume-plan, save-plan)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: commitスキルの追加(自動コミット分割)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: CLAUDE.mdの説明充実・自動生成ファイルの注意事項追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: 充足度の数値表示がグリッドラインとずれる問題を修正
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: discussスキルの追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: ShiftFormデザインガイド・デザインファイルの追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor: ShiftForm DailyViewの消しゴムモード削除・空状態ガイド追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: Claude Code権限設定の更新・discussスキルの改善
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: ShiftForm情報設計プランの追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor: undo/redo・toolMode・scrollDragの廃止とPositionToolbar簡素化
情報設計改善プランStep1: selectモード・undo/redo・スクロールドラッグを削除し、
ポジションボタンのみのシンプルなツールバーに変更。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: ポジション間ギャップの休憩ストライプ表示
情報設計改善プランStep2: computeVisualBreaksでポジション間の空き時間を検出し、
ストライプパターンで休憩を可視化。PC・SP両対応。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: ピーク帯設定・充足度アラート・DateTabsバッジの追加
情報設計改善プランStep3-5: ピーク帯定義+最低人員の簡易入力モード、
DailyView/OverviewViewの充足度アラート表示、DateTabsの曜日色分け・1 parent bc98d0e commit 4834b4a
File tree
561 files changed
+80078
-5747
lines changed- .agents/skills
- convex-create-component
- agents
- assets
- references
- convex-migration-helper
- agents
- assets
- references
- convex-performance-audit
- agents
- assets
- references
- convex-quickstart
- agents
- assets
- convex-setup-auth
- agents
- assets
- references
- difit-review
- agents
- .claude
- agents
- skills
- commit
- create-pr
- design-prompt
- difit-review
- agents
- discuss
- pencil-design
- references
- .github
- ISSUE_TEMPLATE
- actions
- playwright
- setup
- workflows
- .kiro/skills
- .scaffdog
- Page
- RouteHandler
- path
- query
- component
- .serena
- .storybook
- mocks
- .vscode
- convex-seeds
- scripts
- seeds
- convex
- _generated
- ai
- _lib
- _test
- dashboard
- email
- recruitment
- setup
- shiftBoard
- shiftSubmission
- staffAuth
- staff
- design
- common
- doc
- claude
- design
- features
- plans
- e2e
- constants
- fixtures
- setup
- helpers
- pages
- scenarios
- public
- scripts
- src
- components
- config
- features
- Dashboard
- AddStaffForm
- CreateRecruitmentForm
- DashboardContent
- EditStaffForm
- RecruitmentCard
- RecruitmentSection
- SetupModal
- SetupStep1
- SetupStep2
- StaffListItem
- StaffSection
- LandingPage
- LegalPage
- PrivacyPolicy
- ShiftBoard
- ConfirmShiftContent
- ShiftBoardHeader
- ShiftBoardPage
- ShiftBoardSPHeader
- Shift/ShiftForm
- __mocks__
- hooks
- pc
- DailyView
- ShiftGrid
- hooks
- OverviewView
- sp
- DailyView
- OverviewView
- utils
- Shop
- CreateShop
- Invite
- StaffSubmit
- DayCard
- ExpiredSubmitView
- ReadOnlySubmitView
- ShiftSubmitPage
- SubmitCompleteView
- SubmitFormView
- utils
- StaffView
- ExpiredView
- PeriodBar
- RateLimitedView
- ReissueDone
- ReissueForm
- ShiftViewPage
- Terms
- Top
- auths
- register
- ShopForm
- UserForm
- layout/SideMenu
- templates
- ContentWrapper
- Header
- RootContentWrapper
- StaffHeader
- StaffLayout
- TitleTemplate
- ui
- BottomSheet
- ColorPicker
- Dialog
- Empty
- ErrorBoundary
- FormCard
- FullPageSpinner
- LazyShow
- LoadingState
- Select
- Title
- configs/theme
- recipes
- semantic-tokens
- slot-recipes
- tokens
- constants
- helpers
- utils
- array
- string
- validation
- hooks
- routes
- _auth
- shops
- _unregistered
- join
- stores
- shop
- user
- utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
561 files changed
+80078
-5747
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Loading
0 commit comments