{
  "version": 1,
  "fileId": "file:1ain1yo:mainhublayout-razor",
  "fingerprint": "1fmv7qv",
  "path": "NexusReader.UI.Shared/Layout/MainHubLayout.razor",
  "absolutePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.UI.Shared/Layout/MainHubLayout.razor",
  "shortLabel": "MainHubLayout",
  "longLabel": "NexusReader.UI.Shared/Layout/MainHubLayout.razor",
  "purpose": "Renders the main application hub layout (sidebar + main content) for authenticated users and coordinates initial identity sync and logout behavior.",
  "classification": {
    "role": "ui-component",
    "layer": "frontend",
    "confidence": 0.9,
    "evidence": [
      "Frontend path heuristic",
      "Inherits LayoutComponentBase (line 1) — Blazor layout component",
      "Uses AuthorizeView, NavLink and injects AuthenticationStateProvider / IIdentityService (lines 8, 19, 88-90)"
    ]
  },
  "className": "MainHubLayout",
  "domainConcepts": [
    "Authentication / Identity",
    "Navigation / Routing",
    "UI Layout (Sidebar + Content)"
  ],
  "patterns": [
    "Blazor Layout",
    "Dependency Injection"
  ],
  "keyDetails": "Uses an _isSyncing flag to avoid concurrent profile-sync attempts. On init, checks authentication state and if unauthenticated attempts a server-side profile sync (cookie-based). Logout calls the identity service and then forces navigation to an account logout form.",
  "coverage": {
    "symbolCount": 3,
    "executableSymbolCount": 2,
    "executableSymbolsWithControlFlowCount": 2,
    "groundedEdgeCount": 3,
    "unresolvedReferenceCount": 8,
    "controlFlowFragmentCount": 2,
    "unresolvedJumpCount": 2,
    "unsupportedConstructCount": 0,
    "controlFlowCoverage": 1,
    "requiredDiagramCount": 2,
    "generatedDiagramCount": 4,
    "missingRequiredDiagramCount": 0
  }
}