1"use strict";(self["webpackChunkwickman"]=self["webpackChunkwickman"]||[]).push([[9025],{9025:function(t,e,i){i.d(e,{A:function(){return R}});var s=i(641),a=i(3751),r=i(33),o=i(7838);const d={class:"modal nunito-sans-light bg-white p-4 md:p-12 shadow-md w-full md:w-11/12 max-w-4xl mx-auto relative overflow-y-auto max-h-screen"},n={key:0},l={key:1,class:"flex flex-col md:flex-row gap-6"},u={class:"w-full md:w-1/2"},c=["src"],m={class:"flex space-x-2 md:space-x-4 overflow-x-auto"},h=["src","onClick"],g={class:"w-full md:w-1/2 space-y-4"},p={class:"flex justify-between items-center mt-2 text-gray-500 text-sm"},b={class:"text-lg md:text-xl text-gray-800 raleway-custom"},f={class:"flex flex-col md:flex-row"},y={class:"flex-1 text-center border p-4"},x={class:"text-gray-800 text-lg font-bold"},w={class:"flex-1 text-center border-t border-b md:border-r p-4"},k={class:"text-[#8a2432] text-lg font-bold"},v={key:0},C={key:1},L={key:0,class:"flex"},B={class:"text-[#8a2432] text-sm"},A={key:0},_={key:1},I={key:1,class:"flex items-center space-x-2 relative"},E={key:0,class:"flex items-center w-full text-[#28A34B] text-[12px] border-t bg-[#f0fff5] border-b border-l-2 p-2 border-[#28A34B] border-r"},F={key:1,class:"flex items-center w-full text-[#FFA500] text-[12px] border-t bg-[#EDF5FF] border-b border-l-2 p-2 border-[#FFA500] border-r"},P={key:2,class:"flex items-center w-full text-[#DA1E28] text-[12px] border-t bg-[#FFF1F1] border-b border-l-2 p-2 border-[#DA1E28] border-r"},$={class:"p-6 bg-red-100"},S={class:"flex flex-col sm:flex-row sm:items-center relative"},D={class:"relative flex-grow"},X=["innerHTML"];function M(t,e,M,T,H,O){const Q=(0,s.g2)("LoadingSpinner"),U=(0,s.g2)("BidConfirmation");return H.showModal?((0,s.uX)(),(0,s.CE)("div",{key:0,class:"overlay",onClick:e[6]||(e[6]=(0,a.D$)((...t)=>O.handleOverlayClick&&O.handleOverlayClick(...t),["self"]))},[(0,s.Lk)("div",d,[(0,s.Lk)("button",{class:"absolute top-2 right-3 text-gray-500 hover:text-gray-800",onClick:e[0]||(e[0]=(...t)=>O.handleOverlayClick&&O.handleOverlayClick(...t))},[...e[7]||(e[7]=[(0,s.Lk)("img",{src:o,alt:"Close",class:"w-4 h-4 mt-2 mr-2"},null,-1)])]),H.isLoadingProduct?((0,s.uX)(),(0,s.CE)("div",n,[(0,s.bF)(Q)])):H.product?((0,s.uX)(),(0,s.CE)("div",l,[(0,s.Lk)("div",u,[(0,s.Lk)("div",null,[(0,s.Lk)("img",{src:H.selectedImage&&H.selectedImage.path?`${t.$baseURL}/${H.selectedImage.path}`:i(4130),alt:"Product Image",class:"w-full object-cover border border-grey mb-4"},null,8,c)]),(0,s.Lk)("div",m,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(H.product.images,(e,a)=>((0,s.uX)(),(0,s.CE)("div",{key:a,class:"cursor-pointer"},[(0,s.Lk)("img",{src:e.path?`${t.$baseURL}/${e.path}`:i(4130),alt:"Product Thumbnail",class:(0,r.C4)(["w-16 h-16 md:w-24 md:h-24 object-cover border",{"border-[#8a2432]":H.selectedImage===e,"border-grey":H.selectedImage!==e}]),onClick:t=>O.selectImage(e)},null,10,h)]))),128))])]),(0,s.Lk)("div",g,[(0,s.Lk)("div",p,[(0,s.Lk)("p",null,"Lot #"+(0,r.v_)(H.product.lot_number),1)]),(0,s.Lk)("h1",b,(0,r.v_)(H.product.lot_title),1),(0,s.Lk)("div",f,[(0,s.Lk)("div",y,[e[8]||(e[8]=(0,s.Lk)("p",{class:"text-gray-500 text-sm"},"Starting Bid:",-1)),(0,s.Lk)("p",x,"$"+(0,r.v_)(H.product.starting_bid||"0.00"),1)]),(0,s.Lk)("div",w,[e[9]||(e[9]=(0,s.Lk)("p",{class:"text-[#8a2432] text-sm"},"Current Bid:",-1)),(0,s.Lk)("p",k,[H.isLoadingBid?((0,s.uX)(),(0,s.CE)("span",v,"--")):((0,s.uX)(),(0,s.CE)("span",C,"$"+(0,r.v_)(H.currentBid),1))])])]),null!==H.minimumBid?((0,s.uX)(),(0,s.CE)("div",L,[e[10]||(e[10]=(0,s.Lk)("p",{class:"text-[#000] text-sm pr-2"},"Minimum Acceptable Bid",-1)),(0,s.Lk)("p",B,[H.isLoadingBid?((0,s.uX)(),(0,s.CE)("span",A,"Loading...")):((0,s.uX)(),(0,s.CE)("span",_,"$"+(0,r.v_)(H.minimumBid),1))])])):(0,s.Q3)("",!0),H.message?((0,s.uX)(),(0,s.CE)("div",I,["success"===H.message.type?((0,s.uX)(),(0,s.CE)("p",E,(0,r.v_)(H.message.text),1)):"info"===H.message.type?((0,s.uX)(),(0,s.CE)("p",F,(0,r.v_)(H.message.text),1)):"error"===H.message.type?((0,s.uX)(),(0,s.CE)("p",P,(0,r.v_)(H.message.text),1)):(0,s.Q3)("",!0),(0,s.Lk)("button",{onClick:e[1]||(e[1]=t=>H.message=null),class:"absolute right-2 top-1.5 text-gray-400 hover:text-gray-700 focus:outline-none","aria-label":"Close message"},[...e[11]||(e[11]=[(0,s.Lk)("img",{src:o,alt:"Close",class:"w-3 mt-1.5 h-3"},null,-1)])])])):(0,s.Q3)("",!0),(0,s.Lk)("div",$,[(0,s.Lk)("div",S,[(0,s.Lk)("div",D,[e[12]||(e[12]=(0,s.Lk)("span",{class:"absolute left-4 top-1/2 transform -translate-y-1/2 text-black font-bold"},"$",-1)),(0,s.bo)((0,s.Lk)("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=t=>
1H.bidAmount=t),placeholder:"Enter Bidding Amount",class:"w-full pl-8 px-4 py-2 focus:outline-none focus:ring focus:ring-red-300"},null,512),[[a.Jo,H.bidAmount]])]),(0,s.Lk)("button",{class:"bg-[#8a2432] text-white px-4 py-2 hover:bg-gray-900 focus:outline-none focus:ring focus:ring-red-400 sm:w-36 sm:mt-0 mt-2 w-full w-auto",onClick:e[3]||(e[3]=(...t)=>O.submitBid&&O.submitBid(...t))}," Bid Now ")])]),H.myStatus?((0,s.uX)(),(0,s.CE)("div",{key:2,class:(0,r.C4)([{"text-[#28A34B] border-[#28A34B] bg-[#f0fff5]/10":"winning"===H.winStatus,"text-[#DA1E28] border-[#DA1E28] bg-[#FFF1F1]/10":"winning"!==H.winStatus},"mt-4 text-sm border py-2 px-4"]),innerHTML:H.myStatus},null,10,X)):(0,s.Q3)("",!0),(0,s.Lk)("div",{class:"mt-4",onClick:e[5]||(e[5]=(0,a.D$)((...t)=>O.handleOverlayClick&&O.handleOverlayClick(...t),["self"]))},[(0,s.Lk)("button",{class:"text-[#8a2432] font-medium",onClick:e[4]||(e[4]=(...t)=>O.redirectToProductPage&&O.redirectToProductPage(...t))}," View Details ")])])])):(0,s.Q3)("",!0)]),H.showBidConfirmation&&H.bidConfirmItem?((0,s.uX)(),(0,s.Wv)(U,{key:0,title:H.bidConfirmItem.lot_title,bidAmount:parseFloat(H.bidConfirmItem.bidAmount),slug:H.bidConfirmItem.slug,onConfirm:O.confirmBid,onDecline:O.declineBid},null,8,["title","bidAmount","slug","onConfirm","onDecline"])):(0,s.Q3)("",!0)])):(0,s.Q3)("",!0)}var T=i(4910),H=i(8987),O=i(592),Q=i(2536),U=i(6654),z={props:{slug:{type:String,required:!0}},data(){return{bidAmount:"",message:null,isFavorite:!1,loading:!1,currentBid:null,showModal:!0,minimumBid:null,selectedImage:null,product:null,isLoadingProduct:!0,isLoadingBid:!0,myStatus:null,winStatus:null,current_winner:null,showBidConfirmation:!1,bidConfirmItem:null}},mounted(){this.fetchProductDetails(),this.initializePusher()},methods:{async fetchProductDetails(){const t=this.slug;if(!t)return this.message={text:"Product slug is missing.",type:"error"},void(this.isLoadingProduct=!1);const e=`/lots/detail?s=${t}`;this.isLoadingProduct=!0;try{const t=await T.Ay.get(e);if(!t.data||!t.data.data)throw new Error("No product data found.");this.product=t.data.data,this.product.images&&Array.isArray(this.product.images)&&this.product.images.length>0?(this.product.images=this.product.images.map(t=>(t.path=t.path?`storage/${t.path}`:null,t)),this.selectedImage=this.product.images[0]||{path:null}):this.selectedImage={path:null},this.currentBid=this.product.wining_amount||0,this.fetchBidDetails()}catch(i){this.message={text:i.message||"Failed to fetch product details",type:"error"},this.selectedImage={path:null}}finally{this.isLoadingProduct=!1}},async fetchBidDetails(){if(!this.product||!this.product.id)return this.minimumBid=null,void(this.isLoadingBid=!1);const t=H.A.get("token");if(!t)return this.minimumBid=null,this.myStatus=null,void(this.isLoadingBid=!1);this.isLoadingBid=!0;try{const e=await T.Ay.get(`/bid-details?lot_id=${this.product.id}`,{headers:{Authorization:`Bearer ${t}`}});e.data&&(this.minimumBid=e.data.minimum_bid||0,this.myStatus=e.data.my_status||null,this.current_winner=e.data.uid,this.winStatus=e.data.winstatus||null)}finally{this.isLoadingBid=!1}},async submitBid(){this.message=null;const t=parseFloat(this.bidAmount);if(!this.bidAmount||isNaN(t)||t<=0)return this.message={text:"Please enter a valid bid amount.",type:"error"},void this.autoHideMessage();if(t<this.minimumBid)return this.message={text:`Please enter a bid of at least $${this.minimumBid}.`,type:"error"},void this.autoHideMessage();const e=H.A.get("token");if(!e)return this.message={text:"You are not authenticated. Please log in.",type:"error"},this.autoHideMessage(),void setTimeout(()=>{this.$router.push({name:"LoginUser"})},1e3);this.bidConfirmItem={...this.product,bidAmount:this.bidAmount},this.showBidConfirmation=!0},async confirmBid(){const t=parseFloat(this.bidConfirmItem.bidAmount),e=H.A.get("token");this.showBidConfirmation=!1;this.bidConfirmItem;this.bidConfirmItem=null,this.loading=!0;try{const i=await T.Ay.post("/bids",{auction_id:this.product.auction_id,lot_id:this.product.id,bid_amount:t},{headers:{Authorization:`Bearer ${e}`}});i.data.success?(i.data.info?this.message={text:i.data.info,type:"info"}:this.message={text:i.data.message,type:"success"},this.currentBid=i.data.data.bid.bid_amount,this.minimumBid=i.data.data.minimum_acceptable_bid,this.myStatus=i.data.data.my_status,this.bidAmount="",this.winStatus=i.data.data.winstatus,this.current_winner=i.data?.bid?.uid):this.message={text:i.data.message,type:"error"}}catch(i){console.error("Error placing bid:",i),i.response&&i.response.data&&i.response.data.error?this.message={text:i.response.data.error,type:"error"}:i.message?this.message={text:i.message,type:"error"}:this.message={text:"An error occurred. Please try again.",type:"error"}}finally{this.loading=!1}this.autoHideMessage()},declineBid(){this.showBidConfirmation=!1,this.bidConfirmItem=null},autoHideMessage(){setTimeout(()=>{this.message=null},15e3)}
1,selectImage(t){this.selectedImage=t},handleOverlayClick(){this.showModal=!1,document.body.style.overflow="",this.$emit("close")},redirectToProductPage(){try{const t=decodeURIComponent(this.product.slug),e=`/lot/${t}`;window.location.href=e}catch(t){console.error("Error decoding slug or navigating:",t)}},initializePusher(){(0,U.U)("my-channel","my-event",this.updateBidDetails)},updateBidDetails(t){this.product&&this.product.id==t.bid.lot_id&&(this.currentBid=t.bid.bid_amount,this.minimumBid=t.minimum_acceptable_bid,H.A.get("uid")==t.bid.uid&&t.bid.uid>0&&(this.winStatus="winning",this.myStatus=t.winmsg),H.A.get("uid")==t.puid&&t.puid>0&&(this.winStatus="loosing",this.myStatus=t.loosemsg),this.current_winner=t.bid.uid)}},watch:{showModal(t){document.body.style.overflow=t?"hidden":""}},components:{LoadingSpinner:O.A,BidConfirmation:Q.A}},N=i(6262);const j=(0,N.A)(z,[["render",M]]);var R=j}}]); 2//# sourceMappingURL=9025.9182052d.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.