Standardize admin empty states
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s

This commit is contained in:
2026-07-09 16:24:39 +09:00
parent b9466b30a2
commit 91424bd8a2
5 changed files with 18 additions and 28 deletions
@@ -6,16 +6,10 @@
@await Html.PartialAsync("_AdminPageHeader", new TaxBaik.Web.Models.AdminPageHeaderModel("Content", "공지사항 관리", "공지 목록을 서버 렌더링으로 표시합니다.", "/admin/announcements/create", "공지 작성"))
@if (Model.Items.Count == 0)
{
<div class="empty py-5 border rounded bg-body">
<div class="empty-img">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-bell-off" width="48" height="48" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M13.58 17H4a1 1 0 0 1-1-1v-1a3 3 0 0 1 3-3h1"></path>
<path d="M18 8a6 6 0 1 0-11.7 2"></path>
<path d="M18 8a6 6 0 0 1 1.7 4v1a1 1 0 0 0 .3.7"></path>
<path d="M3 3l18 18"></path>
</svg>
<div class="card">
<div class="card-body">
@await Html.PartialAsync("_EmptyState", "공지사항이 없습니다.")
</div>
<p class="empty-title">공지사항이 없습니다.</p>
</div>
}
else
@@ -6,16 +6,10 @@
@await Html.PartialAsync("_AdminPageHeader", new TaxBaik.Web.Models.AdminPageHeaderModel("Support", "FAQ 관리", "질문과 답변을 관리합니다.", "/admin/faqs/create", "FAQ 작성"))
@if (Model.Items.Count == 0)
{
<div class="empty py-5 border rounded bg-body">
<div class="empty-img">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-help-off" width="48" height="48" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M3 3l18 18"></path>
<path d="M12 17v.01"></path>
<path d="M12 13a2 2 0 1 0-2-2"></path>
<path d="M12 7a5 5 0 0 1 5 5"></path>
</svg>
<div class="card">
<div class="card-body">
@await Html.PartialAsync("_EmptyState", "FAQ가 없습니다.")
</div>
<p class="empty-title">FAQ가 없습니다.</p>
</div>
}
else
@@ -19,16 +19,10 @@
</form>
@if (Model.Items.Count == 0)
{
<div class="empty py-5 border rounded bg-body">
<div class="empty-img">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-message-off" width="48" height="48" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M3 3l18 18"></path>
<path d="M8 9h8"></path>
<path d="M8 13h4"></path>
<path d="M21 12c0 4.97-4.03 9-9 9a8.96 8.96 0 0 1-4.24-1.06L3 21l1.06-4.76A8.96 8.96 0 0 1 3 12c0-4.97 4.03-9 9-9 1.69 0 3.27.47 4.62 1.28"></path>
</svg>
<div class="card">
<div class="card-body">
@await Html.PartialAsync("_EmptyState", "문의 목록이 없습니다.")
</div>
<p class="empty-title">문의 목록이 없습니다.</p>
</div>
}
else
@@ -2,7 +2,7 @@
@{
var emptyMessage = string.IsNullOrWhiteSpace(Model) ? "데이터가 없습니다." : Model;
}
<div class="empty py-3">
<div class="empty admin-empty-state">
<div class="empty-img">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-database-off" width="48" height="48" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M4 6c0 1.657 4.03 3 9 3s9-1.343 9-3-4.03-3-9-3-9 1.343-9 3" />
+8
View File
@@ -447,6 +447,14 @@ html, body {
background: #fff;
}
.admin-empty-state {
padding-block: 1.5rem;
}
.admin-empty-state .empty-img {
margin-bottom: 0.75rem;
}
.blog-editor-shell .editor-toolbar .btn {
border-radius: var(--radius-full);
}