diff --git a/apps/web/src/app/propose/actions.ts b/apps/web/src/app/propose/actions.ts index 8d2b0fb..cbfded4 100644 --- a/apps/web/src/app/propose/actions.ts +++ b/apps/web/src/app/propose/actions.ts @@ -80,12 +80,17 @@ export async function createDemandProposal(formData: FormData) { const source = getString(formData, "source") || "vibework-propose"; const campaign = getString(formData, "campaign") || "direct"; const paymentMethod = getString(formData, "paymentMethod") || "stripe"; + const quickMode = getString(formData, "quickMode") === "paid_scout"; const proposerName = getString(formData, "proposerName"); const proposerEmail = getString(formData, "proposerEmail"); const company = getString(formData, "company"); - const title = getString(formData, "title"); - const description = getString(formData, "description"); + const title = getString(formData, "title") || (quickMode ? "Paid scout intake request" : ""); + const description = + getString(formData, "description") || + (quickMode + ? "Email-only paid scout intake. Scope details are pending follow-up after USDC payment instructions are issued." + : ""); const desiredOutcome = getString(formData, "desiredOutcome"); const urgency = getString(formData, "urgency") || "normal"; const requiredStack = parseStack(getString(formData, "requiredStack")); @@ -180,6 +185,7 @@ export async function createDemandProposal(formData: FormData) { campaign, referral_agent: referralAgent || null, payment_method: paymentMethod, + quick_mode: quickMode, }, }, }); @@ -201,6 +207,7 @@ export async function createDemandProposal(formData: FormData) { campaign, referral_agent: referralAgent, payment_method: paymentMethod, + quick_mode: quickMode, response_status: 200, response_summary: "demand_proposal_intake_created", }, @@ -223,6 +230,7 @@ export async function createDemandProposal(formData: FormData) { treasury_usdc_network: TREASURY_USDC_NETWORK, treasury_usdc_chain_id: TREASURY_USDC_CHAIN_ID, treasury_usdc_token_address: TREASURY_USDC_TOKEN_ADDRESS, + quick_mode: quickMode, }, }, }); @@ -242,6 +250,7 @@ export async function createDemandProposal(formData: FormData) { referral_agent: referralAgent, treasury_usdc_network: TREASURY_USDC_NETWORK, treasury_usdc_chain_id: TREASURY_USDC_CHAIN_ID, + quick_mode: quickMode, response_status: 200, response_summary: "wallet_payment_instructions_issued", }, diff --git a/apps/web/src/app/propose/page.tsx b/apps/web/src/app/propose/page.tsx index 44f9398..51890b2 100644 --- a/apps/web/src/app/propose/page.tsx +++ b/apps/web/src/app/propose/page.tsx @@ -55,6 +55,7 @@ export default async function ProposePage({ searchParams }: { searchParams?: Sea const campaign = getParam(params, "campaign") || "vibework-propose"; const source = getParam(params, "source") || (referralAgent ? "external-agent" : "direct"); const packageId = getProposalPackage(getParam(params, "package")).id; + const quickPackage = getProposalPackage("scout"); const cancelled = getParam(params, "cancelled") === "true"; const budgetPrefillValue = getFirstParam(params, ["budget_usd", "budget"]); const urgencyPrefillValue = getParam(params, "urgency"); @@ -168,6 +169,47 @@ export default async function ProposePage({ searchParams }: { searchParams?: Sea ) : null} +
+ + + + + + + + + + +
+
+

快速取得 {quickPackage.label} USDC 付款指示

+ +
+ +
+
+