Files
jdescopingtool/NEW/src/JdeScoping.Client/Layout/MainLayout.razor
T
Joseph Doherty 80057590f4 feat(client): add pipeline viewer to navigation
Add navigation link to the ETL Pipeline Viewer page in the main navigation
bar, providing easy access for users to monitor and inspect pipeline
configurations and execution status.
2026-01-07 08:25:25 -05:00

68 lines
2.4 KiB
Plaintext

@inherits LayoutComponentBase
@using JdeScoping.Core.ApiContracts
@inject IAuthApiClient AuthApi
@inject NavigationManager NavigationManager
<RadzenLayout>
<RadzenHeader class="navbar-fixed-top">
<div class="navbar-container">
<div class="navbar-left">
<a href="/" class="navbar-brand">JDE Scoping Tool</a>
<nav class="navbar-nav">
<NavLink class="nav-link" href="/" Match="NavLinkMatch.All">Searches</NavLink>
<NavLink class="nav-link" href="/search">New Search</NavLink>
<NavLink class="nav-link" href="/search/queue">Search Queue</NavLink>
<NavLink class="nav-link" href="/refresh-status">Refresh Status</NavLink>
<NavLink class="nav-link" href="/admin/pipeline-viewer">Pipeline Viewer</NavLink>
</nav>
</div>
<div class="navbar-right">
<AuthorizeView>
<Authorized>
<span class="navbar-user">@context.User.Identity?.Name</span>
<RadzenButton Text="Logout" ButtonStyle="ButtonStyle.Light" Size="ButtonSize.Small" Click="@LogoutAsync" />
</Authorized>
<NotAuthorized>
<RadzenButton Text="Login" ButtonStyle="ButtonStyle.Primary" Size="ButtonSize.Small" Click="@GoToLogin" />
</NotAuthorized>
</AuthorizeView>
</div>
</div>
</RadzenHeader>
<RadzenBody class="main-body">
<div class="body-content">
<div class="container-fluid">
@Body
</div>
</div>
</RadzenBody>
<RadzenFooter>
<RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" JustifyContent="JustifyContent.Center" Gap="0" class="rz-px-4">
<RadzenText TextStyle="TextStyle.Caption" class="rz-m-0">
JDE Scoping Tool Version 4
</RadzenText>
</RadzenStack>
</RadzenFooter>
</RadzenLayout>
<RadzenDialog />
<RadzenNotification />
<RadzenContextMenu />
<RadzenTooltip />
@code {
private async Task LogoutAsync()
{
// Call logout API - navigate to login regardless of result
await AuthApi.LogoutAsync();
NavigationManager.NavigateTo("/login");
}
private void GoToLogin()
{
NavigationManager.NavigateTo("/login");
}
}