Expand member profile fields

This commit is contained in:
2026-01-25 06:37:10 +08:00
parent 29c44f2dbe
commit 2cf0c19b61
4 changed files with 205 additions and 6 deletions

View File

@@ -67,16 +67,182 @@
</div>
<div>
<x-input-label for="phone" :value="__('Phone')" />
<x-input-label for="member_number" :value="__('Member Number')" />
<x-text-input
id="phone"
name="phone"
id="member_number"
name="member_number"
type="text"
class="mt-1 block w-full"
:value="old('phone', optional($member)->phone)"
autocomplete="tel"
:value="old('member_number', optional($member)->member_number)"
disabled
readonly
/>
<x-input-error class="mt-2" :messages="$errors->get('phone')" />
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">由系統編號,不提供修改。</p>
</div>
<div>
<x-input-label for="applied_at" :value="__('Application Date')" />
<x-text-input
id="applied_at"
name="applied_at"
type="date"
class="mt-1 block w-full"
:value="old('applied_at', optional(optional($member)->applied_at)->toDateString())"
disabled
readonly
/>
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">由系統帶入,無需修改。</p>
</div>
<div class="grid gap-4 sm:grid-cols-2">
<div>
<x-input-label for="birth_date" :value="__('Birth Date')" />
<x-text-input
id="birth_date"
name="birth_date"
type="date"
class="mt-1 block w-full"
:value="old('birth_date', optional(optional($member)->birth_date)->toDateString())"
/>
<x-input-error class="mt-2" :messages="$errors->get('birth_date')" />
</div>
<div>
<x-input-label for="gender" :value="__('Gender')" />
<select
id="gender"
name="gender"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100"
>
<option value="">{{ __('Not set') }}</option>
<option value="male" @selected(old('gender', optional($member)->gender) === 'male')></option>
<option value="female" @selected(old('gender', optional($member)->gender) === 'female')></option>
<option value="other" @selected(old('gender', optional($member)->gender) === 'other')>其他</option>
</select>
<x-input-error class="mt-2" :messages="$errors->get('gender')" />
</div>
</div>
<div class="grid gap-4 sm:grid-cols-2">
<div>
<x-input-label for="identity_type" :value="__('Identity Type')" />
<select
id="identity_type"
name="identity_type"
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100"
>
<option value="">{{ __('Not set') }}</option>
<option value="patient" @selected(old('identity_type', optional($member)->identity_type) === 'patient')>病友</option>
<option value="parent" @selected(old('identity_type', optional($member)->identity_type) === 'parent')>父母</option>
<option value="social" @selected(old('identity_type', optional($member)->identity_type) === 'social')>社會人士</option>
<option value="other" @selected(old('identity_type', optional($member)->identity_type) === 'other')>其他</option>
</select>
<x-input-error class="mt-2" :messages="$errors->get('identity_type')" />
</div>
<div>
<x-input-label for="identity_other_text" :value="__('Identity Type Other')" />
<x-text-input
id="identity_other_text"
name="identity_other_text"
type="text"
class="mt-1 block w-full"
:value="old('identity_other_text', optional($member)->identity_other_text)"
placeholder="若選其他請填寫"
/>
<x-input-error class="mt-2" :messages="$errors->get('identity_other_text')" />
</div>
</div>
<div>
<x-input-label for="national_id" :value="__('National ID')" />
<x-text-input
id="national_id"
name="national_id"
type="text"
class="mt-1 block w-full"
:value="old('national_id', optional($member)->national_id)"
autocomplete="off"
/>
<x-input-error class="mt-2" :messages="$errors->get('national_id')" />
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">將加密儲存以確保安全。</p>
</div>
<div class="grid gap-4 sm:grid-cols-2">
<div>
<x-input-label for="phone" :value="__('Mobile Phone')" />
<x-text-input
id="phone"
name="phone"
type="text"
class="mt-1 block w-full"
:value="old('phone', optional($member)->phone)"
autocomplete="tel"
/>
<x-input-error class="mt-2" :messages="$errors->get('phone')" />
</div>
<div>
<x-input-label for="phone_home" :value="__('Home Phone')" />
<x-text-input
id="phone_home"
name="phone_home"
type="text"
class="mt-1 block w-full"
:value="old('phone_home', optional($member)->phone_home)"
/>
<x-input-error class="mt-2" :messages="$errors->get('phone_home')" />
</div>
</div>
<div>
<x-input-label for="phone_fax" :value="__('Fax')" />
<x-text-input
id="phone_fax"
name="phone_fax"
type="text"
class="mt-1 block w-full"
:value="old('phone_fax', optional($member)->phone_fax)"
/>
<x-input-error class="mt-2" :messages="$errors->get('phone_fax')" />
</div>
<div class="grid gap-4 sm:grid-cols-2">
<div>
<x-input-label for="occupation" :value="__('Occupation')" />
<x-text-input
id="occupation"
name="occupation"
type="text"
class="mt-1 block w-full"
:value="old('occupation', optional($member)->occupation)"
/>
<x-input-error class="mt-2" :messages="$errors->get('occupation')" />
</div>
<div>
<x-input-label for="job_title" :value="__('Job Title')" />
<x-text-input
id="job_title"
name="job_title"
type="text"
class="mt-1 block w-full"
:value="old('job_title', optional($member)->job_title)"
/>
<x-input-error class="mt-2" :messages="$errors->get('job_title')" />
</div>
</div>
<div>
<x-input-label for="employer" :value="__('Employer')" />
<x-text-input
id="employer"
name="employer"
type="text"
class="mt-1 block w-full"
:value="old('employer', optional($member)->employer)"
/>
<x-input-error class="mt-2" :messages="$errors->get('employer')" />
</div>
<div>