Add Line ID field to member lifecycle

This commit is contained in:
2026-02-10 15:31:29 +08:00
parent 860dbfb54e
commit f0dbea1af5
18 changed files with 124 additions and 9 deletions

View File

@@ -169,7 +169,7 @@
</p>
</div>
<div class="grid gap-6 sm:grid-cols-2">
<div class="grid gap-6 sm:grid-cols-3">
<div>
<label for="phone" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
行動電話
@@ -186,6 +186,22 @@
@enderror
</div>
<div>
<label for="line_id" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
Line ID
</label>
<input
type="text"
name="line_id"
id="line_id"
value="{{ old('line_id') }}"
class="mt-1 block w-full rounded-md border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-indigo-500 dark:focus:ring-indigo-600 sm:text-sm dark:bg-gray-900 dark:text-gray-300"
>
@error('line_id')
<p class="mt-2 text-sm text-red-600 dark:text-red-400">{{ $message }}</p>
@enderror
</div>
<div>
<label for="phone_home" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
室內電話

View File

@@ -167,7 +167,7 @@
</p>
</div>
<div class="grid gap-6 sm:grid-cols-2">
<div class="grid gap-6 sm:grid-cols-3">
<div>
<label for="phone" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
行動電話
@@ -184,6 +184,22 @@
@enderror
</div>
<div>
<label for="line_id" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
Line ID
</label>
<input
type="text"
name="line_id"
id="line_id"
value="{{ old('line_id', $member->line_id) }}"
class="mt-1 block w-full rounded-md border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-indigo-500 dark:focus:ring-indigo-600 sm:text-sm dark:bg-gray-900 dark:text-gray-300"
>
@error('line_id')
<p class="mt-2 text-sm text-red-600 dark:text-red-400">{{ $message }}</p>
@enderror
</div>
<div>
<label for="phone_home" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
室內電話

View File

@@ -17,6 +17,7 @@
<li><code class="text-gray-800 dark:text-gray-200">member_number</code> (optional)</li>
<li><code class="text-gray-800 dark:text-gray-200">email</code></li>
<li><code class="text-gray-800 dark:text-gray-200">phone</code></li>
<li><code class="text-gray-800 dark:text-gray-200">line_id</code> (optional)</li>
<li><code class="text-gray-800 dark:text-gray-200">phone_home</code> (optional)</li>
<li><code class="text-gray-800 dark:text-gray-200">phone_fax</code> (optional)</li>
<li><code class="text-gray-800 dark:text-gray-200">birth_date</code> (YYYY-MM-DD, optional)</li>

View File

@@ -12,7 +12,7 @@
<form method="GET" action="{{ route('admin.members.index') }}" class="mb-4 space-y-4" role="search" aria-label="搜尋和篩選會員">
<div>
<label for="search" class="block text-sm font-medium text-gray-700 dark:text-gray-300">
依姓名、電子郵件、電話或身分證號搜尋
依姓名、電子郵件、電話、Line ID 或身分證號搜尋
</label>
<input
type="text"
@@ -23,7 +23,7 @@
placeholder="輸入搜尋關鍵字..."
>
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">
在姓名、電子郵件、電話號碼和身分證號中搜尋
在姓名、電子郵件、電話號碼、Line ID 和身分證號中搜尋
</p>
</div>
@@ -297,4 +297,4 @@
});
});
</script>
</x-app-layout>
</x-app-layout>

View File

@@ -103,6 +103,15 @@
</dd>
</div>
<div class="overflow-hidden rounded-lg bg-gray-50 dark:bg-gray-700 px-4 py-5 sm:p-6">
<dt class="truncate text-sm font-medium text-gray-500 dark:text-gray-400">
Line ID
</dt>
<dd class="mt-1 text-sm text-gray-900 dark:text-gray-100">
{{ $member->line_id ?? __('Not set') }}
</dd>
</div>
<div class="overflow-hidden rounded-lg bg-gray-50 dark:bg-gray-700 px-4 py-5 sm:p-6">
<dt class="truncate text-sm font-medium text-gray-500 dark:text-gray-400">
室內電話/傳真

View File

@@ -34,6 +34,13 @@
<x-input-error :messages="$errors->get('phone')" class="mt-2" />
</div>
<!-- Line ID -->
<div class="mt-4">
<x-input-label for="line_id" :value="__('Line ID')" />
<x-text-input id="line_id" class="block mt-1 w-full" type="text" name="line_id" :value="old('line_id')" maxlength="100" />
<x-input-error :messages="$errors->get('line_id')" class="mt-2" />
</div>
<!-- National ID (Optional) -->
<div class="mt-4">
<x-input-label for="national_id" :value="__('National ID (Optional)')" />

View File

@@ -92,6 +92,15 @@
</dd>
</div>
<div class="overflow-hidden rounded-lg bg-gray-50 dark:bg-gray-700 px-4 py-5 sm:p-6">
<dt class="truncate text-sm font-medium text-gray-500 dark:text-gray-400">
{{ __('Line ID') }}
</dt>
<dd class="mt-1 text-xl font-semibold text-gray-900 dark:text-gray-100">
{{ $member->line_id ?: __('Not set') }}
</dd>
</div>
<div class="overflow-hidden rounded-lg bg-gray-50 dark:bg-gray-700 px-4 py-5 sm:p-6">
<dt class="truncate text-sm font-medium text-gray-500 dark:text-gray-400">
{{ __('Membership Type') }}

View File

@@ -50,6 +50,13 @@
<x-input-error :messages="$errors->get('phone')" class="mt-2" />
</div>
<!-- Line ID -->
<div class="mt-4">
<x-input-label for="line_id" :value="__('Line ID')" />
<x-text-input id="line_id" class="block mt-1 w-full" type="text" name="line_id" :value="old('line_id')" maxlength="100" />
<x-input-error :messages="$errors->get('line_id')" class="mt-2" />
</div>
<!-- National ID (Optional) -->
<div class="mt-4">
<x-input-label for="national_id" :value="__('National ID (Optional)')" />