PageSourceSearch

https://prod.mechai.app/chunk-P35NJIS3.js

js mechai.app collected 2026-09-25 03:05:55 UTC 14,307 bytes, 1 lines download raw bytes

1import{a as f}from"./chunk-AEQSII3I.js";import{a as q}from"./chunk-VFAZ3Q4T.js";import"./chunk-IOWK2ZA4.js";import{a as O,b as K,c as G}from"./chunk-63WPN3LH.js";import"./chunk-DDBA5CYP.js";import{db as z}from"./chunk-N6RRKPMH.js";import"./chunk-FJFH4XCE.js";import"./chunk-RWQTLYTV.js";import"./chunk-L7WATY32.js";import"./chunk-2RDPNIM6.js";import{e as $}from"./chunk-XPR5ELEW.js";import"./chunk-GGY6QDTV.js";import"./chunk-5IJU7MQ2.js";import"./chunk-LM6BYTWK.js";import"./chunk-ZWZG7L3J.js";import"./chunk-UXZT3DCY.js";import{o as j}from"./chunk-ECXCM7JU.js";import"./chunk-7DHSGR33.js";import"./chunk-QO327RTO.js";import"./chunk-4MYWE7CD.js";import"./chunk-RS4X3CMD.js";import{j as N}from"./chunk-EWPP756Y.js";import"./chunk-I5EQON52.js";import{b as D,c as U,d as A}from"./chunk-G6PWMA7J.js";import{$a as V,Jc as B,Jd as H,Kc as I,Qb as c,Qc as s,Rb as r,Rc as p,Sb as o,Sc as M,Tb as v,Xb as E,Yb as T,ac as y,cc as k,db as i,ec as d,fd as F,mb as u,oa as _,pa as b,qa as S,ra as C,rc as P,sb as L,sc as l,tc as h,uc as m,wd as R,xd as Y,yb as x}from"./chunk-IQ6SK2BU.js";import"./chunk-AMJ4GB2S.js";import"./chunk-WGJEEJGF.js";import"./chunk-6ACFICIG.js";import"./chunk-K7BHMZHH.js";import"./chunk-FE7444LI.js";import"./chunk-OXDKANHF.js";import"./chunk-XUHYVR5R.js";var W=()=>[1,2],J=e=>({date:e}),X=e=>["/v2/my-shop",e,"history"];function Z(e,w){e&1&&(r(0,"div",10),v(1,"div",11)(2,"div",12),o())}function tt(e,w){e&1&&(r(0,"div",8),x(1,Z,3,0,"div",9),o()),e&2&&(i(),c("ngForOf",B(1,W)))}function et(e,w){if(e&1){let t=y();r(0,"div",13)(1,"p",14),l(2),s(3,"translate"),o(),r(4,"button",15),k("click",function(){_(t);let a=d();return b(a.retry())}),l(5),s(6,"translate"),o()()}e&2&&(i(2),m(" ",p(3,2,"V2.MY_SHOP.LOAD_FAILED")," "),i(3),m(" ",p(6,4,"V2.MY_SHOP.RETRY")," "))}function it(e,w){e&1&&(r(0,"div",16)(1,"div",17),S(),r(2,"svg",18),v(3,"path",19),o()(),C(),r(4,"p",20),l(5),s(6,"translate"),o(),r(7,"p",21),l(8),s(9,"translate"),o()()),e&2&&(i(5),h(p(6,2,"V2.MY_SHOP.EMPTY_TITLE")),i(3),h(p(9,4,"V2.MY_SHOP.EMPTY_BODY")))}function nt(e,w){if(e&1&&(r(0,"a",38),S(),r(1,"svg",39),v(2,"path",40),o(),l(3),s(4,"translate"),o()),e&2){let t=d().$implicit;c("href","tel:"+t.shopPhone,V),i(3),m(" ",p(4,2,"V2.MY_SHOP.CALL")," ")}}function rt(e,w){if(e&1&&(r(0,"a",41),l(1),s(2,"translate"),o()),e&2){let t=d().$implicit;c("routerLink",I(4,X,t.linkId)),i(),m(" ",p(2,2,"V2.CUSTOMER_HISTORY.TITLE")," ")}}function ot(e,w){e&1&&(r(0,"div",42),l(1),s(2,"translate"),o()),e&2&&(i(),m(" ",p(2,1,"V2.MY_SHOP.NO_REPAIR_ORDERS")," "))}function at(e,w){if(e&1&&(r(0,"div",45)(1,"div",46)(2,"div",27)(3,"p",47),l(4),o(),r(5,"p",48),l(6),o()(),r(7,"span",49),l(8),o()(),r(9,"p",50),l(10),s(11,"translate"),o()()),e&2){let t=w.$implicit,n=d(3);i(4),h(t.title),i(2),h(t.vehicleLabel),i(),P("mshop-status-pill "+n.roStatusClass(t.status)),i(),m(" ",n.roStatusLabel(t.status)," "),i(2),m(" ",M(11,6,"V2.MY_SHOP.UPDATED",I(9,J,n.formatDate(t.statusUpdatedAt)))," ")}}function lt(e,w){if(e&1&&(r(0,"div",43),x(1,at,12,11,"div",44),o()),e&2){let t=d().$implicit,n=d();i(),c("ngForOf",t.repairOrders)("ngForTrackBy",n.trackByRoId)}}function st(e,w){if(e&1){let t=y();E(0),r(1,"button",51),k("click",function(){_(t);let a=d().$implicit,g=d();return b(g.confirmUnlink(a.linkId))}),l(2),s(3,"translate"),o(),T()}e&2&&(i(2),m(" ",p(3,1,"V2.MY_SHOP.UNLINK")," "))}function ct(e,w){if(e&1){let t=y();r(0,"div",52)(1,"p",53),l(2),s(3,"translate"),o(),r(4,"div",54)(5,"button",55),k("click",function(){_(t);let a=d(2);return b(a.cancelUnlink())}),l(6),s(7,"translate"),o(),r(8,"button",56),k("click",function(){_(t);let a=d().$implicit,g=d();return b(g.unlink(a))}),l(9),s(10,"translate"),o()()()}if(e&2){let t=d().$implicit,n=d();i(2),h(p(3,4,"V2.MY_SHOP.UNLINK_CONFIRM_BODY")),i(4),m(" ",p(7,6,"V2.MY_SHOP.UNLINK_CANCEL")," "),i(2),c("disabled",n.revokingLinkId===t.linkId),i(),m(" ",p(10,8,n.revokingLinkId===t.linkId?"V2.COMMON.SAVING":"V2.MY_SHOP.UNLINK_CONFIRM_BUTTON")," ")}}function dt(e,w){if(e&1&&(r(0,"div",22)(1,"div",23)(2,"div",24)(3,"div",25),S(),r(4,"svg",26),v(5,"path",19),o()(),C(),r(6,"div",27)(7,"p",28),l(8),o(),r(9,"p",29),l(10),s(11,"translate"),o()()(),x(12,nt,5,4,"a",30),o(),x(13,rt,3,6,"a",31),r(14,"p",32),l(15),s(16,"translate"),o(),x(17,ot,3,3,"div",33)(18,lt,2,2,"div",34),r(19,"div",35),x(20,st,4,3,"ng-container",36)(21,ct,11,10,"div",37),o()()),e&2){let t=w.$implicit,n=d();i(8),h(t.shopName),i(2),m(" ",M(11,9,"V2.MY_SHOP.LINKED_SINCE",I(14,J,n.formatDate(t.linkedAt)))," "),i(2),c("ngIf",t.shopPhone),i(),c("ngIf",t.historyAvailable),i(2),h(p(16,12,"V2.MY_SHOP.REPAIR_ORDERS_TITLE")),i(2),c("ngIf",t.repairOrders.length===0),i(),c("ngIf",t.repairOrders.length>0),i(2),c("ngIf",n.unlinkConfirmLinkId!==t.linkId),i(),c("ngIf",n.unlinkConfirmLinkId===t.linkId)}}var St=(()=>{class e{constructor(t,n,a,g,Q){this.store=t,this.analytics=n,this.localeService=a,this.translate=g,this.cdr=Q,this.links=[],this.loading=!1,this.loaded=!1,this.revokingLinkId=null,this.error=null,this.unlinkConfirmLinkId=null,this.viewedLogged=!1}ngOnInit(){this.linksSub=this.store.select(f.selectLinks).subscribe(t=>{this.links=t,this.cdr.markForCheck()}),this.loadingSub=this.store.select(f.selectLoading).subscribe(t=>{this.loading=t,this.cdr.markForCheck()}),this.loadedSub=this.store.select(f.selectLoaded).subscribe(t=>{this.loaded=t,t&&!this.viewedLogged&&(this.viewedLogged=!0,this.analytics.logMyShopViewed(this.links.length)),this.cdr.markForCheck()}),this.revokingSub=this.store.select(f.selectRevokingLinkId).subscribe(t=>{this.revokingLinkId=t,this.cdr.markForCheck()}),this.errorSub=this.store.select(f.selectError).subscribe(t=>{this.error=t,this.cdr.markForCheck()}),this.store.dispatch(new O)}ngOnDestroy(){this.linksSub?.unsubscribe(),this.loadingSub?.unsubscribe(),this.loadedSub?.unsubscribe(),this.revokingSub?.unsubscribe(),this.errorSub?.unsubscribe()}retry(){this.store.dispatch(new G),this.store.dispatch(new O(!0))}formatDate(t){return q(t,this.localeService.getActiveLocale(),{month:"short",day:"numeric",year:"numeric"})||"\u2014"}roStatusLabel(t){let n=`V2.MY_SHOP.RO_STATUS.${t.toUpperCase()}`,a=this.translate.instant(n);return a===n?t:a}roStatusClass(t){return`mshop-status-pill--${t.toLowerCase()}`}trackByLinkId(t,n){return n.linkId}trackByRoId(t,n){return n.id}confirmUnlink(t){this.unlinkConfirmLinkId=t}cancelUnlink(){this.unlinkConfirmLinkId=null}unlink(t){this.unlinkConfirmLinkId=null,this.store.dispatch(new K(t.linkId)).subscribe({next:()=>{this.analytics.logShopLinkRevoked("customer"),this.cdr.markForCheck()},error:()=>{}})}static{this.\u0275fac=function(n){return new(n||e)(u(j),u(z),u($),u(D),u(F))}}static{this.\u0275cmp=L({type:e,selectors:[["app-v2-my-shop"]],decls:12,vars:11,consts:[[1,"tw-pb-8"],[1,"tw-mb-6","tw-px-1"],[1,"tw-text-xl","md:tw-text-2xl","tw-font-[800]","tw-text-mech-text","tw-tracking-tight"],[1,"tw-text-[9px]","tw-font-bold","tw-text-mech-text-muted","tw-uppercase","tw-tracking-widest","tw-mt-1","tw-block"],["class","tw-space-y-4","aria-hidden","true",4,"ngIf"],["class","mshop-error-banner tw-flex tw-flex-col tw-items-start tw-gap-3 tw-p-5 tw-rounded-2xl tw-border tw-mb-4",4,"ngIf"],["class","tw-flex tw-flex-col tw-items-center tw-text-center tw-gap-3 tw-py-16 tw-px-6 tw-bg-mech-surface tw-rounded-2xl tw-border tw-border-mech-border",4,"ngIf"],["class","tw-bg-mech-surface tw-rounded-2xl tw-border tw-border-mech-border tw-p-5 tw-mb-4",4,"ngFor","ngForOf","ngForTrackBy"],["aria-hidden","true",1,"tw-space-y-4"],["class","tw-bg-mech-surface tw-rounded-2xl tw-border tw-border-mech-border tw-p-5 tw-animate-pulse",4,"ngFor","ngForOf"],[1,"tw-bg-mech-surface","tw-rounded-2xl","tw-border","t
1w-border-mech-border","tw-p-5","tw-animate-pulse"],[1,"tw-h-4","tw-w-1/3","tw-bg-mech-surface-2","tw-rounded-full","tw-mb-3"],[1,"tw-h-3","tw-w-1/2","tw-bg-mech-surface-2","tw-rounded-full"],[1,"mshop-error-banner","tw-flex","tw-flex-col","tw-items-start","tw-gap-3","tw-p-5","tw-rounded-2xl","tw-border","tw-mb-4"],[1,"tw-text-sm","tw-font-semibold",2,"color","var(--color-danger-text)"],["type","button",1,"mech-btn-secondary","tw-text-sm",2,"min-height","44px",3,"click"],[1,"tw-flex","tw-flex-col","tw-items-center","tw-text-center","tw-gap-3","tw-py-16","tw-px-6","tw-bg-mech-surface","tw-rounded-2xl","tw-border","tw-border-mech-border"],[1,"tw-w-14","tw-h-14","tw-rounded-2xl","tw-bg-mech-primary-50","tw-flex","tw-items-center","tw-justify-center"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"tw-w-6","tw-h-6","tw-text-mech-primary"],["d","M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"],[1,"tw-text-base","tw-font-bold","tw-text-mech-text"],[1,"tw-text-sm","tw-text-mech-text-muted","tw-max-w-xs"],[1,"tw-bg-mech-surface","tw-rounded-2xl","tw-border","tw-border-mech-border","tw-p-5","tw-mb-4"],[1,"tw-flex","tw-items-start","tw-justify-between","tw-gap-3","tw-mb-4"],[1,"tw-flex","tw-items-center","tw-gap-3","tw-min-w-0"],[1,"tw-w-10","tw-h-10","tw-rounded-xl","tw-bg-mech-primary-50","tw-flex","tw-items-center","tw-justify-center","tw-shrink-0"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"tw-w-5","tw-h-5","tw-text-mech-primary"],[1,"tw-min-w-0"],[1,"tw-text-sm","tw-font-bold","tw-text-mech-text","tw-truncate"],[1,"tw-text-xs","tw-text-mech-text-muted"],["class","tw-flex tw-items-center tw-gap-1.5 tw-text-mech-primary tw-text-xs tw-font-bold tw-shrink-0 tw-no-underline tw-px-2","style","min-height: 44px; display: inline-flex; align-items: center",3,"href",4,"ngIf"],["class","mech-btn-secondary tw-inline-flex tw-items-center tw-mb-4 tw-text-sm","style","min-height: 44px",3,"routerLink",4,"ngIf"],[1,"mech-label","tw-mb-2"],["class","tw-text-xs tw-text-mech-text-faint tw-py-3 tw-text-center",4,"ngIf"],["class","tw-flex tw-flex-col tw-gap-2",4,"ngIf"],[1,"tw-mt-4","tw-pt-4","tw-border-t","tw-border-mech-border"],[4,"ngIf"],["class","mshop-error-banner tw-flex tw-flex-col tw-gap-3 tw-p-3 tw-rounded-xl tw-border",4,"ngIf"],[1,"tw-flex","tw-items-center","tw-gap-1.5","tw-text-mech-primary","tw-text-xs","tw-font-bold","tw-shrink-0","tw-no-underline","tw-px-2",2,"min-height","44px","display","inline-flex","align-items","center",3,"href"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"tw-w-4","tw-h-4"],["d","M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 002.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106a1.125 1.125 0 00-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 01-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 00-1.091-.852H4.5A2.25 2.25 0 002.25 4.5v2.25z"],[1,"mech-btn-secondary","tw-inline-flex","tw-items-center","tw-mb-4","tw-text-sm",2,"min-height","44px",3,"routerLink"],[1,"tw-text-xs","tw-text-mech-text-faint","tw-py-3","tw-text-center"],[1,"tw-flex","tw-flex-col","tw-gap-2"],["class","tw-bg-mech-surface-2 tw-rounded-xl tw-border tw-border-mech-border tw-p-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"tw-bg-mech-surface-2","tw-rounded-xl","tw-border","tw-border-mech-border","tw-p-3"],[1,"tw-flex","tw-flex-col","sm:tw-flex-row","sm:tw-items-start","sm:tw-justify-between","tw-gap-2"],[1,"tw-text-sm","tw-font-bold","tw-text-mech-text"],[1,"tw-text-xs","tw-text-mech-text-muted","tw-truncate"],[1,"tw-shrink-0"],[1,"tw-text-xs","tw-text-mech-text-faint","tw-mt-2"],["type","button",1,"tw-text-sm","tw-font-bold","tw-bg-transparent","tw-border-none","tw-cursor-pointer","hover:tw-underline","tw-p-0",2,"color","var(--color-danger-text)","min-height","44px",3,"click"],[1,"mshop-error-banner","tw-flex","tw-flex-col","tw-gap-3","tw-p-3","tw-rounded-xl","tw-border"],[1,"tw-text-xs","tw-text-mech-text-secondary"],[1,"tw-flex","tw-gap-2"],["type","button",1,"mech-btn-secondary","tw-flex-1","tw-text-xs",2,"min-height","44px",3,"click"],["type","button",1,"mshop-btn-danger","tw-flex-1","tw-text-xs",2,"min-height","44px",3,"click","disabled"]],template:function(n,a){n&1&&(r(0,"div",0)(1,"div",1)(2,"h1",2),l(3),s(4,"translate"),o(),r(5,"span",3),l(6),s(7,"translate"),o()(),x(8,tt,2,2,"div",4)(9,et,7,6,"div",5)(10,it,10,6,"div",6)(11,dt,22,16,"div",7),o()),n&2&&(i(3),m(" ",p(4,7,"V2.MY_SHOP.TITLE")," "),i(3),m(" ",p(7,9,"V2.MY_SHOP.SUBTITLE")," "),i(2),c("ngIf",a.loading&&!a.loaded),i(),c("ngIf",a.error&&!a.loading),i(),c("ngIf",a.loaded&&!a.loading&&a.links.length===0&&!a.error),i(),c("ngForOf",a.links)("ngForTrackBy",a.trackByLinkId))},dependencies:[H,R,Y,N,A,U],styles:['.mshop-status-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:700;white-space:nowrap}.mshop-status-pill[_ngcontent-%COMP%]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentcolor}.mshop-status-pill--intake[_ngcontent-%COMP%]{background:var(--color-surface-2);color:var(--color-text-secondary)}.mshop-status-pill--inprogress[_ngcontent-%COMP%]{background:#2563eb1f;color:var(--color-info-text)}.mshop-status-pill--awaitingparts[_ngcontent-%COMP%]{background:#ffa02826;color:var(--color-warning-text)}.mshop-status-pill--ready[_ngcontent-%COMP%]{background:#0dae301f;color:var(--color-success-text)}.mshop-status-pill--closed[_ngcontent-%COMP%]{background:var(--color-surface-2);color:var(--color-text-faint)}.mshop-error-banner[_ngcontent-%COMP%]{background:#e50f2e0f;border-color:#e50f2e33}.mshop-btn-danger[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:12px;font-weight:600;border:none;cursor:pointer;background:var(--color-danger);color:#fff;transition:background-color .15s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif}.mshop-btn-danger[_ngcontent-%COMP%]:hover:not(:disabled){background:#c00d26}.mshop-btn-danger[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}'],changeDetection:0})}}return e})();export{St as V2MyShopComponent};

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.