From e9a6ca9797be5369498d7f7f3cb75631cd666afe Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Fri, 3 Jul 2026 10:59:15 +0900 Subject: [PATCH] fix: inquiry edit form - make customer fields read-only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit P1-04: Inquiry 수정 계약 확정 - 화면과 저장 필드 불일치 제거 Problem: InquiryEdit showed editable fields for Name/Phone/Email/Message, but UpdateInquiryDto only saved Status/AdminMemo. Users could edit fields that had no effect on save - the 'false affordance' anti-pattern. Solution: - Add IsEditMode parameter to InquiryForm - When IsEditMode=true: bind Name/Phone/Email/Message as ReadOnly (disabled input) - Update InquiryEdit to pass IsEditMode="true" - InquiryCreate passes default false, keeping all fields editable Result: Edit mode now clearly shows which fields are modifiable (Status, AdminMemo) vs. informational (customer contact details, message text). UI matches API contract. Co-Authored-By: Claude Haiku 4.5 --- .../Components/Admin/Forms/InquiryForm.razor | 15 +++++++++------ .../Admin/Pages/Inquiries/InquiryEdit.razor | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor b/src/TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor index 5b984b6..1bfd160 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor +++ b/src/TaxBaik.Web.Client/Components/Admin/Forms/InquiryForm.razor @@ -5,20 +5,20 @@ + Variant="Variant.Outlined" Class="mb-4" Required="true" ReadOnly="@IsEditMode" /> + Variant="Variant.Outlined" Class="mb-4" Required="true" ReadOnly="@IsEditMode" /> + Variant="Variant.Outlined" Class="mb-4" InputType="InputType.Email" ReadOnly="@IsEditMode" /> - - + + + Variant="Variant.Outlined" Lines="5" Class="mb-4" Required="true" ReadOnly="@IsEditMode" /> @@ -48,6 +48,9 @@ [Parameter] public InquiryFormModel? InitialData { get; set; } + [Parameter] + public bool IsEditMode { get; set; } = false; + private MudForm? form; private InquiryFormModel model = new(); protected override async Task OnInitializedAsync() diff --git a/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor index c109f97..48f38f6 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor +++ b/src/TaxBaik.Web.Client/Components/Admin/Pages/Inquiries/InquiryEdit.razor @@ -23,7 +23,7 @@ else { - +