1import{i as o,R as S,U as g,b as P,A as w,W as k,X as y,j as x,S as C,q as l,F as u,Y as T,H as m,K as O,Z as A,_ as q,a as b,$ as h,a0 as p,a1 as f,u as B}from"./index-DUrPV9Cf.js";import{H as F}from"./header.component-xMILluNC.js";import{N as R}from"./notification.component-bOpEjdzO.js";import{S as I}from"./spinner.component-BRdyh3b_.js";import{n as H}from"./noindex.meta-DkyAfGrf.js";import{A as _}from"./additional-order-context.service-Dk62Jo2Z.js";import{O as V}from"./order-success-email-storage.service-DICpRxPA.js";import{A as j}from"./additional-products-step.component-lHdSA4eH.js";import{O as z}from"./order-process-builder.service-C7Nr-p3x.js";import{O as E}from"./order-process-ik.service-B2E4lWXU.js";import{O as N}from"./order-process-query-params.service-DmAcoxtH.js";import{O as G}from"./order-process-route-context.service-CpYx9X7c.js";import{O as K}from"./shopping-cart.component-B_vi86Ei.js";import"./button.component-CXGXoxGb.js";import"./dateTimestampProvider-CV0dHcg-.js";import"./notification.service-BlfgZ-FC.js";import"./modal.component-C-xgdCVs.js";import"./pageHeading.component-C55WtJLZ.js";import"./format-price.pipe-AnY6hH77.js";import"./lexical-to-html.utils-ChbndRmN.js";import"./product.utils-BEb16PDD.js";import"./profession-utils-KLnE0-VX.js";import"./onboarding-step-options-BkxWU8b4.js";import"./_commonjsHelpers-CqkleIqs.js";import"./order-process-navigation.service-C-pq5UHv.js";const i=class i{constructor(){this.router=o(S),this.viewportScroller=o(g),this.emailStorageService=o(V)}navigateToProducts(e){this.router.navigate(["/additional-order/products"],{queryParams:{ik:e}}).then(()=>this.scrollToTop())}navigateToCheckout(e,t){const r={ik:e};t&&(r.profession=t),this.router.navigate(["/additional-order/checkout"],{queryParams:r,queryParamsHandling:"merge"}).then(()=>this.scrollToTop())}navigateToSuccess(e){this.emailStorageService.storeEmail(e),this.router.navigate(["/order/success"]).then(()=>this.scrollToTop())}scrollToTop(){this.viewportScroller.scrollToPosition([0,0])}};i.ɵfac=function(t){return new(t||i)},i.ɵprov=P({token:i,factory:i.ɵfac});let c=i;function M(s,e){s&1&&(u(0,"div",0),l(1,"app-spinner"),m())}function U(s,e){if(s&1){const t=q();u(0,"app-additional-products-step",2),b("back",function(){h(t);const n=p();return f(n.handleBack())})("next",function(){h(t);const n=p();return f(n.handleNext())}),m()}if(s&2){const t=p();B("step",t.additionalProductsStep())("isAdditionalOrderRoute",!0)("canGoBack",!0)}}const vt={meta:[H]},a=class a{constructor(){this.contextService=o(_),this.navigationService=o(c),this.ikService=o(E),this.orderProcessBuilderService=o(z),this.route=o(w),this.router=o(S),this.additionalProductsStep=this.contextService.additionalProductsStep,this.isInitializing=k(!0)}async ngOnInit(){try{const e=this.route.snapshot.queryParams.ik;if(!e){await this.router.navigate(["/portal/new-order"]);return}const t=await this.ikService.getIKContext(e);if(!t.professionSlug){await this.router.navigate(["/portal/new-order"]);return}const r=t.professionSlug;this.route.snapshot.queryParams.profession!==r&&await this.router.navigate([],{relativeTo:this.route,queryParams:{ik:e,profession:r},queryParamsHandling:"merge",replaceUrl:!0}),this.contextService.setProfession(r);try{await y(this.orderProcessBuilderService.getOrderProcess())}catch(d){console.error("Failed to load order process for additional order:",d),await this.router.navigate(["/portal/new-order"]);return}this.orderProcessBuilderService.getStepsForProfession(r).some(d=>d.blockType==="additionalProducts")||await this.router.navigate(["/portal/new-order"])}catch(e){console.error("Failed to initialize additional order products page:",e);try{await this.router.navigate(["/portal/new-order"])}catch(t){console.error("Failed to redirect to new order page:",t)}}finally{this.isInitializing.set(!1)}}handleBack(){this.router.navigate(["/portal/new-order"])}handleNext(){const e=this.route.snapshot.queryParams.ik,t=this.route.snapshot.queryParams.profession;this.navigationService.navigateToCheckout(e,t)}};a.ɵfac=function(t){return new(t||a)},a.ɵcmp=x({type:a,selectors:[["app-additional-order-products"]],features:[C([_,c,G,K,N])],decls:5,vars:1,consts:[[1,"flex","h-[50vh]","items-center","justify-center"],[3,"step","isAdditionalOrderRoute","canGoBack"],[3,"back","next","step","isAdditionalOrderRoute","canGoBack"]],template:function(t,r){t&1&&(l(0,"app-header"),u(1,"main"),T(2,M,2,0,"div",0)(3,U,1,3,"app-additional-products-step",1),m(),l(4,"app-notification")),t&2&&(O(2),A(r.isInitializing()?2:r.additionalProductsStep()?3:-1))},dependencies:[F,j,R,I],encapsulation:2});let v=a;export{v as default,vt as routeMeta};
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.