Files
Nexus.Reader/src/.documentation/cache/summaries/NexusReader.UI.Shared__Routes.razor.json
T
2026-05-22 09:04:42 +02:00

1 line
5.6 KiB
JSON

{"path":"NexusReader.UI.Shared/Routes.razor","purpose":"Blazor UI component that centralizes client-side routing, authorization-aware route rendering, focus-on-navigation behavior, and a global ErrorBoundary with a retry action.","classification":{"role":"ui-component","layer":"frontend","confidence":0.86,"evidence":["Endpoint/route pattern","Frontend path heuristic","Uses <Router AppAssembly=\"@typeof(Routes).Assembly\"> (lines 3-15)","Wraps markup in <ErrorBoundary> with <ErrorContent> and a retry button (lines 1-37)","Uses AuthorizeRouteView and RedirectToLogin for auth-aware routing (lines 5-8)"]},"className":"Routes","methods":[{"name":"Render (component markup)","line":1,"endLine":37,"signature":"() -> RenderFragment","purpose":"Declares the component tree: an ErrorBoundary that wraps a Router which renders authorized routes, a NotFound page, and focus-on-navigation behavior.","calls":[{"targetFile":"NexusReader.UI.Shared/Pages/NotFound.razor","targetMethod":"NotFound","callLine":13,"paramSummary":"none (renders 404 page)"},{"targetFile":"NexusReader.UI.Shared/RedirectToLogin.razor","targetMethod":"RedirectToLogin","callLine":7,"paramSummary":"none (used inside <NotAuthorized>)"},{"targetFile":"NexusReader.UI.Shared/MainHubLayout.razor","targetMethod":"MainHubLayout","callLine":5,"paramSummary":"layout type passed to AuthorizeRouteView"},{"targetFile":"NexusReader.UI.Shared/Components/NexusIcon.razor","targetMethod":"NexusIcon","callLine":21,"paramSummary":"{ Name: \"alert-triangle\", Size: 48, Color: \"#ff4444\" }"},{"targetFile":"NexusReader.UI.Shared/Components/NexusIcon.razor","targetMethod":"NexusIcon","callLine":31,"paramSummary":"{ Name: \"refresh-cw\", Size: 16 }"}],"actions":[{"id":"error-boundary_1","kind":"mapping","label":"Global UI error fallback","line":1,"detail":"Displays an error card with message and a retry button in ErrorContent","visibility":"detail-only","confidence":0.7},{"id":"orchestration_3","kind":"mapping","label":"Routing orchestration","line":3,"detail":"Router drives which pages render based on AppAssembly and route data","visibility":"detail-only","confidence":0.7},{"id":"authorization-guard_5","kind":"mapping","label":"AuthorizeRouteView fallback","line":5,"detail":"Uses AuthorizeRouteView to enforce auth; renders RedirectToLogin inside <NotAuthorized>","visibility":"detail-only","confidence":0.7},{"id":"focus-management_10","kind":"mapping","label":"FocusOnNavigate","line":10,"detail":"Sets focus to header element on navigation","visibility":"detail-only","confidence":0.7},{"id":"fallback_12","kind":"fallback","label":"NotFound fallback","line":12,"detail":"Renders NotFound component when no route matches","visibility":"detail-only","confidence":0.7},{"id":"render-data-exposure_27","kind":"mapping","label":"Show exception message","line":27,"detail":"Displays @ex.Message inside error content","visibility":"detail-only","confidence":0.7}]},{"name":"Retry button onclick (anonymous lambda)","line":30,"endLine":33,"signature":"() -> void","purpose":"Invokes ErrorBoundary.Recover() to attempt to re-render the child content after an error.","calls":[{"targetFile":"unknown","targetMethod":"Recover","callLine":30,"paramSummary":"called on _errorBoundary instance via null-conditional operator"}],"actions":[{"id":"retry_30","kind":"retry","label":"Recover UI after error","line":30,"detail":"_errorBoundary?.Recover() is invoked when the retry button is clicked","visibility":"detail-only","confidence":0.7}]}],"types":[],"serviceRegistrations":[],"startupActions":[],"dependencies":["NexusReader.UI.Shared/Pages/NotFound.razor","NexusReader.UI.Shared/RedirectToLogin.razor","NexusReader.UI.Shared/MainHubLayout.razor","NexusReader.UI.Shared/Components/NexusIcon.razor"],"patterns":["Routing","Authorization (AuthorizeRouteView)","Error Boundary / UI fallback"],"domainConcepts":["Navigation","Authorization","Error handling / recovery"],"keyDetails":"Component centralizes client-side routing with auth-aware rendering and a global ErrorBoundary that displays error details and exposes a retry (Recover) action via a button. The component uses AppAssembly routing and sets page focus on navigation.","orchestrationMethods":[{"name":"Render (component markup)","line":1,"confidence":0.97,"reason":"Coordinates 5 downstream calls with 1 architectural actions.","actionKinds":["mapping","fallback"],"evidencePaths":["NexusReader.UI.Shared/Routes.razor","NexusReader.UI.Shared/Pages/NotFound.razor","NexusReader.UI.Shared/RedirectToLogin.razor","NexusReader.UI.Shared/MainHubLayout.razor","NexusReader.UI.Shared/Components/NexusIcon.razor","NexusReader.UI.Shared/Components/NexusIcon.razor"]},{"name":"Retry button onclick (anonymous lambda)","line":30,"confidence":0.65,"reason":"Contains 1 architectural actions relevant to business execution.","actionKinds":["retry"],"evidencePaths":["NexusReader.UI.Shared/Routes.razor","unknown"]}],"typedContracts":[],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[{"kind":"orchestration-method","label":"Render (component markup)","line":1,"summary":"Coordinates 5 downstream calls with 1 architectural actions.","confidence":0.97,"evidencePaths":["NexusReader.UI.Shared/Routes.razor","NexusReader.UI.Shared/Pages/NotFound.razor","NexusReader.UI.Shared/RedirectToLogin.razor","NexusReader.UI.Shared/MainHubLayout.razor","NexusReader.UI.Shared/Components/NexusIcon.razor","NexusReader.UI.Shared/Components/NexusIcon.razor"]},{"kind":"orchestration-method","label":"Retry button onclick (anonymous lambda)","line":30,"summary":"Contains 1 architectural actions relevant to business execution.","confidence":0.65,"evidencePaths":["NexusReader.UI.Shared/Routes.razor","unknown"]}]}