1import{j as e,bi as L,bj as g,bk as D,a9 as w,W as d,ao as _,ap as k,aq as C,ar as S,as as n,bl as $,bm as W,bn as X,bo as z,bp as U,bq as J,br as f,k as K,b4 as Y,bh as V,af as F,av as O,P as B,a5 as Z,u as q,O as ee,r as u,bs as se,A as ae,t as M,bt as te,v as h,ag as I}from"./index.BZs0H5f9.js";import{Q as re}from"./QuoteCard.DSjAGqtt.js";import{T as ie}from"./trending-up.B75DxNRP.js";function le({sortBy:s,onSortChange:x,filters:r,onFilterChange:c,onClearFilters:y,quotesCount:N}){const p=r.codOnly||r.returnsOnly||r.minReliability;return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(L,{className:"h-5 w-5 text-gray-600"}),e.jsx("h3",{className:"font-semibold",children:"Filter & Sort"}),N>0&&e.jsxs(g,{variant:"outline",children:[N," quotes"]})]}),p&&e.jsxs(D,{variant:"ghost",size:"sm",onClick:y,className:"text-red-600 hover:text-red-700",children:[e.jsx(w,{className:"h-4 w-4 mr-1"}),"Clear Filters"]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Sort By"}),e.jsxs(_,{value:s,onValueChange:x,children:[e.jsx(k,{children:e.jsx(C,{placeholder:"Sort by..."})}),e.jsxs(S,{children:[e.jsx(n,{value:"cheapest",children:"ð° Cheapest First"}),e.jsx(n,{value:"fastest",children:"â¡ Fastest First"}),e.jsx(n,{value:"recommended",children:"â Recommended"}),e.jsx(n,{value:"reliable",children:"ð Most Reliable"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"COD Support"}),e.jsxs(_,{value:r.codOnly?"yes":"all",onValueChange:o=>c("codOnly",o==="yes"),children:[e.jsx(k,{children:e.jsx(C,{})}),e.jsxs(S,{children:[e.jsx(n,{value:"all",children:"All Quotes"}),e.jsx(n,{value:"yes",children:"COD Only"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Returns Support"}),e.jsxs(_,{value:r.returnsOnly?"yes":"all",onValueChange:o=>c("returnsOnly",o==="yes"),children:[e.jsx(k,{children:e.jsx(C,{})}),e.jsxs(S,{children:[e.jsx(n,{value:"all",children:"All Quotes"}),e.jsx(n,{value:"yes",children:"Returns Only"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{children:"Minimum Reliability"}),e.jsxs(_,{value:r.minReliability?.toString()||"0",onValueChange:o=>c("minReliability",parseInt(o)),children:[e.jsx(k,{children:e.jsx(C,{})}),e.jsxs(S,{children:[e.jsx(n,{value:"0",children:"Any"}),e.jsx(n,{value:"90",children:"90%+ (Excellent)"}),e.jsx(n,{value:"75",children:"75%+ (Good)"}),e.jsx(n,{value:"60",children:"60%+ (Fair)"})]})]})]})]}),p&&e.jsxs("div",{className:"flex flex-wrap gap-2 pt-2",children:[r.codOnly&&e.jsxs(g,{variant:"secondary",className:"flex items-center gap-1",children:["COD Only",e.jsx("button",{onClick:()=>c("codOnly",!1),className:"ml-1 hover:text-red-600",children:e.jsx(w,{className:"h-3 w-3"})})]}),r.returnsOnly&&e.jsxs(g,{variant:"secondary",className:"flex items-center gap-1",children:["Returns Only",e.jsx("button",{onClick:()=>c("returnsOnly",!1),className:"ml-1 hover:text-red-600",children:e.jsx(w,{className:"h-3 w-3"})})]}),r.minReliability>0&&e.jsxs(g,{variant:"secondary",className:"flex items-center gap-1",children:["Min Reliability: ",r.minReliability,"%",e.jsx("button",{onClick:()=>c("minReliability",0),className:"ml-1 hover:text-red-600",children:e.jsx(w,{className:"h-3 w-3"})})]})]})]})}function ne({quote:s,open:x,onClose:r,onSelect:c}
1){if(!s)return null;const y=$(new Date,(s.transit_days_min+s.transit_days_max)/2);return e.jsx(W,{open:x,onOpenChange:r,children:e.jsxs(X,{className:"w-full sm:max-w-lg overflow-y-auto",children:[e.jsxs(z,{children:[e.jsxs(U,{className:"flex items-center justify-between",children:[e.jsx("span",{children:"Quote Details"}),s.is_recommended&&e.jsx(g,{className:"bg-blue-600 text-white",children:"â Recommended"})]}),e.jsxs(J,{children:["Complete details for ",s.courier_name," shipping quote"]})]}),e.jsxs("div",{className:"mt-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-gray-500 mb-2",children:"Courier Service"}),e.jsxs("div",{className:"flex items-center justify-between p-4 bg-gray-50 rounded-lg",children:[e.jsxs("div",{children:[e.jsx("div",{className:"font-semibold text-lg",children:s.courier_name}),e.jsx("div",{className:"text-sm text-gray-600",children:s.service_name})]}),s.courier_logo&&e.jsx("img",{src:s.courier_logo,alt:s.courier_name,className:"h-10"})]})]}),e.jsx(f,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-gray-500 mb-3",children:"Pricing"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-gray-600",children:"Base Cost"}),e.jsxs("span",{className:"text-2xl font-bold",children:["â¹",parseFloat(s.estimated_cost).toFixed(2)]})]}),s.cod_charges&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-gray-600",children:"COD Charges"}),e.jsxs("span",{children:["â¹",parseFloat(s.cod_charges).toFixed(2)]})]}),s.fuel_surcharge&&e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-gray-600",children:"Fuel Surcharge"}),e.jsxs("span",{children:["â¹",parseFloat(s.fuel_surcharge).toFixed(2)]})]})]})]}),e.jsx(f,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-gray-500 mb-3",children:"Delivery Information"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between p-3 bg-blue-50 rounded-lg",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(K,{className:"h-4 w-4 text-blue-600"}),e.jsx("span",{className:"text-sm font-medium",children:"Transit Time"})]}),e.jsx("span",{className:"font-semibold",children:s.transit_days_min===s.transit_days_max?`${s.transit_days_min} days`:`${s.transit_days_min}-${s.transit_days_max} days`})]}),e.jsxs("div",{className:"flex items-center justify-between p-3 bg-green-50 rounded-lg",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Y,{className:"h-4 w-4 text-green-600"}),e.jsx("span",{className:"text-sm font-medium",children:"Expected Delivery"})]}),e.jsx("span",{className:"font-semibold",children:V(y,"MMM dd, yyyy")})]})]})]}),e.jsx(f,{}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-gray-500 mb-3",children:"Service Features"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"flex items-center space-x-2 p-3 border rounded-lg",children:[s.supports_cod?e.jsx(F,{className:"h-5 w-5 text-green-600"}):e.jsx(O,{className:"h-5 w-5 text-gray-300"}),e.jsx("span",{className:"text-sm",children:"COD Available"})]}),e.jsxs("div",{className:"flex items-center space-x-2 p-3 border rounded-lg",children:[s.supports_return?e.jsx(F,{className:"h-5 w-5 text-green-600"}):e.jsx(O,{className:"h-5 w-5 text-gray-300"}),e.jsx("span",{className:"text-sm",children:"Returns"})]}),e.jsxs("div",{className:"flex items-center space-x-2 p-3 border rounded-lg",children:[s.tracking_available?e.jsx(F,{className:"h-5 w-5 text-green-600"}):e.jsx(O,{className:"h-5 w-5 text-gray-300"}),e.jsx("span",{className:"text-sm",children:"Tracking"})]}),e.jsxs("div",{className:"flex items-center space-x-2 p-3 border rounded-lg",children:[s.insurance_available?e.jsx(F,{className:"h-5 w-5 text-green-600"}):e.jsx(O,{className:"h-5 w-5 text-gray-300"}),e.jsx("span",{className:"text-sm",children:"Insurance"})]})]})]}),e.jsx(f,{}),(s.reliability_score||s.rto_risk_score)&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-gray-500 mb-3",children:"Performance Metrics"}),e.jsxs("div",{className:"space-y-3",children:[s.reliability_score&&e.jsxs("div",{className:"flex items-center justify-between p-3 bg-gray-50 rounded-lg",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(ie,{className:"h-4 w-4 text-gray-600"}),e.jsx("span",{className:"text-sm",children:"Reliability Score"})]}),e.jsxs(g,{className:s.reliability_score>=90?"bg-green-100 text-green-800":s.reliability_score>=75?"bg-blue-100 text-blue-800":"bg-yellow-100 text-yellow-800",children:[s.reliability_score,"%"]})]}),s.rto_risk_score&&e.jsxs("div",{className:"flex items-center justify-between p-3 bg-gray-50 rounded-lg",children:[e.jsx("span",{className:"text-sm",children:"RTO Risk"}),e.jsxs(g,{className:s.rto_risk_score<30?"bg-green-100 text-green-800":s.rto_risk_score<60?"bg-yellow-100 text-yellow-800":"bg-red-100 text-red-800",children:[s.rto_risk_score,"%"]})]})]})]}),e.jsx(f,{})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-gray-500 mb-3",children:"Quote Information"}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600",children:"Quote ID"}),e.jsx("span",{className:"font-mono text-xs",children:s.quote_id})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600",children:"Created At"}),e.jsx("span",{children:V(new Date(s.quote_timestamp),"MMM dd, yyyy HH:mm")}
1)]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-gray-600",children:"Expires At"}),e.jsx("span",{className:s.is_expired?"text-red-600":"",children:s.is_expired?"Expired":"Valid"})]})]})]}),e.jsxs("div",{className:"flex gap-3 pt-4",children:[e.jsxs(D,{className:"flex-1",onClick:()=>c(s),children:[e.jsx(B,{className:"h-4 w-4 mr-2"}),"Select This Quote"]}),e.jsxs(D,{variant:"outline",children:[e.jsx(Z,{className:"h-4 w-4 mr-2"}),"View Raw Data"]})]})]})]})})}function me(){const s=q(),{toast:x}=ee(),[r,c]=u.useState(!0),[y,N]=u.useState(null),[p,o]=u.useState(null),[R,E]=u.useState("recommended"),[b,P]=u.useState({codOnly:!1,returnsOnly:!1,minReliability:0}),[t,m]=u.useState({originPincode:"",destinationPincode:"",weight:"",length:"",width:"",height:"",orderValue:"",isCod:!1}),j=se(),G=async()=>{if(console.log("Form Data:",t),!t.originPincode||!t.destinationPincode||!t.weight){x({title:"Incomplete Information",description:"Please fill in origin, destination, and weight",variant:"destructive"});return}try{const a=await j.mutateAsync({origin_pincode:t.originPincode,destination_pincode:t.destinationPincode,weight_kg:parseFloat(t.weight),dimensions_cm:{length:parseFloat(t.length)||10,width:parseFloat(t.width)||10,height:parseFloat(t.height)||10},order_value:parseFloat(t.orderValue)||0,is_cod:t.isCod});console.log("Quotes fetched:",a),a.quotes&&a.quotes.length>0?(c(!1),x({title:"Success!",description:`Found ${a.quotes.length} shipping quotes`})):x({title:"No Quotes Found",description:"No couriers available for this route",variant:"destructive"})}catch(a){x({title:"Error",description:a.message||"Failed to fetch quotes",variant:"destructive"})}},H=(a,l)=>{P(i=>({...i,[a]:l}))},A=()=>{P({codOnly:!1,returnsOnly:!1,minReliability:0})},T=a=>{N(a),s("/nucleus/shipments/create",{state:{selectedQuote:a}})},Q=(a=>{if(!a)return[];let l=[...a];switch(b.codOnly&&(l=l.filter(i=>i.supports_cod)),b.returnsOnly&&(l=l.filter(i=>i.supports_return)),b.minReliability>0&&(l=l.filter(i=>(i.reliability_score||0)>=b.minReliability)),R){case"cheapest":l.sort((i,v)=>parseFloat(i.estimated_cost)-parseFloat(v.estimated_cost));break;case"fastest":l.sort((i,v)=>i.transit_days_min-v.transit_days_min);break;case"reliable":l.sort((i,v)=>(v.reliability_score||0)-(i.reliability_score||0));break}return l})(j.data?.quotes);return e.jsx("div",{className:"min-h-screen bg-[#f6f6f7] dark:bg-gray-950 p-3 sm:p-6",children:e.jsxs("div",{className:"max-w-[1400px] mx-auto space-y-5",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-end sm:justify-between gap-3 sm:gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("button",{onClick:()=>s("/nucleus"),className:"h-8 w-8 rounded-md flex items-center justify-center text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors flex-shrink-0",children:e.jsx(ae,{className:"h-4 w-4"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"font-heading text-2xl sm:text-3xl tracking-tight text-gray-900 dark:text-gray-100",children:"Shipping Quotes"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-0.5 hidden sm:block",children:"Compare rates from multiple couriers"})]})]}),!r&&e.jsxs("button",{onClick:()=>c(!0),className:"h-8 rounded-md text-xs font-medium border border-gray-200 dark:border-gray-700 text-gray-600 dark:text-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors inline-flex items-center justify-center gap-1.5 px-3",children:[e.jsx(M,{className:"h-3.5 w-3.5"}),"New Search"]})]}),r&&e.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg border border-gray-200/80 dark:border-gray-800",children:[e.jsx("div",{className:"px-4 sm:px-5 py-4 border-b border-gray-100 dark:border-gray-800",children:e.jsxs("p",{className:"text-[11px] font-semibold text-gray-400 uppercase tracking-wider flex items-center gap-1.5",children:[e.jsx(te,{className:"h-3 w-3"}),"Shipment Details"]})}),e.jsx("div",{className:"px-4 sm:px-5 py-4",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsx(d,{children:"Origin Pincode *"}),e.jsx(h,{placeholder:"110001",value:t.originPincode,onChange:a=>m({...t,originPincode:a.target.value})})]}),e.jsxs("div",{children:[e.jsx(d,{children:"Destination Pincode *"}),e.jsx(h,{placeholder:"400001",value:t.destinationPincode,onChange:a=>m({...t,destinationPincode:a.target.value})})]}),e.jsxs("div",{children:[e.jsx(d,{children:"Weight (kg) *"}),e.jsx(h,{type:"number",step:"0.01",placeholder:"0.5",value:t.weight,onChange:a=>m({...t,weight:a.target.value})})]}),e.jsxs("div",{children:[e.jsx(d,{children:"Length (cm)"}),e.jsx(h,{type:"number",placeholder:"10",value:t.length,onChange:a=>m({...t,length:a.target.value})})]}),e.jsxs("div",{children:[e.jsx(d,{children:"Width (cm)"}),e.jsx(h,{type:"number",placeholder:"10",value:t.width,onChange:a=>m({...t,width:a.target.value})})]}),e.jsxs("div",{children:[e.jsx(d,{children:"Height (cm)"}),e.jsx(h,{type:"number",placeholder:"10",value:t.height,onChange:a=>m({...t,height:a.target.value})})]}),e.jsxs("div",{children:[e.jsx(d,{children:"Order Value (â¹)"}),e.jsx(h,{type:"number",step:"0.01",placeholder:"1000.00",value:t.orderValue,onChange:a=>m({...t,orderValue:a.target.value})})]}),e.jsx("div",{className:"flex items-end",children:e.jsxs("label",{className:"flex items-center gap-2.5 h-9 px-3 rounded-md border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50 cursor-pointer select-none w-full",children:[e.jsx("input",{type:"checkbox",checked:t.isCod,onChange:a=>m({...t,isCod:a.target.checked}),className:"rounded border-gray-300 dark:border-gray-600 text-gray-900 dark:text-gray-100 focus:ring-gray-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"Cash on Delivery"})]})}),e.jsx("div",{className:"flex items-end",children:e.jsx("button",{onClick:G,disabled:j.isPending,className:"h-9 rounded-md text-sm font-medium bg-gray-900 hover:bg-gray-800 text-white dark:bg-gray-100 dark:text-gray-900 dark:hover:bg-gray-200 transition-colors inline-flex items-center justify-center gap-2 px-4 w-full disabled:opacity-50",children:j.isPending?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"h-4 w-4 animate-spin"}),"Fetching Quotes..."]}):e.jsxs(e.Fragment,{children:[e.jsx(M,{className:"h-4 w-4"}),"Get Quotes"]})})})]})})]}),j.isPending&&e.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[e.jsx(I,{className:"h-6 w-6 animate-spin text-gray-400 mb-3"}),e.jsx("p",{className:"text-sm text-gray-500",children:"Fetching quotes from couriers..."})]}),!r&&j.data?.quotes&&e.jsxs(e.Fragment,{children:[e.jsx(le,{sortBy:R,onSortChange:E,filters:b,onFilterChange:H,onClearFilters:A,quotesCount:Q.length}),Q.length>0?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:Q.map(a=>e.jsx(re,{quote:a,onSelect:T,isSelected:y?.quote_id===a.quote_id,showDetail
1s:o},a.quote_id))}):e.jsx("div",{className:"bg-white dark:bg-gray-900 rounded-lg border border-gray-200/80 dark:border-gray-800",children:e.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-center",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-gray-100 dark:bg-gray-800 flex items-center justify-center mb-4",children:e.jsx(B,{className:"h-5 w-5 text-gray-400"})}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:"No quotes match your filters"}),e.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Try adjusting your filter criteria"}),e.jsx("button",{onClick:A,className:"mt-4 h-8 rounded-md text-xs font-medium border border-gray-200 dark:border-gray-700 text-gray-600 dark:text-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors inline-flex items-center justify-center gap-1.5 px-3",children:"Clear Filters"})]})})]}),e.jsx(ne,{quote:p,open:!!p,onClose:()=>o(null),onSelect:T})]})})}export{me 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.