Main Layout

This commit is contained in:
Mike Phares 2023-01-23 13:48:43 -07:00
parent 38dd477443
commit 4b44775ce9
6 changed files with 60 additions and 60 deletions

View File

@ -47,50 +47,7 @@
</head> </head>
<body> <body>
<div class="navbar navbar-fixed-top @(@Model.AppSettings.IsDevelopment ? "test-database" : "" )"> <component type="typeof(App)" render-mode="ServerPrerendered" />
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="navbar-brand">
<a href="/"><img src="~/images/IFX_LOGO_RGB.png" height="20" /></a>
OI Metrology Viewer
</div>
</div>
@if (@Model.AppSettings.IsDevelopment)
{
<p class="navbar-text hidden-xs hidden-sm"><span class="test-database-text">TEST DATABASE</span></p>
}
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="AwaitingDisposition">Awaiting Disposition</a></li>
<li><a href="RunInfo">Run Information</a></li>
<li><a href="RunHeaders">Run Headers</a></li>
<li><a href="Export">Export</a></li>
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
</ul>
<p class="navbar-text navbar-right">
@User.Identity?.Name
</p>
</div>
</div>
</div>
<div class="container-fluid body-content">
<component type="typeof(App)" render-mode="ServerPrerendered" />
<hr />
<footer>
<p>&copy; @DateTime.Now.Year - Infineon Technologies</p>
@if (@Model.AppSettings.IsDevelopment)
{
<p><strong>Request ID:</strong><code>@Model.RequestId</code></p>
}
</footer>
</div>
<div id="MessageModal"></div>
<div id="blazor-error-ui"> <div id="blazor-error-ui">
<environment include="Staging,Production"> <environment include="Staging,Production">

View File

@ -1,17 +1,6 @@
using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.RazorPages;
using OI.Metrology.ClientHub.Models;
using System.Diagnostics;
namespace OI.Metrology.ClientHub.Pages; namespace OI.Metrology.ClientHub.Pages;
public partial class Host : PageModel public partial class Host : PageModel
{ { }
public AppSettings AppSettings { get; }
public string? RequestId { get; private set; }
public Host(AppSettings appSettings) => AppSettings = appSettings;
public void OnGet() => RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
}

View File

@ -26,6 +26,7 @@ internal class Program
_ = builder.Services.AddRazorPages(); _ = builder.Services.AddRazorPages();
_ = builder.Services.AddMudServices(); _ = builder.Services.AddMudServices();
_ = builder.Services.AddServerSideBlazor(); _ = builder.Services.AddServerSideBlazor();
_ = builder.Services.AddHttpContextAccessor();
_ = builder.Services.AddSingleton(_ => appSettings); _ = builder.Services.AddSingleton(_ => appSettings);
_ = builder.Services.AddSingleton<WeatherForecastService>(); _ = builder.Services.AddSingleton<WeatherForecastService>();

View File

@ -8,7 +8,48 @@
<MudThemeProvider @ref="@_MudThemeProvider" @bind-IsDarkMode="@_IsDarkMode" /> <MudThemeProvider @ref="@_MudThemeProvider" @bind-IsDarkMode="@_IsDarkMode" />
<MudPaper Style="padding:18px;"> <MudPaper Style="padding:18px;">
@Body <div class="navbar navbar-fixed-top @(AppSettings is not null && AppSettings.IsDevelopment ? "test-database" : "" )">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="navbar-brand">
<a href="/"><img src="images/IFX_LOGO_RGB.png" height="20" /></a>
OI Metrology Viewer
</div>
</div>
@if (AppSettings is not null && AppSettings.IsDevelopment)
{
<p class="navbar-text hidden-xs hidden-sm"><span class="test-database-text">TEST DATABASE</span></p>
}
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="AwaitingDisposition">Awaiting Disposition</a></li>
<li><a href="RunInfo">Run Information</a></li>
<li><a href="RunHeaders">Run Headers</a></li>
<li><a href="Export">Export</a></li>
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
</ul>
</div>
</div>
</div>
<div class="container-fluid body-content">
@Body
<hr />
<footer>
<p class="navbar-text navbar-right">
<MudSwitch @bind-Checked="@_IsDarkMode" Color="Color.Primary" Class="ma-4" T="bool" Label="Toggle Light/Dark Mode" />
</p>
<p>&copy; @DateTime.Now.Year - Infineon Technologies</p>
@if (AppSettings is not null && AppSettings.IsDevelopment)
{
<p><strong>Request ID:</strong><code>@_RequestId</code></p>
}
</footer>
</div>
</MudPaper> </MudPaper>
<MudSwitch @bind-Checked="@_IsDarkMode" Color="Color.Primary" Class="ma-4" T="bool" Label="Toggle Light/Dark Mode" /> <div id="MessageModal"></div>

View File

@ -1,4 +1,6 @@
using MudBlazor; using Microsoft.AspNetCore.Components;
using MudBlazor;
using System.Diagnostics;
namespace OI.Metrology.ClientHub.Shared; namespace OI.Metrology.ClientHub.Shared;
@ -7,10 +9,20 @@ public partial class MainLayout
bool _DrawerOpen = true; bool _DrawerOpen = true;
private bool _IsDarkMode; private bool _IsDarkMode;
private string? _RequestId;
private MudThemeProvider? _MudThemeProvider; private MudThemeProvider? _MudThemeProvider;
[Inject] protected Models.AppSettings? AppSettings { get; set; }
[Inject] protected IHttpContextAccessor? HttpContextAccessor { get; set; }
void DrawerToggle() => _DrawerOpen = !_DrawerOpen; void DrawerToggle() => _DrawerOpen = !_DrawerOpen;
protected override void OnParametersSet()
{
base.OnParametersSet();
_RequestId = Activity.Current?.Id ?? HttpContextAccessor?.HttpContext?.TraceIdentifier;
}
protected override async Task OnAfterRenderAsync(bool firstRender) protected override async Task OnAfterRenderAsync(bool firstRender)
{ {
if (firstRender && _MudThemeProvider is not null) if (firstRender && _MudThemeProvider is not null)

View File

@ -1,7 +1,7 @@
body { body {
padding-top: 50px; padding-top: 50px;
padding-bottom: 20px; padding-bottom: 20px;
background-color: #fafafa; background-color:darkgrey;
} }
/* Set padding to keep content from hitting the edges */ /* Set padding to keep content from hitting the edges */