From c83aa690d0f0aa492d095eb49de5f668ba42c587 Mon Sep 17 00:00:00 2001 From: sazzadulalambd Date: Tue, 5 May 2026 01:47:27 +0600 Subject: [PATCH] feat: add merchant entity type with dedicated company information and rider request steps to KYC form --- src/app/admin/kyc/page.tsx | 231 ++++++++++++++++++++++++++++++------- 1 file changed, 191 insertions(+), 40 deletions(-) diff --git a/src/app/admin/kyc/page.tsx b/src/app/admin/kyc/page.tsx index c55e878..42ad76b 100644 --- a/src/app/admin/kyc/page.tsx +++ b/src/app/admin/kyc/page.tsx @@ -1136,6 +1136,7 @@ function NewApplicationModal({ isOpen, onClose, onSave }: { isOpen: boolean; onC scheduleDate: string; investmentPlan: { planName: string; planType: string; bikes: number; amount: number; monthlyReturn: number; expectedROI: number }; swapStationPlan: { planType: string; cabinets: number; amount: number; batteries: number; monthlyRent: number }; + merchantPlan: { companyCategory: string; bikersRequested: number; amount: number; monthlyBudget: number; requiredArea: string }; requiredDocuments: Document[]; }>({ applicationSource: 'walkin', @@ -1168,6 +1169,7 @@ function NewApplicationModal({ isOpen, onClose, onSave }: { isOpen: boolean; onC scheduleDate: '', investmentPlan: { planName: '', planType: '', bikes: 1, amount: 0, monthlyReturn: 0, expectedROI: 0 }, swapStationPlan: { planType: '', cabinets: 8, amount: 0, batteries: 0, monthlyRent: 0 }, + merchantPlan: { companyCategory: '', bikersRequested: 0, amount: 0, monthlyBudget: 0, requiredArea: '' }, requiredDocuments: [], }); @@ -1940,49 +1942,118 @@ function NewApplicationModal({ isOpen, onClose, onSave }: { isOpen: boolean; onC - ) : ( -
-

- Business Information -

-
-
- - updateField('employmentInfo.company', e.target.value)} - className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" - placeholder="Your business name" - /> -
-
- - updateField('employmentInfo.monthlyEarning', Number(e.target.value))} - className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" - placeholder="0" - /> -
-
- - updateField('employmentInfo.whyEV', e.target.value)} - className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" - placeholder="e.g., retail, wholesale, e-commerce" - /> -
-
-
- )} + ) : null} )} - {(step === 3 && (formData.type === 'biker' || formData.type === 'investor' || formData.type === 'swapstation')) && ( + {(step === 2 && formData.type === 'merchant') && ( +
+
+

+ Company Information (Merchant) +

+
+
+ + updateField('employmentInfo.company', e.target.value)} + className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" + placeholder="e.g., Foodpanda, Uber, Pathao" + /> +
+
+ + updateField('phone', e.target.value)} + className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" + placeholder="01XXXXXXXXX" + /> +
+
+ + updateField('email', e.target.value)} + className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" + placeholder="company@email.com" + /> +
+
+ + updateField('nid', e.target.value)} + className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" + placeholder="Trade license number" + /> +
+
+ + updateField('passport', e.target.value)} + className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" + placeholder="TIN number" + /> +
+
+ + updateField('employmentInfo.monthlyEarning', Number(e.target.value))} + className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" + placeholder="0" + /> +
+
+ + updateField('presentAddress.line1', e.target.value)} + className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm" + placeholder="Company headquarters address" + /> +
+
+ + +
+
+ +