PageSourceSearch

https://app.besttruckparking.com/assets/index-BFPBYe0B.js

js besttruckparking.com collected 2026-09-24 13:40:01 UTC 85,992 bytes, 47 lines download raw bytes

1import{r as f,I as Ni,fg as so,u as ro,aj as to,bF as ao,bH as _e,bG as Ve,j as e,aB as ee,aD as ie,S as li,T as no,ad as w,t as oe,w as Se,ac as se,aR as ui,b0 as C,aS as Ie,aP as co,an as po,aK as lo,v as L,A as re,aH as Ce,ay as te,al as ae,am as O,aI as mi,ai as F,hj as bi}from"./index-DwaBxgg6.js";import{u as uo,C as mo}from"./index-BeeYY5vd.js";import bo from"./index-Donyesax.js";import{A as fo}from"./index-D50M8qct.js";import{C as R}from"./index-C9ariEnJ.js";import{T as gi}from"./index-Cayaqsck.js";import{R as xo}from"./DashboardOutlined-BhXXe0LW.js";import{R as ne}from"./BellOutlined-j6DpPIpr.js";import{B as de}from"./index-iE3Ap-NY.js";import{R as H}from"./DollarOutlined-BpaJbvWl.js";import{R as ho}from"./SettingOutlined-Cyfi8onD.js";import{R as No}from"./ReloadOutlined-DFx_gpV2.js";import{D as go}from"./index-D9mTton8.js";import{R as Ae}from"./MessageOutlined-BzAcmtDO.js";import{R as Re}from"./PhoneOutlined-BiQetZ0M.js";import{R as Q}from"./CalendarOutlined-D70zwMN6.js";import{R as ce}from"./CreditCardOutlined-Y542OBLx.js";import{S as vo}from"./index-CmM1lNQ4.js";import{R as pe}from"./ClockCircleOutlined-C-b9kSkk.js";import{T as fi}from"./Timeline-CTisUKue.js";import{R as ko}from"./WarningOutlined-DXv7_Hx_.js";import{R as xi}from"./SafetyOutlined-IRGKWkOs.js";import{R as hi}from"./FileTextOutlined-5Onsb-a1.js";import{R as jo}from"./HistoryOutlined-CmTI_HlZ.js";import{R as yo}from"./DownloadOutlined-C9-1ORm4.js";import{R as wo}from"./PlusOutlined-CLfEbDFv.js";import{R as Eo}from"./ThunderboltOutlined-Bp0N9T5p.js";/* empty css                         */import"./calendar-LmHd_pWN.js";import"./index-B7_EJlVB.js";import"./index-BmmbE3t8.js";import"./isoWeek-CUSGFy3P.js";import"./isoWeek-BybtH4vz.js";import"./dev-log-CmuzYmT5.js";import"./pull-to-refresh-BSQ3fe55.js";import"./convert-px-BZpU6GFU.js";import"./spin-loading-BYEgL7gQ.js";import"./index-tjRe2ree.js";import"./index-CZ6E6NTJ.js";import"./auto-center-DXYnpJkt.js";import"./render-to-body-BGvUrXdB.js";import"./en-US-BEpE1hoI.js";import"./entry-D_cATrpe.js";import"./useDeviceLayout-DtOKbC38.js";import"./nameUtils-B2_BKNG7.js";import"./index-vzAQZPTw.js";import"./UpOutlined-CbBfbEqO.js";import"./MiniDecimal-DKOgeQuM.js";import"./MinusOutlined-CiCN4Sfx.js";import"./index-CpIvl7ql.js";import"./useNotification-CabyVmIA.js";import"./ArrowLeftOutlined-Dl2QO_TJ.js";import"./SyncOutlined-CV6rGQ-5.js";import"./Table-CPfc72YO.js";import"./index-DggLrytI.js";import"./useBubbleLock-CVl0d1W-.js";import"./index-C0o5Vhcp.js";import"./dropdown-zwBxnhHQ.js";import"./EllipsisOutlined-Ca95pnnD.js";
1import"./Sider-pNFllgZi.js";import"./index-C4YtE1nU.js";import"./scrollTo-CgFapso-.js";import"./FolderOutlined-BZBi1lDe.js";import"./RedoOutlined-qb3x75vY.js";import"./CloseCircleOutlined-BK4wwfkQ.js";import"./ZoomOutOutlined-8btk8tFq.js";import"./PrinterOutlined-x8ZQ7A9t.js";import"./UndoOutlined-DR1Gg7q2.js";import"./BankOutlined-DFM5aQ3D.js";import"./DeleteOutlined-9maSBYyb.js";import"./index-C2bC1U31.js";import"./index-D2e6xoPr.js";import"./index-DnIAvRCs.js";var Do={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z"}}]},name:"menu",theme:"outlined"};function Te(){return Te=Object.assign?Object.assign.bind():function(l){for(var V=1;V<arguments.length;V++){var T=arguments[V];for(var A in T)Object.prototype.hasOwnProperty.call(T,A)&&(l[A]=T[A])}return l},Te.apply(this,arguments)}const _o=(l,V)=>f.createElement(Ni,Te({},l,{ref:V,icon:Do})),vi=f.forwardRef(_o);vi.displayName="MenuOutlined";var Vo={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 00-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z"}}]},name:"pay-circle",theme:"outlined"};function $e(){return $e=Object.assign?Object.assign.bind():function(l){for(var V=1;V<arguments.length;V++){var T=arguments[V];for(var A in T)Object.prototype.hasOwnProperty.call(T,A)&&(l[A]=T[A])}return l},$e.apply(this,arguments)}const So=(l,V)=>f.createElement(Ni,$e({},l,{ref:V,icon:Vo})),ki=f.forwardRef(So);ki.displayName="PayCircleOutlined";const{Title:le,Text:k,Paragraph:yr}=no,{TabPane:ue}=gi,wr=()=>{const{isMobile:l}=so(),{modalState:V,hideModal:T,info:A}=uo();console.log("🔍 UnifiedDashboard - isMobileDevice:",l,"URL:",window.location.search);const[ji,me]=f.useState(!0),[s,K]=f.useState(null),[Pe,be]=f.useState(null),[yi,Oe]=f.useState(!1),[fe,wi]=f.useState(null),[ze,xe]=f.useState("direct"),[Io,Co]=f.useState(!1),[Me,q]=f.useState(!1),[Ao,Ro]=f.useState(!1),[To,$o]=f.useState(!1),[Po,Ei]=f.useState(!1),[Oo,zo]=f.useState(!1),[Di,he]=f.useState(!1),[Mo,Bo]=f.useState([]),[z,X]=f.useState([]),[Be,Ne]=f.useState([]),[Lo,ge]=f.useState([]),[Uo,Wo]=f.useState([]),[Go,Jo]=f.useState([]),[Fo,Ho]=f.useState([]),[Y,Le]=f.useState([]),[M,ve]=f.useState([]),[B,Ue]=f.useState([]),[$,ke]=f.useState([]),[qo,je]=f.useState([]),[We,_i]=f.useState("overview"),[Vi,Yo]=f.useState(!1),[Si,Qo]=f.useState(!1),[Ko,Xo]=f.useState(!0),[Zo,es]=f.useState(!0),[is,os]=f.useState(!0),[ye,Ii]=f.useState({width:window.innerWidth,height:window.innerHeight}),Ge=ro(),Je=to(),U=ao();f.useEffect(()=>{const i=()=>{Ii({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]),f.useEffect(()=>{we()},[]);const we=async()=>{var i,o,a,c,u,N,m,b,p,r,h,g,j,_,P,v,n,x,d,S,Z,Ke,Xe,Ze,ei,ii,oi,si,ri,ti,ai,ni,di,ci,pi;try{me(!0),be(null);const W=new URLSearchParams(window.location.search),G=W.get("rId"),ss=W.get("accessId"),Ee=W.get("token");wi(G),G&&sessionStorage.setItem("rId",G);let E=null,I=null;if(G){console.log("Processing rId-based access:",G),xe("rId");let t=await(await fetch("https://api.parknation.org/checkReservationId",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:G})})).json();if(console.log("Raw API response:",t),typeof t=="string")try{t=JSON.parse(t),console.log("Parsed JSON result:",t)}catch(De){throw console.error("Failed to parse JSON string:",De),new Error("Invalid response format")}if(t.messageType==="success"){E=t.user_id_fk||t.userId,I=t.site_id_fk,console.log("Extracted userId:",E,"siteId:",I),t.access_token&&sessionStorage.setItem("accessToken",t.access_token),t.refresh_token&&sessionStorage.setItem("refreshToken",t.refresh_token),sessionStorage.setItem("userId",E.toString()),sessionStorage.setItem("userSignedIn","Y"),sessionStorage.setItem("roleId","4"),U(_e(!0)),U(Ve(t.user)),(t.first_name||(i=t.user)!=null&&i.first_name)&&sessionStorage.setItem("first_name",t.first_name||t.user.first_name),(t.last_name||(o=t.user)!=null&&o.last_name)&&sessionStorage.setItem("last_name",t.last_name||t.user.last_name),((a=t.user)!=null&&a.email||(c=t.reserveDefObj)!=null&&c.user_email)&&sessionStorage.setItem("email",((u=t.user)==null?void 0:u.email)||((N=t.reserveDefObj)==null?void 0:N.user_email)),(m=t.user)!=null&&m.phone_number&&sessionStorage.setItem("phone_number",t.user.phone_number),I&&(sessionStorage.setItem("session_site_id",I.toString()),sessionStorage.setItem("default_site_id",I.toString())),t.user&&sessionStorage.setItem("userObj",JSON.stringify(t.user));const De={user_id:t.userId||t.user_id_fk,first_name:t.first_name||((b=t.user)==null?void 0:b.first_name),last_name:t.last_name||((p=t.user)==null?void 0:p.last_name),email:((r=t.user)==null?void 0:r.email)||((h=t.reserveDefObj)==null?void 0:h.user_email),company_name:((g=t.user)==null?void 0:g.company_name)||((j=t.reserveDefObj)==null?void 0:j.logo_company_name),city:((_=t.user)==null?void 0:_.city)||((P=t.reserveDefObj)==null?void 0:P.site_city),state:((v=t.user)==null?void 0:v.state)||((n=t.reserveDefObj)==null?void 0:n.site_state),total_balance_amount:-1*((x=t.reserveDefObj)==null?void 0:x.total_balance_amount)||0,account_balance:-1*((d=t.reserveDefObj)==null?void 0:d.total_balance_amount)||0,total_spent:((S=t.reserveDefObj)==null?void 0:S.total)||0,gate_pin:(Z=t.reserveDefObj)==null?void 0:Z.btp_pin,active_spaces:((Ke=t.reserveDefObj)==null?void 0:Ke.spaces)||0,active_reservations:1,site_phone:(Xe=t.reserveDefObj)==null?void 0:Xe.site_phone_number,site_email:(Ze=t.reserveDefObj)==null?void 0:Ze.site_email,site_name:(ei=t.reserveDefObj)==null?void 0:ei.invoice_site_name,site_address:(ii=t.reserveDefObj)==null?void 0:ii.site_address,site_zipcode:(oi=t.reserveDefObj)==null?void 0:oi.site_zipcode,paid_status:(si=t.reserveDefObj)==null?void 0:si.paid_status,invoice_title:(ri=t.reserveDefObj)==null?void 0:ri.invoice_title,total_amount:(ti=t.reserveDefObj)==null?void 0:ti.total,paid_amount:(ai=t.reserveDefObj)==null?void 0:ai.paid_amount},eo=((ni=t.reserveSpaceObj)==null?void 0:ni.map(J=>({id:J.vehicle_id,make:J.make,model:J.model,license_plate:J.license_num,space_name:J.space_name,space_type:J.space_type_name})))||[],io=((di=t.user)==null?void 0:di.cardCount)>0?[{id:1,type:"Card on File",last4:"****",brand:"card"}]:[],oo=[{id:1,name:((ci=t.reserveDefObj)==null?void 0:ci.invoice_title)||"Reservation Invoice",type:"invoice",date:(pi=t.reserveDefObj)==null?void 0:pi.invoice_date_of_service}];K(De),X(eo),Ne(io),ge(oo),console.log("rId flow complete - all data loaded from checkReservationId API")}}else if(Ee)try{console.log("Processing token-based access:",Ee),xe("token");const y=JSON.parse(atob(Ee.split(".")[1]));E=y.userId||y.user_id,I=y.siteId||y.site_id_fk,E&&(sessionStorage.setItem("userId",E),sessionStorage.setItem("accessToken",y.accessToken||"token_access"),sessionStorage.setItem("userSignedIn","Y"),sessionStorage.setItem("roleId",y.roleId||y.role||"4"),sessionStorage.setItem("session_site_id",I),U(_e(!0)),(y.user||y.first_name)&&U(Ve({user_id:E,first_name:y.first_name||"User",last_name:y.last_name||"",email:y.email||y.user||"",role:y.roleId||y.role||4})),I&&sessionStorage.setItem("default_site_id",I),await Fe(E,I),console.log("Token flow complete - all data loaded via APIs"))}catch(y){console.error("Error decoding token:",y),be("Invalid access token - please try again")}else if(console.log("Processing direct login access"),xe("direct"),E=sessionStorage.getItem("userId")||sessionStorage.getItem("user_id"),I=sessionStorage.getItem("session_site_id")||sessionStorage.getItem("siteId"),E){if(sessionStorage.getItem("userSignedIn")==="Y"){U(_e(!0));const t=JSON.parse(sessionStorage.getItem("userObj")||"{}");t.user_id&&U(Ve(t))}await Fe(E,I),console.log("Direct login flow complete - all data loaded via APIs")}else throw new Error("No user authentication found - please log in again");await $i(E),await Ci(E),await Ai(E),await Ri(E),await Ti(E),await Pi(E),me(!1)}catch(W){console.error("Error loading customer data:",W),be(W.message||"Failed to load customer data"),me(!1)}},Fe=async(i,o=null)=>{var a,c,u,N;try{console.log("🔄 Loading comprehensive customer data for user:",i);const m=sessionStorage.getItem("accessToken");(!m||m==="undefined")&&console.warn("No access token found, some API calls may fail");const b={user_id:i,first_name:sessionStorage.getItem("first_name")||"User",last_name:sessionStorage.getItem("last_name")||"",email:sessionStorage.getItem("email")||"",phone:sessionStorage.getItem("phone_number")||"",company_name:sessionStorage.getItem("company_name")||"",site_id_fk:o,total_balance_amount:0,account_balance:0,total_spent:0,active_reservations:0,vehicles_count:0};K(b);let p=[];try{const n=await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({proc:"sps_get_btp_vehicle_Data",input:[i]})});if(!n.ok)throw console.warn("Vehicles API returned error status:",n.status),new Error(`Vehicles API error: ${n.status}`);let x;try{x=await n.json()}catch(S){console.error("Failed to parse vehicles API response as JSON:",S);const Z=await n.text();throw console.error("Response body:",Z.substring(0,200)),new Error("Invalid JSON response from vehicles API")}const d=((a=x==null?void 0:x.data)==null?void 0:a[0])||[];p=Array.isArray(d)?d.map(S=>({id:S.vehicle_id,make:S.make||"Unknown",model:S.model||"Unknown",license_plate:S.license_num,vin:S.vin,color:S.color})):[],X(p),console.log("✅ Loaded vehicles:",p.length)}catch(n){console.error("Error loading vehicles:",n),X([])}let r=[],h=0,g=0;try{const x=await(await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({proc:"sps_get_btp_transactionsData",input:[i]})})).json();r=((c=x==null?void 0:x.data)==null?void 0:c[0])||[],h=Array.isArray(r)?r.reduce((d,S)=>d+(parseFloat(S.total)||0),0):0,console.log("✅ Loaded transactions:",r.length,"Total spent:",h)}catch(n){console.error("Error loading transactions:",n)}try{const x=await(await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({proc:"sps_get_active_future_btp_reservations",input:[i]})})).json(),d=((u=x==null?void 0:x.data)==null?void 0:u[0])||[];g=Array.isArray(d)?d.length:0,console.log("✅ Loaded active reservations:",g)}catch(n){console.error("Error loading active reservations:",n),g=Array.isArray(r)?r.filter(x=>x.status==="Active"||x.status==="Confirmed").length:0}let j=[];try{const x=await(await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({proc:"sps_get_btp_card_Data",input:[i]})})).json();j=((N=x==null?void 0:x.data)==null?void 0:N[0])||[],console.log("✅ Loaded payment cards:",j.length)}catch(n){console.error("Error loading payment cards:",n),j=[]}const _={...b,total_balance_amount:h,total_spent:h,active_reservations:g,vehicles_count:p.length,transactions_count:r.length};K(_);const P=Array.isArray(j)?j.map(n=>
1({id:n.card_id||n.id,type:n.card_type||"Credit Card",last4:n.last4||n.last_four||"****",brand:n.brand||n.card_brand||"card",exp_month:n.exp_month,exp_year:n.exp_year,is_default:n.is_default||n.default_card})):[];Ne(P);const v=Array.isArray(r)?r.slice(0,5).map((n,x)=>({id:n.payment_id||x,name:`Payment Receipt - ${n.description||"Transaction"}`,type:"receipt",date:n.created_date,amount:n.total})):[];ge(v),console.log("🎉 Final customer data loaded:",{vehicles:p.length,transactions:r.length,totalSpent:h,activeReservations:g})}catch(m){console.error("❌ Error in loadDirectUserData:",m),K({user_id:i,first_name:sessionStorage.getItem("first_name")||"User",last_name:sessionStorage.getItem("last_name")||"",total_spent:0,account_balance:0,active_reservations:0,vehicles_count:0}),X([]),Ne([]),ge([])}},Ci=async i=>{var o;try{const a=sessionStorage.getItem("accessToken"),c=await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({proc:"sps_get_user_recent_activity",input:[i,15,30]})});if(!c.ok)throw new Error("Failed to fetch recent activity");const u=await c.json(),N=((o=u==null?void 0:u.data)==null?void 0:o[0])||[],m=Array.isArray(N)?N.map(r=>({id:r.id,type:r.type,title:r.title,description:r.description,time:r.time,icon:r.icon,color:r.color,amount:r.total,metadata:r.metadata?JSON.parse(r.metadata):{}})):[],b=$.slice(0,5).map(r=>({...r,amount:null})),p=[...m,...b].sort((r,h)=>new Date(h.time)-new Date(r.time)).slice(0,15);ve(p),console.log("Loaded recent activity:",p.length,"items")}catch(a){console.error("Error loading recent activity:",a),ve([])}},Ai=async i=>{var o;try{const a=sessionStorage.getItem("accessToken"),c=await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({proc:"sps_get_user_upcoming_events",input:[i,20,90]})});if(!c.ok)throw new Error("Failed to fetch upcoming events");const u=await c.json(),N=((o=u==null?void 0:u.data)==null?void 0:o[0])||[],m=new Date,b=Array.isArray(N)?N.filter(p=>!(p.status&&(p.status.toLowerCase().includes("completed")||p.status.toLowerCase().includes("expired")||p.status.toLowerCase().includes("cancelled"))||p.type==="reservation_end"&&p.time&&new Date(p.time)<m||p.type==="reminder"&&p.end_time&&new Date(p.end_time)<m)).map(p=>({id:p.id,type:p.type,title:p.title,description:p.description,location:p.location,time:p.time,end_time:p.end_time,status:p.status,priority:p.priority,color:p.color,metadata:p.metadata?typeof p.metadata=="string"?JSON.parse(p.metadata):p.metadata:{}})):[];Ue(b),console.log("✅ Loaded upcoming events from stored procedure:",b.length,"items")}catch(a){console.error("Error loading upcoming events:",a),Ue([])}},Ri=async i=>{var o;try{console.log("🔔 Generating smart notifications from reservations data...");const a=sessionStorage.getItem("accessToken"),u=await(await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({proc:"sps_get_active_future_btp_reservations",input:[i]})})).json(),N=((o=u==null?void 0:u.data)==null?void 0:o[0])||[],m=[],b=new Date;Array.isArray(N)&&N.forEach((r,h)=>{const g=new Date(r.start_date||r.start_dt),j=new Date(r.end_date||r.end_dt),_=g.getTime()-b.getTime(),P=j.getTime()-b.getTime(),v=Math.floor(_/(1e3*60*60)),n=Math.floor(P/(1e3*60*60));if(v>0&&v<=24&&m.push({id:`start_${r.serId||h}`,type:"info",title:"Reservation Starting Soon",message:`Your reservation at ${r.site_name||"parking site"} starts in ${v} hour${v!==1?"s":""}`,time:`${v}h remaining`,reservation_id:r.serId}),v>0&&v<=2&&m.push({id:`urgent_start_${r.serId||h}`,type:"warning",title:"Reservation Starting Very Soon!",message:`Your reservation starts in ${v} hour${v!==1?"s":""}. Get ready to head to ${r.site_name||"your parking site"}!`,time:`${v}h remaining`,reservation_id:r.serId}),n>0&&n<=4&&v<=0&&m.push({id:`ending_${r.serId||h}`,type:"warning",title:"Reservation Ending Soon",message:`Your current reservation ends in ${n} hour${n!==1?"s":""}. Consider extending if you need more time.`,time:`${n}h remaining`,reservation_id:r.serId}),n>0&&n<=1&&v<=0&&m.push({id:`urgent_end_${r.serId||h}`,type:"error",title:"Reservation Ending in 1 Hour!",message:`Your parking time expires in ${n} hour${n!==1?"s":""}. Extend now or move your vehicle to avoid penalties.`,time:`${n}h remaining`,reservation_id:r.serId}),n<0){const x=Math.abs(n);m.push({id:`overdue_${r.serId||h}`,type:"error",title:"Reservation Overdue!",message:`Your reservation ended ${x} hour${x!==1?"s":""} ago. Please move your vehicle immediately to avoid penalties.`,time:`${x}h overdue`,reservation_id:r.serId})}}),m.length===0&&m.push({id:"welcome",type:"success",title:"Welcome to BTP Dashboard",message:"All your reservations are up to date. Book a new spot when you need parking!",time:"Just now"});const p={error:0,warning:1,info:2,success:3};m.sort((r,h)=>p[r.type]-p[h.type]),Le(m),console.log("✅ Generated notifications:",m.length)}catch(a){console.error("Error loading notifications:",a),Le([{id:"error",type:"info",title:"Dashboard Loaded",message:"Welcome to your BTP dashboard",time:"Just now"}])}},Ti=async i=>{var o,a;try{const c=sessionStorage.getItem("accessToken"),u=sessionStorage.getItem("session_site_id"),N=await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify({proc:"sps_get_user_communication_details",input:[i]})});if(!N.ok)return console.warn("Could not fetch user details for communication history"),[];const m=await N.json(),b=(a=(o=m==null?void 0:m.data)==null?void 0:o[0])==null?void 0:a[0];if(!b)return console.warn("No user data found for communication history"),[];const p=b.email,r=b.phone_number,h=new Date,g=new Date;g.setDate(g.getDate()-30);const j=[],_=[];
1if(p){const v=fetch("https://api.parknation.org/pm/api/emails",{method:"POST",headers:{"Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({metadata:{siteId:u},fromdate:g.toISOString(),todate:h.toISOString(),recipientEmail:p})}).then(n=>n.ok?n.json().then(x=>{x.Messages&&x.Messages.forEach(d=>{j.push({id:`email_${d.MessageID}`,type:"email",title:"Email Communication",description:d.Subject||"(No subject)",time:d.ReceivedAt,icon:"email",color:"#1890ff",metadata:{messageId:d.MessageID,subject:d.Subject,from:d.From,to:d.Recipients?d.Recipients.join(", "):p,status:d.Bounced?"bounced":d.TrackLinks?"clicked":d.TrackOpens?"opened":"delivered",preview:d.TextBody?d.TextBody.substring(0,100)+"...":"",hasAttachments:d.Attachments&&d.Attachments.length>0,opens:d.TrackOpens||!1,clicks:d.TrackLinks||!1,bounced:d.Bounced||!1}})})}):Promise.resolve()).catch(n=>(console.error("Error fetching email logs:",n),Promise.resolve()));_.push(v)}if(r){const v=fetch("https://api.parknation.org/twilio/sms-logs",{method:"POST",headers:{"Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({siteId:u,fromDate:g.toISOString(),toDate:h.toISOString(),phoneNumber:r})}).then(n=>n.ok?n.json().then(x=>{x.success&&x.data&&x.data.forEach(d=>{j.push({id:`sms_${d.id}`,type:"sms",title:"SMS Communication",description:d.body.length>50?d.body.substring(0,50)+"...":d.body,time:d.sentAt,icon:"sms",color:"#52c41a",metadata:{message:d.body,from:d.from,to:d.to,status:d.status==="delivered"?"delivered":d.status==="failed"||d.status==="undelivered"?"failed":d.status==="sent"?"sent":"received",direction:d.direction==="inbound"?"received":"sent",cost:d.price?`$${parseFloat(d.price).toFixed(3)}`:null,hasMedia:d.hasMedia||!1,mediaUrls:d.mediaUrls||[],errorMessage:d.errorMessage}})})}):Promise.resolve()).catch(n=>(console.error("Error fetching SMS logs:",n),Promise.resolve()));_.push(v)}await Promise.all(_),j.sort((v,n)=>new Date(n.time)-new Date(v.time));const P=j.slice(0,5);return ve(v=>[...v,...P].sort((x,d)=>new Date(d.time)-new Date(x.time)).slice(0,20)),console.log("Loaded communication history:",j.length,"items"),j}catch(c){return console.error("Error loading communication history:",c),[]}},$i=async i=>{var o;try{const a=sessionStorage.getItem("accessToken");if(!a){console.warn("No access token found for gate logs."),ke([]);return}const c=await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({proc:"sps_get_UserGate_logs",input:[i]})});if(!c.ok)throw new Error("Failed to fetch gate access logs");const u=await c.json(),N=((o=u==null?void 0:u.data)==null?void 0:o[0])||[],m=Array.isArray(N)?N.slice(0,10).map((b,p)=>({id:b.id||`gate_${p}`,type:"gate_access",title:`Gate Access - ${b.device_name||"Unknown Gate"}`,description:b.result.toString()=="1"?`Successfully accessed ${b.device_name||"gate"} at ${b.site_name||"site"}`:`Failed to access ${b.device_name||"gate"} at ${b.site_name||"site"}: ${b.message||"Unknown error"}`,time:b.created_at,icon:b.result.toString()=="1"?e.jsxDEV(ee,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1252,columnNumber:17},void 0):e.jsxDEV(ie,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1254,columnNumber:17},void 0),color:b.result.toString()=="1"?"#52c41a":"#ff4d4f",metadata:{gate_name:b.device_name,site_name:b.site_name,result:b.result,message:b.message,entered_pin:b.entered_pin,user_balance:b.user_balance_amount,event_id:b.event_id,notes:b.notes,user_phone:b.user_phone_number,user_email:b.user_email}})):[];ke(m),console.log("✅ Loaded gate access logs (all sites):",m.length)}catch(a){console.error("Error loading gate access logs:",a),ke([])}},Pi=async i=>{var o;try{const a=sessionStorage.getItem("accessToken");if(!a){console.warn("No access token found for monthly payments."),je([]);return}const c=await fetch("https://api.parknation.org/sql/execSP",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({proc:"sps_get_btp_transactionsData",input:[i]})});if(!c.ok)throw new Error("Failed to fetch monthly payments");const u=await c.json(),N=((o=u==null?void 0:u.data)==null?void 0:o[0])||[],m={},b=new Date;for(let r=11;r>=0;r--){const h=new Date(b.getFullYear(),b.getMonth()-r,1),g=h.toISOString().slice(0,7);m[g]={month:h.toLocaleDateString("en-US",{month:"long",year:"numeric"}),total:0,sites:{}}}
1Array.isArray(N)&&N.forEach(r=>{if(r.created_date&&r.total){const g=new Date(r.created_date).toISOString().slice(0,7),j=parseFloat(r.total)||0,_=r.site_name||"Unknown Site";m[g]&&(m[g].total+=j,m[g].sites[_]||(m[g].sites[_]=0),m[g].sites[_]+=j)}});const p=Object.entries(m).map(([r,h])=>({monthKey:r,...h,siteBreakdown:Object.entries(h.sites).map(([g,j])=>({siteName:g,amount:j})).sort((g,j)=>j.amount-g.amount)})).sort((r,h)=>h.monthKey.localeCompare(r.monthKey));je(p),console.log("✅ Loaded monthly payments breakdown:",p.length,"months")}catch(a){console.error("Error loading monthly payments:",a),je([])}},He=i=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(i||0),Oi=i=>fe?`${i}?rId=${fe}`:i,D=i=>{const o={fromDashboard:!0,dashboardPath:Ge.pathname+Ge.search,accessMode:ze,rId:fe,timestamp:Date.now()};sessionStorage.setItem("dashboardContext",JSON.stringify(o));const a=Oi(i);Je(a)},zi=()=>{Oe(!0),we().finally(()=>Oe(!1))},Mi=()=>{const a=sessionStorage.getItem("customer_type")==="SAAS"?"/auth/site-payment-history":"/auth/btp-payment-history";D(a)},qe=()=>{const i=`Your Gate PIN: ${(s==null?void 0:s.gate_pin)||"N/A"}
2
3Site: ${s==null?void 0:s.site_name}
4
5Address: ${s==null?void 0:s.site_address}, ${s==null?void 0:s.city}, ${s==null?void 0:s.state}
6
7Use this PIN at the gate for access.`;A({title:"Gate Access",content:i})},Bi=()=>{D("/auth/btp-vehicles")},Li=()=>{D("/auth/bookings")},Ui=()=>{const a=sessionStorage.getItem("customer_type")==="SAAS"?"/auth/site-subscriptions":"/auth/btp-subscriptions";D(a)},Wi=()=>{D("/auth/btp-cards")},Ye=()=>{D("/auth/parking-receipt-lookup")},Gi=()=>{const i=(s==null?void 0:s.site_phone)||(s==null?void 0:s.site_email);let o="";i?(o=`📍 Site Contact Information
8
9`,s!=null&&s.site_phone&&(o+=`📞 Phone: ${s.site_phone}
10`),s!=null&&s.site_email&&(o+=`📧 Email: ${s.site_email}
11`),o+=`
12Contact the site for assistance with your reservation.`):(o=`📞 BestTruckParking Support
13
14`,o+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15
16`,o+=`📱 Phone:
17   (888) 290-1450
18
19`,o+=`✉️ Email:
20   [email protected]
21
22`,o+=`🕐 Hours:
23   Monday - Friday
24   8:00 AM - 6:00 PM CST
25
26`,o+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27
28`,o+=`💬 We're here to help with your
29   parking needs!`),A({title:"Contact Support",content:o})},Qe=()=>{D("/contact")},Ji=()=>{const i=ye.width<768;return e.jsxDEV("div",{style:{background:l?"#fff":"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",padding:l?"12px":i?"20px 16px":"32px 24px",borderRadius:"0",marginBottom:l?"0":"24px",position:"relative",overflow:"hidden",borderBottom:l?"1px solid #f0f0f0":"none"},children:[e.jsxDEV("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,background:"radial-gradient(circle at 30% 20%, rgba(255,255,255,0.1) 0%, transparent 50%)",pointerEvents:"none"}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1549,columnNumber:9},void 0),e.jsxDEV("div",{className:"flex justify-between relative z-10 max-w-[1378px] mx-auto",children:[e.jsxDEV("div",{style:{flex:1},children:[e.jsxDEV(le,{level:l?5:i?3:2,style:{color:l?"#262626":"white",margin:0,marginBottom:l?"0":"8px",fontSize:l?"16px":void 0,fontWeight:l?"600":void 0},children:l?"Dashboard":`Welcome Back, ${(s==null?void 0:s.first_name)||"Valued Customer"}`},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1564,columnNumber:13},void 0),!l&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV(k,{style:{color:"rgba(255,255,255,0.9)",fontSize:"16px"},children:[(s==null?void 0:s.company_name)&&`${s.company_name} • `,"Account #",s==null?void 0:s.user_id]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1582,columnNumber:17},void 0),e.jsxDEV("div",{style:{marginTop:"12px",display:"flex",gap:"12px",flexWrap:"wrap"},children:[e.jsxDEV(oe,{color:"blue",style:{borderRadius:"16px",padding:"4px 12px"},children:[e.jsxDEV(Se,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1601,columnNumber:21},void 0)," ",s==null?void 0:s.city,","," ",s==null?void 0:s.state]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1597,columnNumber:19},void 0),e.jsxDEV(oe,{color:"green",style:{borderRadius:"16px",padding:"4px 12px"},children:[e.jsxDEV(se,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1608,columnNumber:21},void 0)," Active Account"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1604,columnNumber:19},void 0),ze==="rId"&&e.jsxDEV(oe,{color:"orange",style:{borderRadius:"16px",padding:"4px 12px"},children:[e.jsxDEV(ee,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1615,columnNumber:23},void 0)," Reservation Access"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1611,columnNumber:21},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1589,columnNumber:17},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1581,columnNumber:15},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1563,columnNumber:11},void 0),e.jsxDEV("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[e.jsxDEV(w,{type:"text",icon:e.jsxDEV(No,{spin:yi},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1626,columnNumber:21},void 0),onClick:zi,style:{color:l?"#8c8c8c":"white",border:l?"1px solid #d9d9d9":"1px solid rgba(255,255,255,0.3)"}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1624,columnNumber:13},void 0),i&&e.jsxDEV(w,{type:"text",icon:e.jsxDEV(vi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1638,columnNumber:23},void 0),onClick:()=>he(!0),style:{color:l?"#8c8c8c":"white",border:l?"1px solid #d9d9d9":"1px solid rgba(255,255,255,0.3)"}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1636,columnNumber:15},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1623,columnNumber:11},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1562,columnNumber:9},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1532,columnNumber:7},void 0)},Fi=()=>{const i=ye.width<768,o=[{title:"Active Reservations",value:(s==null?void 0:s.active_reservations)||0,color:"#52c41a",icon:e.jsxDEV(Q,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1662,columnNumber:15},void 0),suffix:(s==null?void 0:s.active_reservations)===1?" Reservation":" Reservations"},{title:"Total Spent",value:He((s==null?void 0:s.total_spent)||0),color:"#fa8c16",icon:e.jsxDEV(H,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1679,columnNumber:15},void 0)}
29,{title:"Payment Methods",value:Be.length,color:"#1890ff",icon:e.jsxDEV(ce,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1685,columnNumber:15},void 0),suffix:Be.length===1?" Card":" Cards"},{title:"Vehicles",value:z.length,color:"#eb2f96",icon:e.jsxDEV(te,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1692,columnNumber:15},void 0),suffix:z.length===1?" Vehicle":" Vehicles",onClick:()=>q(!0)}];return e.jsxDEV(ae,{gutter:[16,16],style:{marginBottom:"24px"},children:o.map((a,c)=>e.jsxDEV(O,{xs:12,sm:6,children:e.jsxDEV(R,{hoverable:!!a.onClick,onClick:a.onClick,style:{borderRadius:"12px",border:"none",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",background:"white",cursor:a.onClick?"pointer":"default"},bodyStyle:{padding:i?"16px":"20px"},children:e.jsxDEV(vo,{title:a.title,value:a.value,valueStyle:{color:a.color,fontSize:i?"20px":"24px"},prefix:e.jsxDEV("div",{style:{color:a.color,fontSize:i?"20px":"24px",marginRight:"8px"},children:a.icon},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1722,columnNumber:19},void 0),suffix:e.jsxDEV("span",{style:{fontSize:i?"12px":"14px"},children:a.suffix},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1733,columnNumber:19},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1714,columnNumber:15},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1702,columnNumber:13},void 0)},c,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1701,columnNumber:11},void 0))},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1699,columnNumber:7},void 0)},Hi=()=>{const i=ye.width<768,o=[{category:"Account & Payments",icon:e.jsxDEV(H,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1751,columnNumber:15},void 0),color:"#1890ff",links:[{title:"Payment History",description:"View your payment records",icon:e.jsxDEV(jo,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1765,columnNumber:19},void 0),color:"#13c2c2",onClick:()=>D("/auth/payment-history")},{title:"Booking Payments",description:"View reservation payment history",icon:e.jsxDEV(H,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1773,columnNumber:19},void 0),color:"#667eea",onClick:()=>D("/auth/reservation-payment-history")},{title:"Manage Cards",description:"Add or update payment methods",icon:e.jsxDEV(ce,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1781,columnNumber:19},void 0),color:"#eb2f96",onClick:Wi},{title:"Download Receipts",description:"Get receipts for tax purposes",icon:e.jsxDEV(yo,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1788,columnNumber:19},void 0),color:"#faad14",onClick:Ye}]},{category:"Parking & Access",icon:e.jsxDEV(te,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1796,columnNumber:15},void 0),color:"#722ed1",links:[{title:"Gate Access PIN",description:"View your current access code",icon:e.jsxDEV(xi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1802,columnNumber:19},void 0),color:"#f5222d",onClick:qe,disabled:!(s!=null&&s.gate_pin)},{title:"My Vehicles",description:"Manage your registered vehicles",icon:e.jsxDEV(te,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1810,columnNumber:19},void 0),color:"#1890ff",onClick:Bi},{title:"My Bookings",description:"View current and past reservations",icon:e.jsxDEV(Q,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1817,columnNumber:19},void 0),color:"#52c41a",onClick:Li},{title:"My Booking History",description:"View reservation payment history",icon:e.jsxDEV(H,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1824,columnNumber:19},void 0),color:"#667eea",onClick:()=>D("/auth/reservation-payment-history")},{title:"My Recurring Subscriptions",description:"Manage your active subscriptions",icon:e.jsxDEV(se,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1832,columnNumber:19},void 0),color:"#13c2c2",onClick:Ui},{title:"Reserve Additional Space",description:"Book more parking space
29s",icon:e.jsxDEV(wo,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1839,columnNumber:19},void 0),color:"#722ed1",onClick:()=>D("/reservation")}]},{category:"Support & Help",icon:e.jsxDEV(bi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1847,columnNumber:15},void 0),color:"#eb2f96",links:[{title:"Contact Support",description:"Get help from site management",icon:e.jsxDEV(Ae,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1853,columnNumber:19},void 0),color:"#fa8c16",onClick:Gi},{title:"Request Callback",description:"Schedule a call with support",icon:e.jsxDEV(Re,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1860,columnNumber:19},void 0),color:"#1890ff",onClick:Qe},{title:"View Documents",description:"Access contracts and receipts",icon:e.jsxDEV(hi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1867,columnNumber:19},void 0),color:"#722ed1",onClick:Ye},{title:"Edit Profile",description:"Update your account information",icon:e.jsxDEV(Ce,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1874,columnNumber:19},void 0),color:"#722ed1",onClick:()=>D("/auth/edit-profile")}]}];return e.jsxDEV("div",{style:{marginBottom:"32px"},children:[e.jsxDEV(le,{level:3,style:{marginBottom:"24px",textAlign:"center"},children:[e.jsxDEV(Eo,{style:{color:"#faad14",marginRight:"12px"}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1885,columnNumber:11},void 0),"Quick Access Links"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1884,columnNumber:9},void 0),o.map((a,c)=>e.jsxDEV(R,{title:e.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[e.jsxDEV("div",{className:"quick-access-category-icon",style:{width:"32px",height:"32px",borderRadius:"8px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"16px",color:"white"},children:a.icon},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1898,columnNumber:17},void 0),e.jsxDEV("span",{style:{fontSize:"18px",fontWeight:600},children:a.category},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1913,columnNumber:17},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1895,columnNumber:15},void 0),style:{borderRadius:"16px",boxShadow:"0 4px 12px rgba(0,0,0,0.05)",marginBottom:"24px",border:"1px solid #f0f0f0"},bodyStyle:{padding:i?"16px":"24px"},children:e.jsxDEV(ae,{gutter:[16,16],children:a.links.map((u,N)=>e.jsxDEV(O,{xs:24,sm:12,lg:6,children:e.jsxDEV(R,{hoverable:!0,onClick:u.onClick,style:{borderRadius:"12px",border:"1px solid #f0f0f0",boxShadow:"0 2px 8px rgba(0,0,0,0.06)",cursor:u.disabled?"not-allowed":"pointer",opacity:u.disabled?.6:1,transition:"all 0.3s ease"},bodyStyle:{padding:"20px"},children:e.jsxDEV("div",{style:{textAlign:"center"},children:[e.jsxDEV("div",{className:"quick-access-icon",style:{width:"48px",height:"48px",borderRadius:"12px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"20px",color:"white",margin:"0 auto 16px"},children:u.loading?e.jsxDEV(li,{size:"small"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1957,columnNumber:41},void 0):u.icon},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1943,columnNumber:23},void 0),e.jsxDEV(le,{level:5,style:{margin:"0 0 8px",fontSize:"16px"},children:u.title},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1959,columnNumber:23},void 0),e.jsxDEV(k,{type:"secondary",style:{fontSize:"13px",lineHeight:"1.4"},children:u.description},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1965,columnNumber:23},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1942,columnNumber:21},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1929,columnNumber:19},void 0)},N,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1928,columnNumber:17},void 0))},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1926,columnNumber:13},void 0)},c,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1892,columnNumber:11},void 0))]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1883,columnNumber:7},void 0)},qi=()=>e.jsxDEV(ae,{gutter:[24,24],children:[e.jsxDEV(O,{span:24,children:Hi()},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1985,columnNumber:7},void 0),e.jsxDEV(O,{xs:24,lg:12,children:e.jsxDEV(R,{title:"Recent Activity",extra:e.jsxDEV(de,{count:(M==null?void 0:M.length)||0},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1991,columnNumber:18},void 0),children:(M==null?void 0:M.length)>
290?e.jsxDEV(C,{itemLayout:"horizontal",dataSource:M,renderItem:i=>{var o,a,c;return e.jsxDEV(C.Item,{children:e.jsxDEV(C.Item.Meta,{avatar:e.jsxDEV(re,{style:{backgroundColor:i.color},icon:i.icon==="payment"||i.type==="payment"?e.jsxDEV(H,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2005,columnNumber:29},void 0):i.icon==="reservation"||i.type==="reservation"?e.jsxDEV(Q,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2008,columnNumber:29},void 0):i.icon==="vehicle"||i.type==="vehicle"?e.jsxDEV(te,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2011,columnNumber:29},void 0):i.icon==="gate"||i.type==="gate_access"?e.jsxDEV(ee,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2014,columnNumber:29},void 0):i.icon==="card"||i.type==="payment_method"?e.jsxDEV(ce,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2017,columnNumber:29},void 0):i.icon==="email"||i.type==="email"?e.jsxDEV(mi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2019,columnNumber:29},void 0):i.icon==="sms"||i.type==="sms"?e.jsxDEV(Ae,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2021,columnNumber:29},void 0):e.jsxDEV(se,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2023,columnNumber:29},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2001,columnNumber:23},void 0),title:e.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",minWidth:"0"},children:[e.jsxDEV("span",{children:i.title},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2037,columnNumber:25},void 0),i.total&&e.jsxDEV("span",{style:{color:i.color,fontWeight:"bold"},children:He(i.total)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2039,columnNumber:27},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2029,columnNumber:23},void 0),description:e.jsxDEV(L,{direction:"vertical",size:0,children:[e.jsxDEV(k,{children:i.description},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2049,columnNumber:25},void 0),((o=i.metadata)==null?void 0:o.site_name)&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:[e.jsxDEV(Se,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2052,columnNumber:29},void 0)," ",i.metadata.site_name]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2051,columnNumber:27},void 0),((a=i.metadata)==null?void 0:a.space_name)&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:["Space: ",i.metadata.space_name]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2056,columnNumber:27},void 0),((c=i.metadata)==null?void 0:c.gate_code)&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:["Gate Code: ",i.metadata.gate_code]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2061,columnNumber:27},void 0),e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:[e.jsxDEV(pe,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2066,columnNumber:27},void 0)," ",new Date(i.time).toLocaleString()]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2065,columnNumber:25},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2048,columnNumber:23},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1999,columnNumber:19},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1998,columnNumber:17},void 0)}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1994,columnNumber:13},void 0):e.jsxDEV(F,{description:"No recent activity",image:F.PRESENTED_IMAGE_SIMPLE},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2076,columnNumber:13},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1989,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1988,columnNumber:7},void 0),e.jsxDEV(O,{xs:24,lg:12,children:e.jsxDEV(R,{title:"Upcoming Events",extra:e.jsxDEV(de,{count:(B==null?void 0:B.length)||0},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2087,columnNumber:18},void 0),children:(B==null?void 0:B.length)>
290?e.jsxDEV(fi,{className:"[&_.ant-steps-item-content]:max-w-full [&_.ant-steps-item]:items-start",children:B.map(i=>{var o,a,c,u;return e.jsxDEV(fi.Item,{color:i.color,dot:i.priority==="high"?e.jsxDEV(ie,{style:{color:"#ff4d4f"}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2097,columnNumber:23},void 0):i.type==="reservation"?e.jsxDEV(Q,{style:{color:i.color}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2099,columnNumber:23},void 0):i.type==="reminder"?e.jsxDEV(ne,{style:{color:i.color}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2101,columnNumber:23},void 0):e.jsxDEV(pe,{style:{color:i.color}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2103,columnNumber:23},void 0),children:e.jsxDEV(L,{direction:"vertical",size:0,children:[e.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxDEV(k,{strong:!0,style:{color:i.priority==="high"?"#ff4d4f":"inherit"},children:i.title},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2115,columnNumber:23},void 0),i.priority==="high"&&e.jsxDEV(oe,{color:"red",size:"small",children:"URGENT"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2125,columnNumber:25},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2108,columnNumber:21},void 0),e.jsxDEV(k,{type:"secondary",children:i.description},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2130,columnNumber:21},void 0),i.location&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:[e.jsxDEV(Se,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2133,columnNumber:25},void 0)," ",i.location]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2132,columnNumber:23},void 0),((o=i.metadata)==null?void 0:o.hours_until_start)!==void 0&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:[e.jsxDEV(pe,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2138,columnNumber:25},void 0)," ",i.metadata.hours_until_start," hours away"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2137,columnNumber:23},void 0),((a=i.metadata)==null?void 0:a.hours_until_expiry)!==void 0&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px",color:"#ff4d4f"},children:[e.jsxDEV(ie,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2147,columnNumber:25},void 0)," Expires in"," ",i.metadata.hours_until_expiry," hours"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2143,columnNumber:23},void 0),e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:[e.jsxDEV(Q,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2152,columnNumber:23},void 0)," ",new Date(i.time).toLocaleString()]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2151,columnNumber:21},void 0),((c=i.metadata)==null?void 0:c.reminder)&&e.jsxDEV(k,{style:{fontSize:"12px",fontStyle:"italic",color:"#fa8c16"},children:["💡 ",i.metadata.reminder]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2156,columnNumber:23},void 0),((u=i.metadata)==null?void 0:u.action_needed)&&e.jsxDEV(k,{style:{fontSize:"12px",fontWeight:"bold",color:"#1890ff"},children:["📋 ",i.metadata.action_needed]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2167,columnNumber:23},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2107,columnNumber:19},void 0)},i.id,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2092,columnNumber:17},void 0)})},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2090,columnNumber:13},void 0):e.jsxDEV(F,{description:"No upcoming events",image:F.PRESENTED_IMAGE_SIMPLE},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2182,columnNumber:13},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2085,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2084,columnNumber:7},void 0),($==null?void 0:$.length)>0&&e.jsxDEV(O,{span:24,style:{marginTop:"24px"},children:e.jsxDEV(R,{title:"Recent Gate Access",extra:e.jsxDEV(de,{count:($==null?void 0:$.length)||0},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2195,columnNumber:20},void 0),children:e.jsxDEV(C,{itemLayout:"horizontal",dataSource:$,renderItem:i=>{var o,a,c,u,N;return e.jsxDEV(C.Item,{children:e.jsxDEV(C.Item.Meta,{avatar:e.jsxDEV(re,{style:{backgroundColor:i.color},icon:i.icon},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2204,columnNumber:23},void 0),title:e.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxDEV("span",{children:i.title},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2217,columnNumber:25},void 0),e.jsxDEV(k,{type:((o=i.metadata)==null?void 0:o.result)==="Success"||((a=i.metadata)==null?void 0:a.result)==="Granted"?"success":"danger",style:{fontSize:"12px"},children:((c=i.metadata)==null?void 0:c.result)||"Unknown"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2218,columnNumber:25},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2210,columnNumber:23},void 0),description:e.jsxDEV(L,{direction:"vertical",size:0,children:[e.jsxDEV(k,{children:i.description},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2233,columnNumber:25},void 0),((u=i.metadata)==null?void 0:u.message)&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:["Message: ",i.metadata.message]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2235,columnNumber:27},void 0),((N=i.metadata)==null?void 0:N.entered_pin)&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:["PIN Used: ",i.metadata.entered_pin]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2240,columnNumber:27},void 0),e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:[e.jsxDEV(pe,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2245,columnNumber:27}
29,void 0)," ",new Date(i.time).toLocaleString()]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2244,columnNumber:25},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2232,columnNumber:23},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2202,columnNumber:19},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2201,columnNumber:17},void 0)}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2197,columnNumber:13},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2193,columnNumber:11},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2192,columnNumber:9},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:1983,columnNumber:5},void 0),Yi=()=>e.jsxDEV(R,{title:"Notifications",children:(Y==null?void 0:Y.length)>0?e.jsxDEV(C,{itemLayout:"horizontal",dataSource:Y,renderItem:i=>e.jsxDEV(C.Item,{children:e.jsxDEV(C.Item.Meta,{avatar:e.jsxDEV(re,{style:{backgroundColor:i.type==="error"?"#ff4d4f":i.type==="warning"?"#faad14":i.type==="success"?"#52c41a":"#1890ff"},icon:i.type==="error"?e.jsxDEV(ie,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2283,columnNumber:25},void 0):i.type==="warning"?e.jsxDEV(ko,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2285,columnNumber:25},void 0):i.type==="success"?e.jsxDEV(se,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2287,columnNumber:25},void 0):e.jsxDEV(ne,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2289,columnNumber:25},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2270,columnNumber:19},void 0),title:i.title,description:e.jsxDEV(L,{direction:"vertical",size:0,children:[e.jsxDEV(k,{children:i.message},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2297,columnNumber:21},void 0),e.jsxDEV(k,{type:"secondary",style:{fontSize:"12px"},children:i.time},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2298,columnNumber:21},void 0),i.reservation_id&&e.jsxDEV(k,{type:"secondary",style:{fontSize:"11px"},children:["Reservation ID: ",i.reservation_id]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2302,columnNumber:23},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2296,columnNumber:19},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2268,columnNumber:15},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2267,columnNumber:13},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2263,columnNumber:9},void 0):e.jsxDEV(F,{description:"No notifications",image:F.PRESENTED_IMAGE_SIMPLE},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2313,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2261,columnNumber:5},void 0),Qi=()=>e.jsxDEV(ae,{gutter:[24,24],children:[e.jsxDEV(O,{xs:24,md:12,children:e.jsxDEV(R,{title:"Account Settings",children:e.jsxDEV(L,{direction:"vertical",size:"large",style:{width:"100%"},children:[e.jsxDEV(w,{block:!0,icon:e.jsxDEV(Ce,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2328,columnNumber:21},void 0),onClick:()=>D("/auth/edit-profile"),children:"Edit Profile"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2326,columnNumber:13},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(ce,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2335,columnNumber:21},void 0),onClick:()=>D("/auth/btp-cards"),children:"Payment Methods"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2333,columnNumber:13},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(ne,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2340,columnNumber:33},void 0),children:"Notification Preferences"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2340,columnNumber:13},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(xi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2343,columnNumber:33},void 0),children:"Privacy Settings"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2343,columnNumber:13},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2325,columnNumber:11},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2324,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2323,columnNumber:7},void 0),e.jsxDEV(O,{xs:24,md:12,children:e.jsxDEV(R,{title:"Support & Help",children:e.jsxDEV(L,{direction:"vertical",size:"large",style:{width:"100%"},children:[e.jsxDEV(w,{block:!0,icon:e.jsxDEV(bi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2354,columnNumber:21},void 0),onClick:()=>window.open("/driver-faq.html","_blank"),children:"FAQ & Help Center"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2352,columnNumber:13},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(Re,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2361,columnNumber:21},void 0),onClick:()=>window.open("/contact","_blank"),children:"Contact Support"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2359,columnNumber:13},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(hi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2368,columnNumber:21},void 0),onClick:()=>D("/auth/parking-receipt-lookup"),children:"Document Lookup"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2366,columnNumber:13},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(mi,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2377,columnNumber:21},void 0),onClick:()=>Je("/contact"),children:"Email Support"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2375,c
29olumnNumber:13},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2351,columnNumber:11},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2350,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2349,columnNumber:7},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2322,columnNumber:5},void 0),Ki=()=>{const i=e.jsxDEV(e.Fragment,{children:z.length>0?e.jsxDEV("div",{style:{padding:l?"16px":"24px"},children:[e.jsxDEV("div",{style:{fontSize:l?"13px":"14px",marginBottom:l?"16px":"20px",textAlign:"center",color:"#666"},children:[z.length," vehicle",z.length!==1?"s":""," ","registered to your account"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2507,columnNumber:13},void 0),l?e.jsxDEV(ui,{children:z.map((o,a)=>e.jsxDEV(ui.Item,{prefix:e.jsxDEV("div",{style:{width:"36px",height:"36px",background:"linear-gradient(135deg, #1e40af 0%, #2563eb 100%)",borderRadius:"8px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"16px"},children:"🚚"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2524,columnNumber:23},void 0),description:e.jsxDEV("div",{style:{marginTop:"2px"},children:[e.jsxDEV("div",{style:{fontSize:"12px",fontWeight:"600",marginBottom:"4px",color:"#666"},children:o.license_num},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2542,columnNumber:25},void 0),e.jsxDEV("div",{style:{display:"flex",gap:"6px",flexWrap:"wrap",marginTop:"4px"},children:[e.jsxDEV("span",{style:{background:"#e3f2fd",color:"#1976d2",padding:"1px 6px",borderRadius:"3px",fontSize:"10px",fontWeight:"600"},children:o.color},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2560,columnNumber:27},void 0),o.length&&e.jsxDEV("span",{style:{background:"#fff3e0",color:"#f57c00",padding:"1px 6px",borderRadius:"3px",fontSize:"10px",fontWeight:"600"},children:[o.length,"ft"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2573,columnNumber:29},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2552,columnNumber:25},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2541,columnNumber:23},void 0),onClick:()=>console.log("Vehicle clicked:",o),children:e.jsxDEV("div",{style:{fontSize:"13px",fontWeight:"600"},children:[o.make," ",o.model," (",o.year,")"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2591,columnNumber:21},void 0)},a,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2521,columnNumber:19},void 0))},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2519,columnNumber:15},void 0):e.jsxDEV(C,{dataSource:z,renderItem:(o,a)=>e.jsxDEV(C.Item,{style:{background:"rgba(255, 255, 255, 0.05)",border:"1px solid rgba(59, 130, 246, 0.2)",borderRadius:"12px",marginBottom:"16px",padding:"20px",transition:"all 0.3s ease",cursor:"pointer"},onMouseEnter:c=>{c.currentTarget.style.background="rgba(255, 255, 255, 0.08)",c.currentTarget.style.borderColor="rgba(59, 130, 246, 0.4)",c.currentTarget.style.transform="translateY(-2px)",c.currentTarget.style.boxShadow="0 8px 24px rgba(59, 130, 246, 0.2)"},onMouseLeave:c=>{c.currentTarget.style.background="rgba(255, 255, 255, 0.05)",c.currentTarget.style.borderColor="rgba(59, 130, 246, 0.2)",c.currentTarget.style.transform="translateY(0)",c.currentTarget.style.boxShadow="none"},children:[e.jsxDEV(C.Item.Meta,{avatar:e.jsxDEV("div",{style:{width:"60px",height:"60px",background:"linear-gradient(135deg, #1e40af 0%, #2563eb 100%)",borderRadius:"12px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"24px",fontWeight:"bold",boxShadow:"0 4px 12px rgba(30, 64, 175, 0.3)"},children:"🚚"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2631,columnNumber:25},void 0),title:e.jsxDEV("div",{style:{fontSize:"18px",fontWeight:"700",marginBottom:"4px"},children:[o.make," ",o.model," (",o.year,")"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2651,columnNumber:25},void 0),description:e.jsxDEV("div",{children:[e.jsxDEV("div",{style:{fontSize:"16px",fontWeight:"600",marginBottom:"8px"},children:["License: ",o.license_num]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2664,columnNumber:27},void 0),e.jsxDEV("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"},children:[e.jsxDEV("span",{style:{background:"rgba(59, 130, 246, 0.2)",color:"#93c5fd",padding:"4px 12px",borderRadius:"6px",fontSize:"12px",fontWeight:"600"},children:o.color},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2681,columnNumber:29},void 0),e.jsxDEV("span",{style:{background:"rgba(34, 197, 94, 0.2)",color:"#86efac",padding:"4px 12px",borderRadius:"6px",fontSize:"12px",fontWeight:"600"},children:o.vehicle_type||"Truck"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2693,columnNumber:29},void 0),o.length&&e.jsxDEV("span",{style:{background:"rgba(168, 85, 247, 0.2)",color:"#c4b5fd",padding:"4px 12px",borderRadius:"6px",fontSize:"12px",fontWeight:"600"},children:[o.length,"ft"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2706,columnNumber:31},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2674,columnNumber:27},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2663,columnNumber:25},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2629,columnNumber:21},void 0),e.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:e.jsxDEV(w,{size:"small",style:{background:"rgba(255, 255, 255, 0.1)",border:"1px solid rgba(255, 255, 255, 0.2)",color:"rgba(255, 255, 255, 0.9)",borderRadius:"8px",fontWeight:"600"},onClick:c=>{c.stopPropagation(),console.log("Edit vehicle:",o)},children:"Edit"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2730,columnNumber:23},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2723,columnNumber:21},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2601,columnNumber:19},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2598,columnNumber:15},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2506,columnNumber:11},void 0):e.jsxDEV("div",{style:{textAlign:"center",padding:l?"40px 20px":"60px 40px"},children:[e.jsxDEV("div",{style:{fontSize:l?"48px":"64px",marginBottom:"20px"},children:"🚚"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2760,columnNumber:13},void 0),e.jsxDEV("div",{style:{fontSize:l?"18px":"20px",fontWeight:"600",marginBottom:"12px",color:"#333"},children:"No vehicles registered"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2768,columnNumber:13},void 0),e.jsxDEV("div",{style:{fontSize:l?"14px":"16px",marginBottom:"32px",color:"#666"},children:"Add your first vehicle to get started with reservations"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2778,columnNumber:13},void 0),l?e.jsxDEV(Ie,{color:"primary",size:"large",onClick:()=>console.log("Add new vehicle"),children:"Add Vehicle"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2788,columnNumber:15},void 0):e.jsxDEV(w,{type:"primary",size:"large",style:{background:"linear-gradient(135deg, #1e40af 0%, #2563eb 100%)",border:"none",borderRadius:"8px",fontWeight:"600",padding:"12px 32px",height:"auto"},onClick:()=>console.log("Add new vehicle"),children:"Add Vehicle"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2796,columnNumber:15},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2754,columnNumber:11},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2504,columnNumber:7},void 0);return l?e.jsxDEV(co,{open:Me,onClose:()=>q(!1),bodyStyle:{borderTopLeftRadius:"16px",borderTopRightRadius:"16px",height:"80vh",overflow:"auto"},children:[e.jsxDEV("div",{style:{padding:"12px 16px",position:"sticky",top:0,background:"#fff",zIndex:1,borderBottom:"1px solid #f0f
290f0"},children:e.jsxDEV("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxDEV("h3",{style:{margin:0,fontSize:"18px",fontWeight:"600"},children:"🚚 Your Vehicles"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2848,columnNumber:15},void 0),e.jsxDEV(Ie,{size:"small",color:"primary",onClick:()=>{console.log("Add new vehicle")},style:{fontSize:"12px",padding:"4px 12px"},children:"+ Add"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2851,columnNumber:15},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2841,columnNumber:13},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2831,columnNumber:11},void 0),i,e.jsxDEV("div",{style:{padding:"12px 16px",borderTop:"1px solid #f0f0f0",position:"sticky",bottom:0,background:"#fff"},children:e.jsxDEV(Ie,{block:!0,color:"primary",onClick:()=>q(!1),children:"Close"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2874,columnNumber:13},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2865,columnNumber:11},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2821,columnNumber:9},void 0):e.jsxDEV(po,{title:"🚚 Your Vehicles",open:Me,onCancel:()=>q(!1),footer:[e.jsxDEV(w,{onClick:()=>q(!1),style:{background:"linear-gradient(135deg, #1e40af 0%, #2563eb 100%)",border:"none",borderRadius:"8px",color:"white",fontWeight:"600",padding:"8px 24px",height:"40px"},children:"Close"},"close",!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2893,columnNumber:11},void 0)],width:700,style:{zIndex:9999},className:"modern-vehicle-modal",bodyStyle:{maxHeight:"60vh",overflowY:"auto",padding:"0"},children:i},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2888,columnNumber:7},void 0)},Xi=()=>e.jsxDEV(lo,{title:"Menu",placement:"right",onClose:()=>he(!1),open:Di,width:280,children:e.jsxDEV(L,{direction:"vertical",size:"large",style:{width:"100%"},children:[e.jsxDEV("div",{style:{textAlign:"center",padding:"16px"},children:[e.jsxDEV(re,{size:64,icon:e.jsxDEV(Ce,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2934,columnNumber:37},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2934,columnNumber:13},void 0),e.jsxDEV(le,{level:4,style:{margin:"8px 0 4px"},children:[s==null?void 0:s.first_name," ",s==null?void 0:s.last_name]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2935,columnNumber:13},void 0),e.jsxDEV(k,{type:"secondary",children:s==null?void 0:s.email},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2938,columnNumber:13},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2933,columnNumber:11},void 0),e.jsxDEV(go,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2941,columnNumber:11},void 0),e.jsxDEV(w,{type:"primary",block:!0,icon:e.jsxDEV(ki,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2946,columnNumber:19},void 0),onClick:Mi,loading:Vi,disabled:((s==null?void 0:s.account_balance)||0)<=0,children:"Quick Pay"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2943,columnNumber:11},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(ee,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2956,columnNumber:19},void 0),onClick:qe,loading:Si,children:"Open Gate"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2954,columnNumber:11},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(Ae,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2965,columnNumber:19},void 0),onClick:()=>{Ei(!0),he(!1)},children:"Messages"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2963,columnNumber:11},void 0),e.jsxDEV(w,{block:!0,icon:e.jsxDEV(Re,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2974,columnNumber:31},void 0),onClick:Qe,children:"Contact Support"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2974,columnNumber:11},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2932,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2925,columnNumber:7},void 0),Zi=()=>We==="payments"?e.jsxDEV("div",{style:{padding:"0"},children:e.jsxDEV(bo,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2986,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2985,columnNumber:7},void 0):null;return ji?e.jsxDEV("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"60vh",flexDirection:"column",gap:"16px"},children:[e.jsxDEV(li,{size:"large"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3003,columnNumber:9},void 0),e.jsxDEV(k,{children:"Loading your account information..."},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3004,columnNumber:9},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:2993,columnNumber:7},void 0):Pe?e.jsxDEV("div",{style:{padding:"24px",textAlign:"center"},children:e.jsxDEV(fo,{message:"Error Loading Account",description:Pe,type:"error",showIcon:!0,action:e.jsxDEV(w,{type:"primary",onClick:()=>we(),children:"Retry"},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3018,columnNumber:13},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3012,columnNumber:9},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3011,columnNumber:7},void 0):e.jsxDEV("div",{style:{minHeight:"100vh",background:l?"#fff":"linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%)"},children:[e.jsxDEV("style",{children:`
30          @media (max-width: 768px) {
31            .ant-col {
32              margin-bottom: 0;
33            }
34            .ant-card {
35              margin-bottom: 16px;
36            }
37          }
38          
39          .ant-card:hover {
40            transform: translateY(-2px);
41            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
42          }
43          
44          .ant-card {
45            transition: all 0.3s ease;
46          }
47        `},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3036,columnNumber:7},void 0),Ji(),e.jsxDEV("div",{style:{maxWidth:"1400px",margin:"0 auto",padding:l?"0":"0 16px 24px"},children:[!l&&Fi(),e.jsxDEV(R,{style:{borderRadius:l?0:"8px",border:l?"none":void 0,boxShadow:l?"none":void 0},bodyStyle:{padding:l?"0":"24px"},children:e.jsxDEV(gi,{activeKey:We,onChange:_i,className:"[&_.ant-tabs-tab]:px-2",style:{padding:l?"0 12px":void 0},children:[e.jsxDEV(ue,{tab:e.jsxDEV("span",{className:"flex items-center gap-1",children:[e.jsxDEV(xo,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3092,columnNumber:19},void 0),"Overview"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3091,columnNumber:17},void 0),children:qi()},"overview",!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3089,columnNumber:13},void 0),e.jsxDEV(ue,{tab:e.jsxDEV("span",{className:"flex items-center gap-1",children:[e.jsxDEV(ne,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3103,columnNumber:19}
47,void 0),"Notifications",e.jsxDEV(de,{count:Y.length,size:"small",style:{marginLeft:8}},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3105,columnNumber:19},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3102,columnNumber:17},void 0),children:Yi()},"notifications",!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3100,columnNumber:13},void 0),e.jsxDEV(ue,{tab:e.jsxDEV("span",{className:"flex items-center gap-1",children:[e.jsxDEV(H,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3119,columnNumber:19},void 0),"Payments"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3118,columnNumber:17},void 0),children:Zi()},"payments",!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3116,columnNumber:13},void 0),e.jsxDEV(ue,{tab:e.jsxDEV("span",{className:"flex items-center gap-1",children:[e.jsxDEV(ho,{},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3130,columnNumber:19},void 0),"Settings"]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3129,columnNumber:17},void 0),children:Qi()},"settings",!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3127,columnNumber:13},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3081,columnNumber:11},void 0)},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3071,columnNumber:9},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3060,columnNumber:7},void 0),Ki(),Xi(),e.jsxDEV(mo,{...V,onClose:T},void 0,!1,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3145,columnNumber:7},void 0)]},void 0,!0,{fileName:"/opt/web-apps/app.besttruckparking.com/src/routes/unified-dashboard/index.jsx",lineNumber:3028,columnNumber:5},void 0)};export{wr 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.