@@ -4,6 +4,7 @@ import { useRoute } from 'vue-router'
4
4
5
5
import MemberShipPageVerifyEmailLink from ' @/pages/membership/MembershipPageVerifyEmailLink.vue'
6
6
import MemberShipPageUserTypeSelector from ' ./MemberShipPageUserTypeSelector.vue'
7
+ import MembershipPageInputText from ' ./MembershipPageInputText.vue'
7
8
import MembershipPageLoginLink from ' ./MembershipPageLoginLink.vue'
8
9
9
10
const route = useRoute ()
@@ -16,7 +17,7 @@ const isUserTypeQueryValid = computed(
16
17
)
17
18
18
19
const isLoggedIn = ref (false )
19
- const hasVerifiedMailAddress = ref (false )
20
+ const hasVerifiedMailAddress = ref (true )
20
21
const hasCustomerObjectOnTraqId = ref (false )
21
22
const shouldShowUserTypeSelector = computed (() => ! isLoggedIn .value )
22
23
const needUserTypeSelect = computed (() => ! isLoggedIn .value && ! isUserTypeQueryValid .value )
@@ -46,9 +47,11 @@ const needTraqIdInput = computed(
46
47
isUserTypeRejoin .value &&
47
48
(! hasCustomerObjectOnMailAddress .value || ! hasTraQIdOnCustomerObject .value ),
48
49
)
50
+ const traqIdInput = ref (' ' )
49
51
const needNameInput = computed (() => ! hasCustomerObject .value )
50
- const hasValidTraqId = computed (() => ! needTraqIdInput .value && false )
51
- const hasName = computed (() => ! needNameInput .value && false )
52
+ const nameInput = ref (' ' )
53
+ const hasValidTraqId = computed (() => ! needTraqIdInput .value || traqIdInput .value .length > 0 )
54
+ const hasName = computed (() => ! needNameInput .value || nameInput .value .length > 0 )
52
55
const canShowInvoiceInfoConfirm = computed (
53
56
() => needNameInput .value && hasValidTraqId .value && hasName .value ,
54
57
)
@@ -60,15 +63,21 @@ const canShowInvoiceInfoConfirm = computed(
60
63
<MemberShipPageUserTypeSelector />
61
64
</div >
62
65
<div v-if =" needUserTypeSelect" >新規入部、再入部、継続所属のいずれかを選択してください</div >
63
- <div v-if =" needMailAddressInput" >
66
+ <div v-if =" needMailAddressInput" class = " flex flex-col gap-2 " >
64
67
isct アドレスの認証が必要です <MemberShipPageVerifyEmailLink />
65
68
</div >
66
- <div v-if =" needLogin" >
69
+ <div v-if =" needLogin" class = " flex flex-col gap-2 " >
67
70
ログインが必要です
68
71
<MembershipPageLoginLink />
69
72
</div >
70
- <div v-if =" canShowInvoiceForm && needTraqIdInput" >traQ ID を入力してください</div >
71
- <div v-if =" canShowInvoiceForm && needNameInput" >名前を入力してください</div >
73
+ <div v-if =" canShowInvoiceForm && needTraqIdInput" class =" flex flex-col gap-2" >
74
+ traQ ID を入力してください
75
+ <MembershipPageInputText v-model =" traqIdInput" />
76
+ </div >
77
+ <div v-if =" canShowInvoiceForm && needNameInput" class =" flex flex-col gap-2" >
78
+ 名前を入力してください
79
+ <MembershipPageInputText v-model =" nameInput" />
80
+ </div >
72
81
<div v-if =" canShowInvoiceInfoConfirm" >請求書発行のための情報を確認してください</div >
73
82
</div >
74
83
</template >
0 commit comments