1import{n as s,t as r}from"./chunk-DbBkvicD.js";import{h as Ei}from"./chunk-DF3w6kHy.js";import{Et as Pt,Gt as T,Mn as bw,Nr as mu,Nt as RD,Oi as ww,Or as ls,Ot as Pw,Pn as cf,Ri as yb,St as Nw,Ti as wm,V as Ib,W as Iu,Wt as Sw,Zn as em,ar as gc,f as CC,j as Eu,si as tm,tt as Ke,xn as af,xr as kg}from"./chunk-_fV1tyTy.js";import{a as FM,it as ht}from"./chunk-CcnACUVT.js";import"./chunk-DY-sCj3Y.js";import"./chunk-a8GorKY_.js";import"./chunk-BcT1cO3W.js";import"./chunk-CBRxziiv.js";import"./chunk-D4099GZ6.js";import"./chunk-BlJt4aAj.js";import"./chunk-BTbRCfLL.js";import"./chunk-ZMHLakvV.js";import"./chunk-Bo2ivXgG.js";import"./chunk-DzRhP6XP.js";import{h as Oa}from"./chunk-B3z6Q9_E.js";import"./chunk-DQB7aHPn.js";import"./chunk-Csb4ZZbf.js";import"./chunk-B1CRaPWu.js";import"./chunk-B9SLN9ac.js";import"./chunk-Tz18b5xN.js";import"./chunk-DmeYVKB6.js";import"./chunk-CftPbxhE.js";import"./chunk-BKFUMIo1.js";import"./chunk-DsEc6icP.js";import"./chunk-BJ3EJ7dn.js";import"./chunk-T8rP0Qdo.js";import"./chunk-okNM0rDn.js";import"./chunk-Bszx8yH2.js";import"./chunk-QxxllaMq.js";import"./chunk-DeZn7ZLr.js";import"./chunk-CfBKeYha.js";import"./chunk-zvQj0QEi.js";import"./chunk-CmVqUbyk.js";import"./chunk-Q3jJF_tb.js";import"./chunk-BVymwKWh.js";import"./chunk-CgsK6YS02.js";import"./chunk-C7dAIrme2.js";import"./chunk-MGpd6H6X2.js";import"./chunk-CvenkfAY2.js";import"./chunk-DQTdIlzc2.js";import"./chunk-BEXEbO_02.js";import"./chunk-CKAj7eP82.js";import"./chunk-LlNgzsiH2.js";import{t}from"./chunk-C1fI3aoN2.js";import"./chunk-BqW3oK1b2.js";import"./chunk-BhWke7Z_2.js";import"./chunk-KoJ1jYc62.js";import"./chunk-BDzRkGtR2.js";import"./chunk-AqE9X9Ru2.js";import"./chunk-C1aK-LMj2.js";import"./chunk-Cr9yfTcF2.js";import"./chunk-C3xyMKJh2.js";import"./chunk-ChAooETp2.js";import"./chunk-Khof_Csw2.js";import{N as d}from"./main-GKHQLQOL.js";import"./chunk-DdcKKYoS2.js";import"./chunk-C0ReplUV2.js";import{H as t$1,i as kt}from"./chunk-DvPvWwsk2.js";import"./chunk-BsMac9Ge2.js";import"./chunk-4J7wTv6o2.js";import"./chunk-BZBUN2aA2.js";import"./chunk-DwHXrA1t.js";import"./chunk-CXCHD7I_.js";import"./chunk-CoV3h9MZ.js";import"./chunk-BzLLFsus.js";import"./chunk-DDfrNT7I.js";import"./chunk-CyHPjif9.js";import"./chunk-D0s46nYE.js";import{n as z}from"./chunk-DwDgDysz.js";import"./chunk-C-j8wG-s.js";import"./chunk-C0g4KWeU.js";import"./chunk-C9kek_Tt.js";import"./chunk-CbF5G8xQ.js";import"./chunk-TFxk3u6e.js";import"./chunk-Bwl9pTRN.js";import"./chunk-C5yMiVO2.js";import"./chunk-D-R5OF-c.js";import"./chunk-CKrfbSw-.js";import"./chunk-CRg6kdMD.js";import{t as Fe}from"./chunk-DN2KAG88.js";import"./chunk-pqDKjcI5.js";import"./chunk-CTWYbse0.js";import"./chunk-CVW_oHzS.js";import{n as Qe}from"./chunk-BMvOsOeY.js";import"./chunk-hl3QnsvC.js";import"./chunk-BTip6uZ4.js";import"./chunk-CC2JlmGl.js";import"./chunk-CpuAYkYp.js";import"./chunk-DQ16MVJ0.js";import"./chunk-De4_Y6z8.js";import"./chunk-0S5FZhPy.js";import"./chunk-D_hz_uoY.js";import{t as me}from"./chunk-BI1A2TKi.js";import"./chunk-CRbis6P7.js";import{t as v}from"./chunk-BabsSXE92.js";import{t as V}from"./chunk-CRjXtyuq.js";import{n as je,r as l}from"./chunk-exh3x016.js";import{t as C}from"./chunk-B74NFDxp.js";import"./chunk-uO928TyV.js";import{t as ae}from"./chunk-B8c-W6Op2.js";var Q;var tt=(i,r)=>r.id;function et(i,r){if(i&1){let t=Pw();ls(0,`li`,4)(1,`aq-product-card-inline`,6),Eu(2,7),ls(3,`div`,8)(4,`aq-button`,9),wm(`click`,function(){let o=af(t).$implicit;return cf(Ib(3).addToCart(o))}),mu(),ls(5,`aq-button`,10),wm(`click`,function(){let o=af(t).$implicit;return cf(Ib(3).remove(o))}),mu()(),Iu(),mu()()}if(i&2){let t=r.$implicit,e=Ib(3);RD(),em(`config`,e.productCardConfigs().get(t.id)),RD(3),em(`config`,e.controls.addToCart)(`disabled`,!e.isAddableToCart(t)),RD(),em(`config`,e.controls.remove)}}function it(i,r){if(i&1&&tm(0,`aq-recommendation-strip`,5),i&2)em(`recommendations`,Ib(3).favoritesRecs())}function ot(i,r){if(i&1&&(ls(0,`div`,2)(1,`ul`,3),Sw(2,et,6,4,`li`,4,tt),mu()(),ww(4,it,1,1,`aq-recommendation-strip`,5)),i&2){let t=Ib(2);RD(2),Nw(t.items()),RD(2),bw(t.favoritesRecs().length>0?4:-1)}}function nt(i,r){i&1&&(ls(0,`div`,1)(1,`div`,11),yb(2,0),mu()())}function rt(i,r){if(i&1&&ww(0,ot,5,1)(1,nt,3,0,`div`,1),i&2)bw(Ib().hasItems()?0:1)}function at(i,r){i&1&&tm(0,`aq-product-list-loader`)}var st={addToCart:{type:`responsive`,icon:`add_shopping_cart`,title:$localize`Add to cart`,tooltip:$localize`Add to shopping cart`},remove:{type:`responsive`,icon:`delete`,title:$localize`Remove`}};var dt=[];var ct=[];var y=(()=>{class i{controls=st;#i=FM(Q);#o=T(Qe);#e=T(V);#r=T(t);#n=T(t$1);#a=T(z);#s=T(Oa);#d=T(je);#t=Ke({items:[],loading:!0,error:null});items=Pt(()=>this.#t().items);isLoading=Pt(()=>this.#t().loading);hasItems=Pt(()=>!Ei(this.items()));productCardConfigs=Pt(()=>{let t=new Map;for(let e of this.items())t.set(e.id,{product:e.id,elapsed:this.getItemElapsed(e),price:!0,showRatings:!0});return t});#c=Pt(()=>{let t=this.#n.snapshotSignal(),e=this.items();if(!t||!e.length)return ct;let o=[];for(let n of e){let s=l(t.products,`${n.id}?`);s&&o.push(s)}return o}
1);favoritesRecs=this.#d.deriveFavoritesRecs(this.#c);constructor(){this.#a.addAction(d.FavoritesView),this.#n.takeSnapshot().catch(t=>{this.#i.error(`Failed to load retail snapshot`,t),this.#t.update(e=>s(r({},e),{loading:!1,error:t}))}),gc(()=>{let t=this.#n.snapshotSignal(),e=this.#e.isReadySignal(),o=this.#e.list.itemsSignal();if(!t||!e){this.#t.update(n=>s(r({},n),{items:dt,loading:!0}));return}this.#m(t,o)})}isAddableToCart(t){return!this.#o.hasItem(t)&&this.#o.isAddable(t)}addToCart(t){this.#o.add(t.id,!0)}remove(t){this.#e.remove(t,!0)}getItemElapsed(t){return t.timestamp?{prefix:$localize`Added`,from:t.timestamp}:null}#l(t,e){let o=t.products.getVariants(),n=[];return{valid:e.filter(c=>o.findById(c)?!0:(n.push(c),!1)),removed:n}}async#m(t,e){try{let{valid:o,removed:n}=this.#l(t,e);if(this.#t.update(s$1=>s(r({},s$1),{items:o,loading:!1})),this.#s.setPageToolbarStatus({items:[{title:` `+(o.length>1?$localize`items`:$localize`item`),value:o.length}]}),!Ei(n)){await Promise.all(n.map(c=>this.#e.remove(c,!1)));let s=this.#r.validUserSignal()?.id??`unknown`;this.#i.warn(`Removed defunct variant entries [${n.map(c=>ht(c)).join(`, `)}] in the favorites of [${s}]`)}}catch(o){this.#i.error(`Failed to refresh favorites`,o),this.#t.update(n=>s(r({},n),{loading:!1,error:o}))}}static ɵfac=function(e){return new(e||i)};static ɵcmp=CC({type:i,selectors:[[`aq-favorites`]],hostAttrs:[1,`favorites-component-host`],decls:2,vars:1,consts:()=>{let t;t=$localize`:â40d830dfdc99a2862f84f3c17b4767aeba805da3â1728977931500354035:You might also like`;let e;return e=$localize`:â90386bd0f40129fcd567c7ec20153b7dc604adceâ8650508950921656417: You have no favorites `,[e,[1,`absolute-center`],[1,`aq-card`,`mobile-blend-in`,`full-page-width`],[`card-list`,``],[`card-list-item`,``,`bottom-controls`,``],[`title`,t,`surface`,`favorites`,1,`mt-8`,`px-4`,3,`recommendations`],[1,`page-content`,3,`config`],[`controls`,``],[1,`flex`,`w-full`,`flex-row`,`justify-around`,`sm:h-full`,`sm:w-min`,`sm:flex-col`,`sm:items-start`,`sm:justify-start`,`sm:space-y-3`],[3,`click`,`config`,`disabled`],[3,`click`,`config`],[1,`title`,`mt-4`,`text-center`,`text-2xl`,`font-medium`]]},template:function(e,o){e&1&&ww(0,rt,2,1)(1,at,1,0,`aq-product-list-loader`),e&2&&bw(o.isLoading()?1:0)},dependencies:[Fe,kt,ae,C,me],styles:[`[_nghost-%COMP%]{display:contents} 2`]})}return i})();Q=y;var lt=`Your Favorite Products`;var Vt=(()=>{class i extends v{staticTitle=lt;constructor(){super(),this.initializePage({maxWidth:1080,screen:`dashboard`,descriptor:i}),this.layout.setPageToolbarHeader({title:`favorites`,image:{source:`bookmark`,alt:`Favorite icon`}}),this.destroyRef.onDestroy(()=>{this.layout.resetPageToolbar()})}static ɵfac=function(e){return new(e||i)};static ɵcmp=CC({type:i,selectors:[[`ng-component`]],features:[kg],decls:1,vars:0,template:function(e,o){e&1&&tm(0,`aq-favorites`)},dependencies:[y],encapsulation:2})}return i})();export{Vt as FavoritesPageComponent};
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.