feat(layout): 좌측하단 내비게이션 드로어에 버전 정보 및 배포 일시 추가 및 빌드 자동화 연계
Deploy to Production / Build & Deploy to Production (push) Successful in 1m35s
Snapshot Admin Deployment / build-and-deploy (push) Failing after 46s
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 8s
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 6s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
Deploy to Production / Build & Deploy to Production (push) Successful in 1m35s
Snapshot Admin Deployment / build-and-deploy (push) Failing after 46s
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 8s
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 6s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
@inherits LayoutComponentBase
|
||||
@inherits LayoutComponentBase
|
||||
@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment WebHostEnvironment
|
||||
|
||||
<MudLayout>
|
||||
<MudAppBar Elevation="1">
|
||||
@@ -9,11 +10,19 @@
|
||||
<MudIconButton Icon="@Icons.Material.Filled.Settings" Color="Color.Inherit" />
|
||||
</MudAppBar>
|
||||
|
||||
<MudDrawer @bind-Open="@drawerOpen" Elevation="1">
|
||||
<MudDrawer @bind-Open="@drawerOpen" Elevation="1" Class="d-flex flex-column h-100">
|
||||
<MudDrawerHeader>
|
||||
<MudText Typo="Typo.h6">Menu</MudText>
|
||||
</MudDrawerHeader>
|
||||
|
||||
<NavMenu />
|
||||
|
||||
<MudSpacer />
|
||||
|
||||
<div class="px-4 py-3 mt-auto" style="border-top: 1px solid rgba(0,0,0,0.08); font-size: 11px; color: var(--mud-palette-text-secondary); line-height: 1.5; background-color: rgba(0,0,0,0.01);">
|
||||
<div style="font-weight: 500; margin-bottom: 2px;">QuantEngine v@appVersion</div>
|
||||
<div style="font-size: 10px; opacity: 0.85;">배포: @buildTime</div>
|
||||
</div>
|
||||
</MudDrawer>
|
||||
|
||||
<MudMainContent>
|
||||
@@ -32,9 +41,39 @@
|
||||
|
||||
@code {
|
||||
private bool drawerOpen = true;
|
||||
private string appVersion = "Local Debug";
|
||||
private string buildTime = "N/A";
|
||||
|
||||
private void DrawerToggle()
|
||||
{
|
||||
drawerOpen = !drawerOpen;
|
||||
}
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
try
|
||||
{
|
||||
var versionFilePath = Path.Combine(WebHostEnvironment.WebRootPath, "version.json");
|
||||
if (File.Exists(versionFilePath))
|
||||
{
|
||||
var jsonContent = File.ReadAllText(versionFilePath);
|
||||
using var doc = System.Text.Json.JsonDocument.Parse(jsonContent);
|
||||
var root = doc.RootElement;
|
||||
|
||||
if (root.TryGetProperty("version", out var versionProp))
|
||||
{
|
||||
appVersion = versionProp.GetString() ?? "Local Debug";
|
||||
}
|
||||
if (root.TryGetProperty("built", out var builtProp))
|
||||
{
|
||||
buildTime = builtProp.GetString() ?? "N/A";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Fail-safe default fallback values
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user