PageSourceSearch

https://harbor-os.com/assets/ConsignmentPage-Bzdxi9pJ.js

js harbor-os.com collected 2026-10-02 01:31:54 UTC 11,153 bytes, 1 lines download raw bytes

1import{r as C,bd as S,i as k,j as e,J as F,L as d,be as m,b as h,bf as P,bg as I,aM as u,bh as M,bi as R}from"./vendor-B3bqREfz.js";import{u as q,B as c,C as j,a as g,b as p,c as b,d as v,I as o,e as A,i as L,f as B}from"./index-BHZdkTHk.js";import{F as E,a as t,b as a,c as n,d as l,e as i}from"./form-DBa9yRmT.js";import{C as T}from"./checkbox-CT0eb10X.js";import{T as H}from"./textarea-BFtGXtJd.js";import"./label-USjEtjxC.js";function U(){const{toast:f}=q(),[N,y]=C.useState(!1),r=S({resolver:R(L),defaultValues:{vesselName:"",vesselYear:void 0,vesselMake:"",vesselModel:"",vesselLength:"",hullMaterial:"",askingPrice:"",ownerName:"",ownerEmail:"",ownerPhone:"",location:"",description:"",termsAccepted:!1}}),x=k({mutationFn:async s=>(await B("POST","/api/consignment",s)).json(),onSuccess:()=>{y(!0),f({title:"Success",description:"Your consignment request has been submitted successfully."})},onError:s=>{f({title:"Error",description:s.message||"Failed to submit request.",variant:"destructive"})}});return N?e.jsx("div",{className:"container mx-auto py-20 px-4 text-center",children:e.jsxs("div",{className:"max-w-2xl mx-auto",children:[e.jsx(F,{className:"w-20 h-20 text-green-500 mx-auto mb-6"}),e.jsx("h1",{className:"text-4xl font-bold mb-4",children:"Request Received!"}),e.jsx("p",{className:"text-xl text-muted-foreground mb-8",children:"Thank you for choosing Harbor Shoppers. Our team will review your vessel details and contact you shortly to begin the listing process. When we get started, you'll be asked to create an account and sign our consignment agreement."}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsx(d,{href:"/sell/consign",children:e.jsxs(c,{className:"w-full sm:w-auto","data-testid":"button-start-selfservice",children:[e.jsx(m,{className:"w-4 h-4 mr-2"})," Or start a self-service consignment now"]})}),e.jsx(c,{variant:"outline",onClick:()=>window.location.href="/","data-testid":"button-home",children:"Return to Home"})]})]})}):e.jsxs("div",{className:"min-h-screen bg-slate-50",children:[e.jsx("section",{className:"bg-primary text-white py-20",children:e.jsxs("div",{className:"container mx-auto px-4 text-center",children:[e.jsx("h1",{className:"text-4xl md:text-6xl font-bold mb-6",children:"Sell on Consignment with Harbor Shoppers"}),e.jsx("p",{className:"text-xl opacity-90 max-w-2xl mx-auto mb-8",children:"List your boat, gear, or marine parts and let us handle the marketing, inquiries, and a smooth transaction. Sign once, then track everything online."}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsx(d,{href:"/sell/consign",children:e.jsxs(c,{size:"lg",variant:"secondary",className:"w-full sm:w-auto text-base h-12 px-6","data-testid":"button-hero-start",children:[e.jsx(m,{className:"w-5 h-5 mr-2"})," Start your consignment"]})}),e.jsx("a",{href:"#vessel-form",children:e.jsxs(c,{size:"lg",variant:"outline",className:"w-full sm:w-auto text-base h-12 px-6 bg-transparent text-white border-white/60 hover:bg-white/10 hover:text-white","data-testid":"button-hero-vessel",children:[e.jsx(h,{className:"w-5 h-5 mr-2"})," Selling a boat? Request white-glove help"]})})]})]})}),e.jsxs("section",{className:"py-16 container mx-auto px-4",children:[e.jsx("h2",{className:"text-3xl font-bold text-center mb-12",children:"How It Works"}),e.jsxs("div",{className:"grid md:grid-cols-4 gap-6",children:[e.jsxs("div",{className:"text-center p-6 bg-white rounded-xl shadow-sm",children:[e.jsx("div",{className:"w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mx-auto mb-4 text-primary",children:e.jsx(P,{className:"w-8 h-8"})}),e.jsx("h3",{className:"text-lg font-bold mb-2",children:"1. Sign the agreement"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Create an account and accept the consignment agreement — it's recorded for your records."})]}),e.jsxs("div",{className:"text-center p-6 bg-white rounded-xl shadow-sm",children:[e.jsx("div",{className:"w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mx-auto mb-4 text-primary",children:e.jsx(I,{className:"w-8 h-8"})}),e.jsx("h3",{className:"text-lg font-bold mb-2",children:"2. Add photos & details"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Snap a few photos and our AI drafts your listing for you to review."})]}),e.jsxs("div",{className:"text-center p-6 bg-white rounded-xl shadow-sm",children:[e.jsx("div",{className:"w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mx-auto mb-4 text-primary",children:e.jsx(u,{className:"w-8 h-8"})}),e.jsx("h3",{className:"text-lg font-bold mb-2",children:"3. We list & market it"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Our team reviews, publishes, and promotes your listing across our platforms."})]}),e.jsxs("div",{className:"text-center p-6 bg-white rounded-xl shadow-sm",children:[e.jsx("div",{className:"w-16 h-16 bg-primary/10 rounded-full flex items-center justify-center mx-auto mb-4 text-primary",children:e.jsx(M,{className:"w-8 h-8"})}),e.jsx("h3",{className:"text-lg font-bold mb-2",children:"4. You get paid"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Track status and earnings in My Consignments. We pay you once the sale completes."})]})]})]}),e.jsxs("section",{className:"pb-4 container mx-auto px-4",children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-6 max-w-4xl mx-auto",children:[e.jsxs(j,{className:"border-primary/30",children:[e.jsxs(g,{children:[e.jsx("div",{className:"w-12 h-12 bg-primary/10 rounded-full flex items-center justify-center mb-2 text-primary",children:e.jsx(m,{className:"w-6 h-6"})}),e.jsx(p,{children:"Self-service (any item)"}),e.jsx(b,{children:"Boats, gear, electronics, or parts. Sign, upload photos, and submit in minutes — AI drafts the listing for you."})]}),e.jsx(v,{children:e.jsx(d,{href:"/sell/consign",children:e.jsxs(c,{className:"w-full","data-testid":"button-card-selfservice",children:["Start now ",e.jsx(u,{className:"w-4 h-4 ml-2"})]})})})]}),e.jsxs(j,{children:[e.jsxs(g,{children:[e.jsx("div",{className:"w-12 h-12 bg-primary/10 rounded-full flex items-center justify-center mb-2 text-primary",children:e.jsx(h,{className:"w-6 h-6"})}),e.jsx(p,{children:"Boats & large vessels (white-glove)"}),e.jsx(b,{children:"Prefer we handle a full vessel sale for you? Send us the details and our team will reach out to get started."})]}),e.jsx(v,{children:e.jsx("a",{href:"#vessel-form",children:e.jsxs(c,{variant:"outline",className:"w-full","data-testid":"button-card-vessel",children:["Request a callback ",e.jsx(u,{className:"w-4 h-4 ml-2"})]})})})]})]}),e.jsx("div",{className:"mt-12 text-center bg-blue-50 p-6 rounded-lg border border-blue-100 max-w-4xl mx-auto",children:e.jsx("p",{className:"text-lg font-medium text-blue-900",children:"Professional service. Competitive commission rates. Global reach."})})]}),e.jsx("section",{id:"vessel-form",className:"py-16 bg-white scroll-mt-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs(j,{children:[e.jsxs(g,{children:[e.jsxs(p,{className:"flex items-center gap-2",children:[e.jsx(h,{className:"w-5 h-5 text-primary"})," Boat & Vessel Consignment Request"]}),e.jsxs(b,{children:["For boats and large vessels that need white-glove handling. Fill out the details and we'll get back to you within 24–48 hours. (Selling smaller items? ",e.jsx(d,{href:"/sell/consign",className:"text-primary underline",children:"Use self-service instead"}),".)"]})]}),e.jsx(v,{children:e.jsx(E,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(s=>x.mutate(s)),className:"space-y-8",children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"font-bold border-b pb-2",children:"Vessel Details"}),e.jsx(t,{control:r.control,name:"vesselName",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Vessel Name"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(t,{control:r.control,name:"vesselYear",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Year"}),e.jsx(l,{children:e.jsx(o,{type:"number",...s,value:s.value??"",onChange:w=>s.onChange(parseInt(w.target.value))})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"vesselLength",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Length (ft)"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})})]}),e.jsx(t,{control:r.control,name:"vesselMake",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Make"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"vesselModel",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Model"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"hullMaterial",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Hull Material"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"askingPrice",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Asking Price (USD)"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("h3",{className:"font-bold border-b pb-2",children:"Owner Information"}),e.jsx(t,{control:r.control,name:"ownerName",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Full Name"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"ownerEmail",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Email Address"}),e.jsx(l,{children:e.jsx(o,{type:"email",...s})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"ownerPhone",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Phone Number"}),e.jsx(l,{children:e.jsx(A,{value:s.value||"",onChange:s.onChange,placeholder:"Phone number"})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"location",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Current Location of Vessel"}),e.jsx(l,{children:e.jsx(o,{...s,value:s.value??""})}),e.jsx(i,{})]})}),e.jsx(t,{control:r.control,name:"description",render:({field:s})=>e.jsxs(a,{children:[e.jsx(n,{children:"Brief Description / Condition"}),e.jsx(l,{children:e.jsx(H,{...s,value:s.value??"",className:"h-24"})}),e.jsx(i,{})]})})]})]}),e.jsx(t,{control:r.control,name:"termsAccepted",render:({field:s})=>e.jsxs(a,{className:"flex flex-row items-start space-x-3 space-y-0 rounded-md border p-4",children:[e.jsx(l,{children:e.jsx(T,{checked:s.value??!1,onCheckedChange:s.onChange})}),e.jsx("div",{className:"space-y-1 leading-none",children:e.jsx(n,{children:"I agree to the consignment terms and conditions. I represent that I am the legal owner or authorized representative of the vessel."})})]})}),e.jsx(c,{type:"submit",className:"w-full h-12 text-lg",disabled:x.isPending,children:x.isPending?"Submitting...":"Submit Consignment Request"})]})})})]})})})]})}export{U as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.