{"version":3,"file":"rolatech-angular-onboarding-agent-onboarding-shell-page-BnIl07Y_.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-onboarding/agent-onboarding-shell-page.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, ViewEncapsulation } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, Router, RouterLink, RouterOutlet } from '@angular/router';\nimport { map, startWith } from 'rxjs';\nimport { OnboardingPageShell } from '../../components/onboarding/onboarding-page-shell';\nimport { OnboardingStatusBadge } from '../../components/onboarding/onboarding-status-badge';\nimport { AgentOnboardingFacade } from '../../store/agent-onboarding.facade';\n\n@Component({\n  selector: 'rolatech-agent-onboarding-shell-page',\n  standalone: true,\n  imports: [RouterOutlet, RouterLink, NgClass, OnboardingPageShell, OnboardingStatusBadge],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: { class: 'block' },\n  template: `\n    <rolatech-onboarding-page-shell\n      title=\"Agent Onboarding Dashboard\"\n      subtitle=\"Track review progress and resolve any requested updates.\"\n      kicker=\"Agent Portal\"\n    >\n      <div header-actions>\n        <rolatech-onboarding-status-badge [status]=\"facade.status()\" />\n      </div>\n\n      <nav class=\"flex flex-wrap gap-2\">\n        @for (tab of tabs(); track tab.label) {\n          <a\n            [routerLink]=\"tab.link\"\n            class=\"rounded-xl border border-(--rt-border-color) px-4 py-2 text-sm font-medium transition cursor-pointer\"\n            [ngClass]=\"\n              tab.active\n                ? 'border-(--rt-brand-color) bg-(--rt-brand-color) text-(--rt-text-primary-inverse)'\n                : 'border-(--rt-border-color) bg-(--rt-base-background) text-(--rt-text-secondary) hover:bg-(--rt-raised-background)'\n            \"\n          >\n            {{ tab.label }}\n          </a>\n        }\n      </nav>\n\n      @if (facade.error()) {\n        <div class=\"rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700\">{{ facade.error() }}</div>\n      }\n\n      <router-outlet />\n    </rolatech-onboarding-page-shell>\n  `,\n})\nexport class AgentOnboardingShellPage {\n  readonly facade = inject(AgentOnboardingFacade);\n  private readonly route = inject(ActivatedRoute);\n  private readonly router = inject(Router);\n\n  private readonly paramMap = toSignal(this.route.paramMap, {\n    initialValue: this.route.snapshot.paramMap,\n  });\n\n  private readonly currentUrl = toSignal(\n    this.router.events.pipe(\n      startWith(null),\n      map(() => this.router.url),\n    ),\n    {\n      initialValue: this.router.url,\n    },\n  );\n\n  readonly activeTab = computed(() => {\n    const parts = this.currentUrl().split('/').filter(Boolean);\n    const last = parts[parts.length - 1];\n\n    if (last === 'documents' || last === 'issues') {\n      return last;\n    }\n\n    return 'overview';\n  });\n\n  readonly tabs = computed(() => {\n    const activeTab = this.activeTab();\n\n    return [\n      { label: 'Overview', link: ['.'], active: activeTab === 'overview' },\n      { label: 'Documents', link: ['documents'], active: activeTab === 'documents' },\n      { label: 'Issues', link: ['issues'], active: activeTab === 'issues' },\n    ];\n  });\n\n  constructor() {\n    effect(() => {\n      this.currentUrl();\n      const applicationId = this.resolveApplicationId();\n\n      if (!applicationId) {\n        return;\n      }\n\n      void this.facade.ensureLoaded(applicationId);\n    });\n  }\n\n  private resolveApplicationId(): string | null {\n    return (\n      this.paramMap().get('applicationId') ??\n      this.route.snapshot.pathFromRoot\n        .map((item) => item.paramMap.get('applicationId'))\n        .find((value) => Boolean(value)) ??\n      null\n    );\n  }\n}\n"],"names":[],"mappings":"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"}