ee14f5fbe4
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 24s
Prepare Release / Build & Create Release (push) Successful in 59s
Prepare Release / Release Notification (push) Successful in 1s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m58s
102 lines
3.7 KiB
Plaintext
102 lines
3.7 KiB
Plaintext
@page
|
|
@model QuantEngine.Web.Pages.Admin.Dashboard.IndexModel
|
|
@{
|
|
ViewData["Title"] = "대시보드";
|
|
}
|
|
|
|
<!-- Page Header -->
|
|
<div class="page-header">
|
|
<h1 class="page-title">대시보드</h1>
|
|
<p class="page-subtitle">QuantEngine 시스템 개요 및 상태</p>
|
|
</div>
|
|
|
|
<!-- Stats Row -->
|
|
<div class="row mb-4">
|
|
<div class="col-md-3">
|
|
<div class="stat-card">
|
|
<div class="stat-card-label">활성 사용자</div>
|
|
<div class="stat-card-number">@(Model.ActiveUsersCount ?? 0)</div>
|
|
<small class="text-muted">등록된 관리자</small>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="stat-card">
|
|
<div class="stat-card-label">최근 수집</div>
|
|
<div class="stat-card-number">@(Model.RecentRunsCount ?? 0)</div>
|
|
<small class="text-muted">데이터 수집 실행</small>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="stat-card">
|
|
<div class="stat-card-label">데이터베이스</div>
|
|
<div class="stat-card-number">
|
|
@if (Model.IsDatabaseConnected)
|
|
{
|
|
<span class="status-dot active"></span><text>연결됨</text>
|
|
}
|
|
else
|
|
{
|
|
<span class="status-dot" style="background-color:#e74c3c;"></span><text>연결 끊김</text>
|
|
}
|
|
</div>
|
|
<small class="text-muted">@(Model.IsDatabaseConnected ? "PostgreSQL 정상" : "데이터 조회 실패 - 로그 확인 필요")</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main Content Row -->
|
|
<div class="row">
|
|
<!-- Quick Actions Card -->
|
|
<div class="col-lg-6">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="card-title">빠른 작업</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="mb-3">
|
|
<a href="/Admin/Collection" class="btn btn-sm btn-primary w-100">
|
|
<i class="ti ti-database me-1"></i> 데이터 수집 시작
|
|
</a>
|
|
</div>
|
|
<div class="mb-3">
|
|
<a href="/Admin/Users" class="btn btn-sm btn-outline-primary w-100">
|
|
<i class="ti ti-users me-1"></i> 사용자 관리
|
|
</a>
|
|
</div>
|
|
<div class="mb-3">
|
|
<a href="/Admin/Monitoring" class="btn btn-sm btn-outline-primary w-100">
|
|
<i class="ti ti-eye me-1"></i> 모니터링 보기
|
|
</a>
|
|
</div>
|
|
<hr>
|
|
<div class="text-center">
|
|
<small class="text-muted">마지막 갱신: @DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- System Info Card -->
|
|
<div class="col-lg-6">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="card-title">시스템 정보</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="mb-2">
|
|
<span class="text-muted">환경:</span>
|
|
<strong>@Model.EnvironmentName</strong>
|
|
</div>
|
|
<div class="mb-2">
|
|
<span class="text-muted">데이터베이스:</span>
|
|
<strong>@(Model.IsDatabaseConnected ? "연결됨" : "연결 끊김")</strong>
|
|
</div>
|
|
<div>
|
|
<span class="text-muted">배포 버전:</span>
|
|
<strong>@Model.AppVersion</strong>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|