1import{a as V}from"./chunk-SFN6RJUI.js";import"./chunk-EXEV3734.js";import"./chunk-L2BOUDUU.js";import{a as U}from"./chunk-4R7OV5DA.js";import{a as j,b as L}from"./chunk-HMIYWYYF.js";import{a as M}from"./chunk-KVDACQDR.js";import{a as F,b as O,f as R,g as N}from"./chunk-KSDVB5WM.js";import"./chunk-5P5Q7BHV.js";import{a as E}from"./chunk-IRYCHS7G.js";import"./chunk-EWSBTGOE.js";import{a as I}from"./chunk-O5DPHFDO.js";import"./chunk-RUH7ZOET.js";import{b as C,c as T,i as x,l as k}from"./chunk-ZEFZKZO5.js";import{k as D,q as w}from"./chunk-LCU56ZIS.js";import{$a as S,Ab as r,Bb as d,Ib as v,Ka as _,Lb as b,Nb as u,Qa as s,T as m,Va as p,Xb as c,Y as h,Yb as y,Z as g,eb as f,sc as P,yb as a,zb as n}from"./chunk-L4YEUFMX.js";function B(o,t){o&1&&(n(0,"section",2)(1,"div",3)(2,"div",4)(3,"h1",5),c(4,"Product details"),r()()(),d(5,"img",6),r())}function Y(o,t){if(o&1&&(n(0,"section",2)(1,"div",3)(2,"div",4)(3,"ul",7)(4,"li")(5,"a",8),c(6,"Home"),r()(),n(7,"li",9),c(8,"/"),r(),n(9,"li")(10,"a",10),c(11,"Products"),r()(),n(12,"li",9),c(13,"/"),r(),n(14,"li",5),c(15,"Product details"),r()(),n(16,"h1",5),c(17),r()()(),d(18,"img",6),r()),o&2){let i=u();s(17),y(i.scheduleProductName)}}function q(o,t){o&1&&(n(0,"section",11)(1,"div",3)(2,"div",12)(3,"p",13),c(4,"Loading product details..."),r()()()())}function G(o,t){o&1&&(n(0,"section",11)(1,"div",3)(2,"div",12)(3,"h2",14),c(4,"Product Not Found"),r(),n(5,"p",15),c(6," The product you are looking for does not exist or may have been moved. "),r(),n(7,"a",16),c(8," Back to Products "),d(9,"i",17),r()()()())}function z(o,t){o&1&&(n(0,"section",11)(1,"div",3)(2,"div",12)(3,"h2",14),c(4,"Unable to Load Product"),r(),n(5,"p",15),c(6," Something went wrong while loading product details. Please try again later. "),r(),n(7,"a",16),c(8," Back to Products "),d(9,"i",17),r()()()())}function H(o,t){if(o&1){let i=v();n(0,"app-service-detail-cc-content",27),b("scheduleDemo",function(){h(i);let l=u(2);return g(l.openScheduleDemoModal())}),r()}if(o&2){let i=t.ngIf,e=u(2);a("service",i)("heroDescriptions",e.heroDescriptions)("demoYoutubeUrl",e.demoYoutubeUrl)}}function W(o,t){if(o&1){let i=v();n(0,"section",11)(1,"div",3)(2,"div",18)(3,"div",19)(4,"div",20)(5,"div",21),d(6,"img",22),r(),f(7,H,1,3,"app-service-detail-cc-content",23),n(8,"app-schedule-demo-modal",24),b("close",function(){h(i);let l=u();return g(l.closeScheduleDemoModal())}),r(),d(9,"app-service-detail-sections",25),r()(),n(10,"div",26),d(11,"app-detail-page-sidebar"),r()()()()}if(o&2){let i=u();s(6),a("src","assets/img/services/"+(i.product.image||"service-details.p"),_)("alt",i.product.title),s(),a("ngIf",i.detailContent),s(),a("isOpen",i.isScheduleDemoOpen)("serviceName",i.scheduleProductName),s(),a("readyContent",i.product.readyContent)("contactInfo",i.product.contactInfo)}}var $="https://www.youtube.com/playlist?list=PL1GWX9obBjiFdlWW5QQnqaOlk7wnxZ-_M",A=class o{constructor(t,i,e,l,Q){this.route=t;this.productDetail=i;this.productService=e;this.titleService=l;this.metaService=Q}product=null;productCategories=[];loading=!0;error=!1;notFound=!1;isScheduleDemoOpen=!1;demoYoutubeUrl=$;routeSub;cdr=m(P);viewRefresh=m(I);ngOnInit(){this.loadProductCategories(),this.loadProduct()}ngAfterViewInit(){this.viewRefresh.refresh(this.cdr)}ngOnDestroy(){this.routeSub?.unsubscribe()}resetState(){this.product=null,this.loading=!0,this.error=!1,this.notFound=!1}setNotFoundState(){this.product=null,this.loading=!1,this.error=!1,this.notFound=!0,this.titleService.setTitle("Product Not Found | Gventure Technology"),this.viewRefresh.refresh(this.cdr)}setErrorState(){this.product=null,this.loading=!1,this.error=!0,this.notFound=!1,this.viewRefresh.refresh(this.cdr)}loadProductCategories(){this.productService.getProductData().subscribe({next:t=>{this.productCategories=t.products??[],this.viewRefresh.refresh(this.cdr)},error:t=>{console.error("Error loading product categories:",t)}})}loadProduct(){this.resetState(),this.routeSub=this.route.url.subscribe(t=>{if(!t||t.length<2||!t[1].path?.trim()){this.setNotFoundState();return}let i=t[1].path.trim();this.productDetail.getProductBySlug(i).subscribe({next:e=>{if(!F(e)){this.setNotFoundState();return}this.product=e,this.loading=!1,this.error=!1,this.notFound=!1,e.metaTags?.length?this.updateMetaTags(e.metaTags):this.setFallbackMeta(e),this.viewRefresh.refresh(this.cdr)},error:e=>{console.error("Error fetching product data:",e),O(e)?this.setNotFoundState():this.setErrorState()}})})}setFallbackMeta(t){this.titleService.setTitle(`${t.title} | Gventure Technology`),this.metaService.updateTag({name:"description",content:t.summary||"Gventure Technology communication solutions for modern businesses"}),this.metaService.updateTag({name:"keywords",content:`${t.title.toLowerCase()}, ${t.category?.toLowerCase()??"product"}, communication solutions, Gventure Technology`})}openScheduleDemoModal(){this.isScheduleDemoOpen=!0,document.body.style.overflow="hidden"}closeScheduleDemoModal(){this.isScheduleDemoOpen=!1,document.body.style.overflow="auto"}get scheduleProductName(){return this.product?.mainContent?.service||this.product?.title||""}get heroDescriptions(){return j(this.product?.mainContent)}get detailContent(){return this.product}trackByProduct(t,i){return i?.slug??t.toString()}updateMetaTags(t){["name='description'","name='keywords'","name='author'","property='og:title'","property='og:description'","property='og:image'","property='og:url'","property='og:type'","name='twitter:card'","name='twitter:title'","name='twitter:description'","name='twitter:image'"].forEach(e
1=>this.metaService.removeTag(e)),t.forEach(e=>{if(e.name==="title"&&e.content){this.titleService.setTitle(e.content);return}if(e.charset){this.metaService.updateTag({charset:e.charset});return}if(e["http-equiv"]&&e.content){this.metaService.updateTag({"http-equiv":e["http-equiv"],content:e.content});return}if(e.rel==="canonical"&&e.href){this.metaService.updateTag({rel:"canonical",href:e.href});return}let l={};e.name&&(l.name=e.name),e.property&&(l.property=e.property),e.content&&(l.content=e.content),this.metaService.updateTag(l)})}static \u0275fac=function(i){return new(i||o)(p(x),p(L),p(M),p(T),p(C))};static \u0275cmp=S({type:o,selectors:[["app-product-details-call-tracking"]],hostAttrs:["ngSkipHydration","true"],decls:7,vars:6,consts:[["class","breadcrumb-section position-relative fix",4,"ngIf"],["class","services-details-bg services-development-section fix section-padding whitebg cc-page",4,"ngIf"],[1,"breadcrumb-section","position-relative","fix"],[1,"container"],[1,"bread-content","text-center"],[1,"white"],["src","assets/img/element/bread-ele.png","alt","",1,"bread-ele"],[1,"d-flex","align-items-center","gap-3","justify-content-center"],["href","/",1,"p3-clr"],[1,"p3-clr"],["routerLink","/products",1,"p3-clr"],[1,"services-details-bg","services-development-section","fix","section-padding","whitebg","cc-page"],[1,"text-center","py-5"],[1,"pra","fs-seven"],[1,"black","mb-3"],[1,"pra","fs-seven","mb-4"],["routerLink","/products",1,"common-btn","box-style","cmn-style1","d-inline-flex","justify-content-center","align-items-center","gap-2","fs18","fw-semibold","white","overflow-hidden","rounded-2","p3-bg"],["aria-hidden","true",1,"fa-solid","fa-arrow-right"],[1,"row","g-4","two-column-page-row"],[1,"col-lg-8"],[1,"service-details-content"],[1,"thumb","rounded-3","mb-xl-5","mb-4"],[1,"w-100","rounded-3",3,"src","alt"],["accordionPrefix","ProductDetail",3,"service","heroDescriptions","demoYoutubeUrl","scheduleDemo",4,"ngIf"],[3,"close","isOpen","serviceName"],[3,"readyContent","contactInfo"],[1,"col-lg-4","pe-lg-5","page-sidebar-col"],["accordionPrefix","ProductDetail",3,"scheduleDemo","service","heroDescriptions","demoYoutubeUrl"]],template:function(i,e){i&1&&(f(0,B,6,0,"section",0)(1,Y,19,1,"section",0)(2,q,5,0,"section",1)(3,G,10,0,"section",1)(4,z,10,0,"section",1)(5,W,12,7,"section",1),d(6,"app-newsletter-subscription")),i&2&&(a("ngIf",e.loading),s(),a("ngIf",e.product&&!e.loading&&!e.notFound&&!e.error),s(),a("ngIf",e.loading),s(),a("ngIf",e.notFound&&!e.loading),s(),a("ngIf",e.error&&!e.loading&&!e.notFound),s(),a("ngIf",e.product&&!e.loading&&!e.notFound&&!e.error))},dependencies:[w,D,k,N,E,U,V,R],styles:[".breadcrumb-section[_ngcontent-%COMP%]{margin-top:88px!important;background:url(/assets/img/banner/product.webp) no-repeat center center;background-size:cover;z-index:1}@media (max-width: 768px){.breadcrumb-section[_ngcontent-%COMP%]{margin-top:68px!important}}.cc-page[_ngcontent-%COMP%]{--cc-primary: #0d6e8a;--cc-primary-dark: #094d61;--cc-accent: #14b8a6;--cc-surface: #f0f9fb;--cc-border: #c5e4ec}@media (max-width: 991px){.col-lg-4.pe-lg-5[_ngcontent-%COMP%]{padding-right:0!important}}"]})};export{$ as PRODUCT_DEMO_YOUTUBE_URL,A as ProductDetailsCallTracking};
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.