import { CommonModule, NzIconDirective, NzIconModule, Router } from "./chunk-2TRRHRR7.js"; import { Component, computed, inject, setClassMetadata, ɵsetClassDebugInfo, ɵɵadvance, ɵɵclassProp, ɵɵdefineComponent, ɵɵelement, ɵɵelementEnd, ɵɵelementStart, ɵɵgetCurrentView, ɵɵlistener, ɵɵnextContext, ɵɵproperty, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵresetView, ɵɵrestoreView, ɵɵtext, ɵɵtextInterpolate } from "./chunk-WI7WFVZR.js"; // src/app/components/bottom-nav/bottom-nav.ts var _forTrack0 = ($index, $item) => $item.id; function BottomNav_For_3_Template(rf, ctx) { if (rf & 1) { const _r1 = \u0275\u0275getCurrentView(); \u0275\u0275elementStart(0, "button", 3); \u0275\u0275listener("click", function BottomNav_For_3_Template_button_click_0_listener() { const tab_r2 = \u0275\u0275restoreView(_r1).$implicit; const ctx_r2 = \u0275\u0275nextContext(); return \u0275\u0275resetView(ctx_r2.navigate(tab_r2.id)); }); \u0275\u0275element(1, "span", 4); \u0275\u0275elementStart(2, "span", 5); \u0275\u0275text(3); \u0275\u0275elementEnd()(); } if (rf & 2) { const tab_r2 = ctx.$implicit; const ctx_r2 = \u0275\u0275nextContext(); \u0275\u0275classProp("active", ctx_r2.currentTab() === tab_r2.id); \u0275\u0275advance(); \u0275\u0275property("nzType", tab_r2.icon); \u0275\u0275advance(2); \u0275\u0275textInterpolate(tab_r2.label); } } var BottomNav = class _BottomNav { router = inject(Router); currentTab = computed(() => { const url = this.router.url; if (url.startsWith("/catalog")) return "catalog"; if (url.startsWith("/my-courses")) return "my-courses"; if (url.startsWith("/create")) return "create"; return ""; }, ...ngDevMode ? [{ debugName: "currentTab" }] : []); navigate(tab) { this.router.navigate([`/${tab}`]); } tabs = [ { id: "catalog", label: "CATALOGUE", icon: "appstore" }, { id: "my-courses", label: "APPRENDRE", icon: "read" }, { id: "create", label: "CR\xC9ER", icon: "plus" } ]; static \u0275fac = function BottomNav_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || _BottomNav)(); }; static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BottomNav, selectors: [["app-bottom-nav"]], decls: 4, vars: 0, consts: [[1, "bottom-nav"], [1, "bottom-nav-inner"], [1, "nav-tab", 3, "active"], [1, "nav-tab", 3, "click"], ["nz-icon", "", "nzTheme", "outline", 1, "nav-icon", 3, "nzType"], [1, "nav-label"]], template: function BottomNav_Template(rf, ctx) { if (rf & 1) { \u0275\u0275elementStart(0, "nav", 0)(1, "div", 1); \u0275\u0275repeaterCreate(2, BottomNav_For_3_Template, 4, 4, "button", 2, _forTrack0); \u0275\u0275elementEnd()(); } if (rf & 2) { \u0275\u0275advance(2); \u0275\u0275repeater(ctx.tabs); } }, dependencies: [NzIconModule, NzIconDirective, CommonModule], styles: ["\n\n.bottom-nav[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n background-color: var(--card);\n border-top: 1px solid var(--border);\n padding-bottom: env(safe-area-inset-bottom, 0);\n}\n.bottom-nav-inner[_ngcontent-%COMP%] {\n display: flex;\n max-width: 480px;\n margin: 0 auto;\n}\n.nav-tab[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 10px 0 12px;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--text-muted);\n transition: color 0.2s;\n}\n.nav-tab.active[_ngcontent-%COMP%] {\n color: var(--primary);\n}\n.nav-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.nav-label[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 0.05em;\n}\n/*# sourceMappingURL=bottom-nav.css.map */"] }); }; (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BottomNav, [{ type: Component, args: [{ selector: "app-bottom-nav", imports: [NzIconModule, CommonModule], template: '\n', styles: ["/* src/app/components/bottom-nav/bottom-nav.css */\n.bottom-nav {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n background-color: var(--card);\n border-top: 1px solid var(--border);\n padding-bottom: env(safe-area-inset-bottom, 0);\n}\n.bottom-nav-inner {\n display: flex;\n max-width: 480px;\n margin: 0 auto;\n}\n.nav-tab {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 10px 0 12px;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--text-muted);\n transition: color 0.2s;\n}\n.nav-tab.active {\n color: var(--primary);\n}\n.nav-icon {\n font-size: 20px;\n}\n.nav-label {\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 0.05em;\n}\n/*# sourceMappingURL=bottom-nav.css.map */\n"] }] }], null, null); })(); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BottomNav, { className: "BottomNav", filePath: "src/app/components/bottom-nav/bottom-nav.ts", lineNumber: 12 }); })(); export { BottomNav }; //# sourceMappingURL=chunk-JDU3HACN.js.map