1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4812],{12004:(e,t,a)=>{a.d(t,{NM:()=>c,dL:()=>u,ef:()=>i,fs:()=>h,io:()=>d,kh:()=>y,xB:()=>m});var n=a(53455),r=a(99776),s=a(80549),o=a(31306);let i={COMPARISON:"comparison",STANDARD_ARTICLE:"standardArticle",VEHICLE_PAGE:"vehiclePage",VIDEO:"video"},u={all:["mt-user-bookmarks"],byContentId:e=>["mt-user-bookmarks","content",e],byContentType:e=>["mt-user-bookmarks","type",e]},l="/nwapi/mt-user-data/user-bookmarks";function d(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return(0,n.useQuery)({enabled:t,gcTime:0,queryFn:async()=>{try{return(await (0,o.OT)("".concat(l,"?contentId=").concat(encodeURIComponent(e)))).data.bookmarks.find(t=>t.contentId===e)||null}catch(e){if(e&&"object"==typeof e&&"status"in e&&(404===e.status||401===e.status))return null;throw e}},queryKey:u.byContentId(e),staleTime:0})}function c(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return(0,n.useQuery)({enabled:t,gcTime:0,queryFn:async()=>{try{let t=e?"".concat(l,"?contentType=").concat(encodeURIComponent(e)):l;return(await (0,o.OT)(t)).data.bookmarks}catch(e){if(e&&"object"==typeof e&&"status"in e&&(404===e.status||401===e.status))return[];throw e}},queryKey:e?u.byContentType(e):u.all,staleTime:0})}function m(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await (0,o.OT)(l,{body:e,method:"POST"})).data,onSuccess:(t,a)=>{e.setQueryData(u.byContentId(a.contentId),a),e.invalidateQueries({queryKey:u.all}),e.invalidateQueries({queryKey:u.byContentType(a.contentType)}),e.invalidateQueries({queryKey:["bookmarks"]}),e.invalidateQueries({queryKey:["savedContentList"]})}})}function y(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await (0,o.OT)(l,{body:{contentId:e},method:"DELETE"}),e),onSuccess:t=>
1{e.setQueryData(u.byContentId(t),null),e.invalidateQueries({queryKey:u.all}),e.invalidateQueries({queryKey:["bookmarks"]}),e.invalidateQueries({queryKey:["savedContentList"]})}})}function h(){let e=m(),t=y();return{addBookmark:e.mutate,addBookmarkAsync:e.mutateAsync,addBookmarkError:e.error,error:e.error||t.error,isAddingBookmark:e.isPending,isLoading:e.isPending||t.isPending,isRemovingBookmark:t.isPending,removeBookmark:t.mutate,removeBookmarkAsync:t.mutateAsync,removeBookmarkError:t.error}}},45361:(e,t,a)=>{a.d(t,{I:()=>d});var n=a(99776),r=a(53455),s=a(80549),o=a(31306),i=a(80946),u=a(84573);let l=["savedVehicles"];function d(e){let t=(0,n.useQueryClient)(),{data:a}=(0,u.Q)(),d=!!(null==a?void 0:a.email),c=[...l,d],{data:m=[],error:y,isLoading:h}=(0,r.useQuery)({enabled:void 0===e&&d,initialData:e||void 0,queryFn:async()=>{try{var e;return(null==(e=(await (0,o.OT)("/nwapi/mt-user-data/user-vehicles")).data)?void 0:e.vehicles)||[]}catch(e){if(e&&"object"==typeof e&&"status"in e&&404===e.status)return[];throw Error("Failed to fetch saved vehicles")}},queryKey:c}),v=(0,s.useMutation)({mutationFn:async e=>{if(!i.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED||!d)return;let t=[];try{var a;t=(null==(a=(await (0,o.OT)("/nwapi/mt-user-data/user-vehicles")).data)?void 0:a.vehicles)||[]}catch(e){if(e&&"object"==typeof e&&"status"in e&&404===e.status)t=[];else throw Error("Failed to fetch current saved vehicles")}if(t.some(t=>t.contentId===e.contentId))throw Error("Vehicle already saved");let n=[...t,e];return(0,o.OT)("/nwapi/mt-user-data/user-vehicles",{body:{vehicles:n},method:"POST"})},onSuccess:e=>{t.setQueryData(c,e.data.vehicles)}}),p=(0,s.useMutation)({mutationFn:async e=>{if(!i.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED||!d)return;let a=(t.getQueryData(c)||[]).filter(t=>t.contentId!==e);return(0,o.OT)("/nwapi/mt-user-data/user-vehicles",{body:{vehicles:a},method:"POST"})},onSuccess:e=>{t.setQueryData(c,e.data.vehicles)}}),f=(0,s.useMutation)({mutationFn:async e=>{let{contentId:a,status:n}=e;if(!i.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED||!d)return;let r=(t.getQueryData(c)||[]).map(e=>e.contentId===a?{...e,ownershipStatus:n}:e);return(0,o.OT)("/nwapi/mt-user-data/user-vehicles",{body:{vehicles:r},method:"POST"})},onSuccess:e=>{t.setQueryData(c,e.data.vehicles)}});return{addVehicle:v.mutateAsync,error:y,isAddingVehicle:v.isPending,isLoading:h,isRemovingVehicle:p.isPending,isUpdatingOwnership:f.isPending,removeVehicle:e=>{p.mutate(e)},updateOwnershipStatus:f.mutate,vehicles:m}}},63631:(e,t,a)=>{a.d(t,{X:()=>l});var n=a(95155),r=a(85409),s=a(89440),o=a.n(s),i=a(92062),u=a(65121);function l(e){let{contentType:t,errorMessage:a,isLoading:s=!1,isOpen:l,onCancel:d,onConfirm:c}=e,m={article:"article",comparison:"comparison",standardArticle:"article",vehicle:"vehicle",video:"video"}[t]||"item";return(0,n.jsxs)(i.aF,{className:"bg-neutral-8 dark:bg-neutral-1 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] top-[50%] left-[50%] w-full max-w-120 translate-x-[-50%] translate-y-[-50%] rounded-2xl p-8 shadow-lg duration-200","data-id":"unsave-modal",onClose:d,open:l,children:[(0,n.jsx)("button",{"aria-label":"Close",className:"text-neutral-2 dark:text-neutral-8 hover:bg-neutral-7 hover:text-neutral-2 dark:hover:bg-neutral-3 dark:hover:text-neutral-8 absolute top-4 right-4 flex items-center justify-center rounded p-2 transition-colors","data-id":u.Co.UnsaveModalCloseButton,onClick:d,type:"button",children:(0,n.jsx)(o(),{path:r.hyP,size:.8})}),(0,n.jsxs)("div",{className:"flex items-start gap-4",children:[(0,n.jsx)("div",{className:"text-primary-1 flex-shrink-0",children:(0,n.jsx)(o(),{path:r.VX1,size:1})}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)(i.o5,{className:"text-neutral-2 dark:text-neutral-8 mb-4 pr-6",disableColorScheme:!0,variant:"body2",children:"Are you sure you want to remove this ".concat(m," from your saved items?")}),a&&(0,n.jsx)("div",{className:"mb-4",children:(0,n.jsx)(i.Fc,{severity:"error",children:a})}),(0,n.jsxs)("div",{className:"flex justify-end gap-4",children:[(0,n.jsx)(i.$n,{className:"dark:!bg-neutral-4 dark:!text-neutral-8 hover:dark:!bg-neutral-5",colorScheme:"neutral-6","data-id":u.Co.UnsaveModalCancelButton,disabled:s,onClick:d,size:"medium",variant:"contained",children:"Cancel"}),(0,n.jsx)(i.$n,{"aria-busy":s,colorScheme:"primary-2","data-id":"unsave-modal-remove-".concat(m),disabled:s,onClick:c,size:"medium",variant:"contained",children:s?"Removing...":"Remove"})]})]})]})]})}},84573:(e,t,a)=>{a.d(t,{Q:()=>d,q:()=>c});var n=a(12115),r=a(99776),s=a(53455),o=a(31306),i=a(80946),u=a(61562);let l=new BroadcastChannel("auth-events");function d(){let e=(0,r.useQueryClient)(),t=i.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED;return(0,n.useEffect)(()=>
1{if(!l||!t)return;let a=t=>{"logout"===t.data&&e.setQueryData(["session"],null)};return l.addEventListener("message",a),()=>l.removeEventListener("message",a)},[e,t]),(0,s.useQuery)({enabled:t,queryFn:async()=>{try{return await (0,o.OT)("/nwapi/auth/session",{responseType:"json",retry:!1})}catch(e){if((null==e?void 0:e.status)===401)return null;throw e}},queryKey:["session"],refetchOnReconnect:!0,refetchOnWindowFocus:!0,retry:1,staleTime:5*u.kp})}function c(){null==l||l.postMessage("logout")}}}]); 2//# sourceMappingURL=4812-3158085a14022de8.js.map
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.