1import{a as p}from"./chunk-CXGDEVOC.js";import{a as w}from"./chunk-6A44VCD2.js";import{a as I}from"./chunk-43YBI5ZD.js";import{a as U}from"./chunk-63QB7G3W.js";import"./chunk-2LVETGW4.js";import"./chunk-QZYD6EK3.js";import{k as y,p as N}from"./chunk-NLNCJF7P.js";import"./chunk-4KC5VZEM.js";import{Ab as C,Bb as v,Cb as n,Db as i,Eb as m,Ed as k,Fd as L,Rb as l,Ua as r,Xb as M,ab as c,fb as x,ha as b,ic as S,jc as u,kc as O,za as E,zb as h}from"./chunk-MEWEEZGC.js";import{a as T,b as P}from"./chunk-WYC6G435.js";var B=(a,e)=>e.id;function A(a,e){if(a&1&&(n(0,"a",14)(1,"div",20),m(2,"i"),i(),n(3,"h2",21),u(4),i(),n(5,"p",22),u(6),i(),n(7,"span",23),l(8,5),i()()),a&2){let t=e.$implicit,o=M();v("routerLink",t.route),r(2),S(t.icon),r(2),O(o.getToolTitle(t)),r(2),O(o.getToolDescription(t));}}function R(a,e){if(a&1&&(n(0,"div",15)(1,"div",20),m(2,"i"),i(),n(3,"h2",21),u(4),i(),n(5,"p",22),u(6),i(),n(7,"span",24),l(8,6),i()()),a&2){let t=e.$implicit,o=M();r(2),S(t.icon),r(2),O(o.getToolTitle(t)),r(2),O(o.getToolDescription(t));}}var $=class a{constructor(e,t,o,s,d,g){this.seoService=e;this.languageService=t;this.siteVisitTracking=o;this.viewportScroller=s;this.document=d;this.platformId=g;this.isBrowser=k(this.platformId);}isBrowser;tools=p;availableTools=p.filter(e=>e.available);comingSoonTools=p.filter(e=>!e.available);ngOnInit(){this.viewportScroller.scrollToPosition([0,0]),this.setMetaTags(),this.siteVisitTracking.trackPageVisit("/tools");}ngAfterViewInit(){this.siteVisitTracking.startEngagementTracking();}ngOnDestroy(){this.seoService.cleanup(),this.siteVisitTracking.stopEngagementTracking();}getToolTitle(e){switch(e.id){case"bmi":return"BMI Calculator";case"calorie":return"Calorie Calculator";case"macro":return"Macro Calculator";case"ideal-weight":return"Ideal Weight Calculator";case"water-intake":return"Water Intake Calculator";case"body-fat":return"Body Fat Calculator";default:return e.id;}}getToolDescription(e){switch(e.id){case"bmi":return"Calculate your Body Mass Index using the WHO-standard formula.";case"calorie":return"Estimate your daily calorie needs based on activity level and goals.";case"macro":return"Find your ideal protein, carbohydrate, and fat intake.";case"ideal-weight":return"Calculate your ideal weight based on height, age, and gender.";case"water-intake":return"Determine your recommended daily water intake.";case"body-fat":return"Calculate your body fat percentage, fat mass, and lean body mass.";default:return"";}}setMetaTags(){let e=this.languageService.currentLanguage(),t=this.isBrowser?this.document.location.origin:"https://vitena.care",o=this.getMetaContent(e,t);this.seoService.setMetaTags({title:o.title,description:o.description,keywords:o.keywords,ogTitle:o.title,ogDescription:o.description,ogType:"website",twitterCard:"summary_large_image",canonicalUrl:o.canonicalUrl,author:"Vitena",robots:"index, follow"});let s=this.seoService.createBreadcrumbSchema([{name:"Home",url:t},{name:"Tools",url:o.canonicalUrl}]);this.seoService.removeStructuredData(),this.seoService.addStructuredData(s);}getMetaContent(e,t){let o=e==="en"?"/tools":`/${e}/tools`,s=`${t}${o}`,d={en:{title:"Free Nutrition Tools & Calculators | Vitena",description:"Free nutrition and health calculators: BMI, calorie needs, macronutrient ratios, and more. Accurate tools based on WHO standards for nutrition professionals and health-conscious individuals.",keywords:"nutrition calculator, BMI calculator, calorie calculator, macro calculator, free health tools, nutrition tools"},tr:{title:"\xDCcretsiz Beslenme Ara\xE7lar\u0131 ve Hesaplay\u0131c\u0131lar | Vitena",description:"\xDCcretsiz beslenme ve sa\u011Fl\u0131k hesaplay\u0131c\u0131lar\u0131: VK\u0130, kalori ihtiyac\u0131, makro besin oranlar\u0131 ve daha fazlas\u0131. DS\xD6 standartlar\u0131na dayal\u0131 do\u011Fru ara\xE7lar.",keywords:"beslenme hesaplay\u0131c\u0131, VK\u0130 hesaplay\u0131c\u0131, kalori hesaplay\u0131c\u0131, makro hesaplay\u0131c\u0131, \xFCcretsiz sa\u011Fl\u0131k ara\xE7lar\u0131"},es:{title:"Herramientas de Nutrici\xF3n y Calculadoras Gratis | Vitena",description:"Calculadoras gratuitas de nutrici\xF3n y salud: IMC, necesidades cal\xF3ricas, proporciones de macronutrientes y m\xE1s. Herramientas precisas basadas en est\xE1ndares de la OMS.",ke
1ywords:"calculadora nutrici\xF3n, calculadora IMC, calculadora calor\xEDas, calculadora macros, herramientas salud gratis"},de:{title:"Kostenlose Ern\xE4hrungs-Tools & Rechner | Vitena",description:"Kostenlose Ern\xE4hrungs- und Gesundheitsrechner: BMI, Kalorienbedarf, Makron\xE4hrstoffverh\xE4ltnisse und mehr. Pr\xE4zise Tools basierend auf WHO-Standards.",keywords:"Ern\xE4hrungsrechner, BMI Rechner, Kalorienrechner, Makrorechner, kostenlose Gesundheitstools"},nl:{title:"Gratis Voedingstools & Calculators | Vitena",description:"Gratis voedings- en gezondheidscalculators: BMI, caloriebehoefte, macronutri\xEBntenverhoudingen en meer. Nauwkeurige tools op basis van WHO-standaarden.",keywords:"voedingscalculator, BMI calculator, caloriecalculator, macrocalculator, gratis gezondheidstools"},uk:{title:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u0456 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u0445\u0430\u0440\u0447\u0443\u0432\u0430\u043D\u043D\u044F \u0442\u0430 \u043A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440\u0438 | Vitena",description:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u0456 \u043A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440\u0438 \u0445\u0430\u0440\u0447\u0443\u0432\u0430\u043D\u043D\u044F \u0442\u0430 \u0437\u0434\u043E\u0440\u043E\u0432'\u044F: \u0406\u041C\u0422, \u043F\u043E\u0442\u0440\u0435\u0431\u0430 \u0432 \u043A\u0430\u043B\u043E\u0440\u0456\u044F\u0445, \u0441\u043F\u0456\u0432\u0432\u0456\u0434\u043D\u043E\u0448\u0435\u043D\u043D\u044F \u043C\u0430\u043A\u0440\u043E\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0442\u0430 \u0456\u043D\u0448\u0435. \u0422\u043E\u0447\u043D\u0456 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0438 \u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u0456 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u0456\u0432 \u0412\u041E\u041E\u0417.",keywords:"\u043A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0445\u0430\u0440\u0447\u0443\u0432\u0430\u043D\u043D\u044F, \u043A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0406\u041C\u0422, \u043A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u043A\u0430\u043B\u043E\u0440\u0456\u0439, \u043A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u043C\u0430\u043A\u0440\u043E\u0441\u0456\u0432"}},g=d[e]||d.en;return P(T({},g),{canonicalUrl:s});}static ɵfac=function(t){return new(t||a)(c(w),c(U),c(I),c(L),c(b),c(E));};static ɵcmp=x({type:a,selectors:[["app-tools-hub"]],decls:25,vars:0,consts:()=>{let e;e="Free Nutrition Tools & Calculators";let t;t="Professional nutrition calculators based on WHO standards. Free, accurate, and available in multiple languages.";let o;o="Are you a nutrition professional?";let s;s="Vitena provides these tools built into the platform, plus client management, meal planning, and appointment scheduling - everything you need to run your practice.";let d;d="Try Vitena Free for 30 Days";let g;g="Use Calculator \u2192";let f;return f="Coming Soon",[e,t,o,s,d,g,f,[1,"tools-hero"],[1,"container"],[1,"hero-title"],[1,"bi","bi-calculator","hero-icon"],[1,"hero-subtitle"],[1,"tools-section"],[1,"tools-grid"],[1,"tool-card",3,"routerLink"],[1,"tool-card","tool-card-disabled"],[1,"tools-cta"],[1,"cta-inline"],[1,"cta-text-block"],["routerLink","/signup",1,"cta-button"],[1,"tool-icon"],[1,"tool-title"],[1,"tool-description"],[1,"tool-link"],[1,"coming-soon-badge"]];},template:function(t,o){t&1&&(n(0,"section",7)(1,"div",8)(2,"h1",9),m(3,"i",10),n(4,"span"),l(5,0),i()(),n(6,"p",11),l(7,1),i()()(),n(8,"section",12)(9,"div",8)(10,"div",13),h(11,A,9,5,"a",14,B),h(13,R,9,4,"div",15,B),i()()(),n(15,"section",16)(16,"div",8)(17,"div",17)(18,"div",18)(19,"strong"),l(20,2),i(),n(21,"span"),l(22,3),i()(),n(23,"a",19),l(24,4),i()()()()),t&2&&(r(11),C(o.availableTools),r(2),C(o.comingSoonTools));},dependencies:[N,y],styles:['.container[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:0 16px}@media(min-width:768px){.container[_ngcontent-%COMP%]{padding:0 24px}}.tools-hero[_ngcontent-%COMP%]{background:linear-gradient(135deg,#03a791,#028a77);color:#fff;text-align:center;padding:24px 16px 20px}.hero-icon[_ngcontent-%COMP%]{font-size:1.375rem;margin-right:8px;opacity:.9;display:inline-block;vertical-align:middle;margin-top:-.2em}.hero-title[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700;margin-bottom:4px;line-height:1.2}.hero-subtitle[_ngcontent-%COMP%]{font-size:.875rem;opacity:.85;max-width:600px;margin:0 auto;line-height:1.4}@media(min-width:768px){.tools-hero[_ngcontent-%COMP%]{padding:32px 24px 28px}.hero-title[_ngcontent-%COMP%]{font-size:1.5rem}.hero-subtitle[_ngcontent-%COMP%]{font-size:.9375rem}}.tools-section[_ngcontent-%COMP%]{padding:40px 0 48px}.tools-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:576px){.tools-grid[_ngcontent-%COMP%]{grid-template-columns:1fr 1fr}}@media(min-width:768px){.tools-grid[_ngcontent-%COMP%]{grid-template-columns:1fr 1fr 1fr;gap:20px}}.tool-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid #e9ecef;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.tool-card[_ngcontent-%COMP%]:hover{border-color:#03a791;box-shadow:0 4px 16px #03a7911f;transform:translateY(-2px);color:inherit}.tool-card-disabled[_ngcontent-%COMP%]{opacity:.6;cursor:default}.tool-card-disabled[_ngcontent-%COMP%]:hover{border-color:#e9ecef;box-shadow:none;transform:none}.tool-icon[_ngcontent-%COMP%]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#03a7911a;border-radius:10px;margin-bottom:16px}.tool-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1.5rem;color:#03a791}.tool-card-disabled[_ngcontent-%COMP%] .tool-icon[_ngcontent-%COMP%]{background:#6c757d1a}.tool-card-disabled[_ngcontent-%COMP%] .tool-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#6c757d}.tool-title[_ngcontent-%COMP%]{font-size:1.125rem;font-weight:700;margin-bottom:8px;color:#212529}.tool-description[_ngcontent-%COMP%]{font-size:.875rem;color:#6c757d;line-height:1.5;flex:1;margin-bottom:12px}.tool-link[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;color:#03a791}.coming-soon-badge[_ngcontent-%COMP%]{display:inline-block;padding:4px 12px;background:#e9ecef;border-radius:12px;font-size:.75rem;font-weight:600;color:#6c757d;align-self:flex-start}.tools-cta[_ngcontent-%COMP%]{background:#212529;color:#fff;padding:28px 16px}.cta-inline[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}.cta-text-block[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.cta-text-block[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:.9375rem;font-weight:700;color:#fff}.cta-text-block[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.8125rem;color:#ffffffa6;line-height:1.5}.cta-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;background:#03a791;color:#fff;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;min-height:40px;white-space:nowrap;transition:background .2s ease}.cta-button[_ngcontent-%COMP%]:hover{background:#028a77;color:#fff}@media(min-width:768px){.tools-cta[_ngcontent-%COMP%]{padding:32px 24px}.cta-inline[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-between}.cta-text-block[_ngcontent-%COMP%]{flex:1}}[data-theme="dark"][_nghost-%COMP%] .tools-section[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .tools-section[_ngcontent-%COMP%]{background:#0f172a}[data-theme="dark"][_nghost-%COMP%] .tool-card[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .tool-card[_ngcontent-%COMP%]{background:#1e293b;border-color:#475569}[data-theme="dark"][_nghost-%COMP%] .tool-card[_ngcontent-%COMP%]:hover, [data-theme="dark"] [_nghost-%COMP%] .tool-card[_ngcontent-%COMP%]:hover{border-color:#03a791;box-shadow:0 4px 16px #03a79133}[data-theme="dark"][_nghost-%COMP%] .tool-card-disabled[_ngcontent-%COMP%]:hover, [data-theme="dark"] [_nghost-%COMP%] .tool-card-disabled[_ngcontent-%COMP%]:hover{border-color:#475569;box-shadow:none}[data-theme="dark"][_nghost-%COMP%] .tool-icon[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .tool-icon[_ngcontent-%COMP%]{background:#03a79126}[data-theme="dark"][_nghost-%COMP%] .tool-card-disabled[_ngcontent-%COMP%] .tool-icon[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .tool-card-disabled[_ngcontent-%COMP%] .tool-icon[_ngcontent-%COMP%]{background:#94a3b81a}[data-theme="dark"][_nghost-%COMP%] .tool-title[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .tool-title[_ngcontent-%COMP%]{color:#f1f5f9}[data-theme="dark"][_nghost-%COMP%] .tool-description[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .tool-description[_ngcontent-%COMP%]{color:#94a3b8}[data-theme="dark"][_nghost-%COMP%] .coming-soon-badge[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .coming-soon-badge[_ngcontent-%COMP%]{background:#334155;color:#94a3b8}[data-theme="dark"][_nghost-%COMP%] .tools-cta[_ngcontent-%COMP%], [data-theme="dark"] [_nghost-%COMP%] .tools-cta[_ngcontent-%COMP%]{background:#1e293b}']});};export{$ as ToolsHubComponent};/**i18n:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855*/
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.