@@ -12,6 +12,86 @@ export function meta() {
1212}
1313
1414export async function loader ( { params, request } : Route . LoaderArgs ) {
15+ // モック認証モードの場合
16+ if ( import . meta. env . VITE_USE_MOCK_AUTH === "true" ) {
17+ const accountId = params . accountId ;
18+
19+ // モックアカウントデータ
20+ const mockAccounts = {
21+ "mock-account-1" : {
22+ id : "mock-account-1" ,
23+ name : "山田太郎" ,
24+ email : "yamada@example.com" ,
25+ photo : null ,
26+ organizationLine : "開発部 / エンジニアリング課" ,
27+ residence : "東京都" ,
28+ assignments : [
29+ {
30+ id : "assignment-1" ,
31+ projectId : "project-1" ,
32+ startDate : "2024-01-01" ,
33+ endDate : "2024-06-30" ,
34+ project : {
35+ id : "project-1" ,
36+ name : "ECサイトリニューアル" ,
37+ clientName : "株式会社ABC" ,
38+ } ,
39+ } ,
40+ {
41+ id : "assignment-2" ,
42+ projectId : "project-2" ,
43+ startDate : "2024-07-01" ,
44+ endDate : null ,
45+ project : {
46+ id : "project-2" ,
47+ name : "モバイルアプリ開発" ,
48+ clientName : "株式会社XYZ" ,
49+ } ,
50+ } ,
51+ ] ,
52+ } ,
53+ "mock-account-2" : {
54+ id : "mock-account-2" ,
55+ name : "佐藤花子" ,
56+ email : "sato@example.com" ,
57+ photo : null ,
58+ organizationLine : "デザイン部 / UI/UX課" ,
59+ residence : "大阪府" ,
60+ assignments : [
61+ {
62+ id : "assignment-3" ,
63+ projectId : "project-3" ,
64+ startDate : "2024-03-01" ,
65+ endDate : "2024-08-31" ,
66+ project : {
67+ id : "project-3" ,
68+ name : "ブランドリニューアル" ,
69+ clientName : "株式会社DEF" ,
70+ } ,
71+ } ,
72+ ] ,
73+ } ,
74+ "mock-account-3" : {
75+ id : "mock-account-3" ,
76+ name : "田中一郎" ,
77+ email : "tanaka@example.com" ,
78+ photo : null ,
79+ organizationLine : "営業部 / 企画課" ,
80+ residence : "愛知県" ,
81+ assignments : [ ] ,
82+ } ,
83+ } ;
84+
85+ const account = mockAccounts [ accountId as keyof typeof mockAccounts ] ;
86+
87+ if ( ! account ) {
88+ throw data ( { error : "Account not found" } , { status : 404 } ) ;
89+ }
90+
91+ return data ( { account } ) ;
92+ }
93+
94+ // 本番モード(Amplify認証)
1595 const responseHeaders = new Headers ( ) ;
1696 return runWithAmplifyServerContext ( {
1797 serverContext : { request, responseHeaders } ,
0 commit comments