Files
artifactapi/ui/src/pages/Dashboard.css
T
benvin a481a5c3b7 feat: tree view for cached objects, top-files stats on dashboard (#48)
- Objects page renders paths as a collapsible tree instead of flat list
  with expand/collapse all, aggregated size/hits per directory
- Dashboard gains top-files-by-hits and top-files-by-bandwidth tables
- Backend: new /api/v2/stats/top-files-by-hits and
  /api/v2/stats/top-files-by-bandwidth endpoints
- Raised per_page max to 5000 for objects listing

---------

Co-authored-by: Ben Vincent <ben@unkin.net>
Reviewed-on: #48
2026-06-22 22:49:56 +10:00

83 lines
1.3 KiB
CSS

.stats-row {
display: flex;
gap: 16px;
margin-bottom: 24px;
flex-wrap: wrap;
}
.health-row {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 28px;
padding: 12px 16px;
background: var(--bg-surface);
border: 1px solid var(--border);
border-radius: var(--radius);
}
.health-label {
font-size: 0.85em;
font-weight: 600;
color: var(--text-muted);
margin-right: 4px;
}
.section-title {
font-size: 1.1em;
font-weight: 600;
color: var(--text-bright);
margin-bottom: 12px;
margin-top: 8px;
}
.error-banner {
background: rgba(239, 68, 68, 0.1);
border: 1px solid var(--red);
color: var(--red);
padding: 12px 16px;
border-radius: var(--radius);
font-size: 0.9em;
}
.loading {
color: var(--text-muted);
font-size: 0.9em;
padding: 32px 0;
}
.top-files-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 8px;
}
@media (max-width: 1100px) {
.top-files-grid {
grid-template-columns: 1fr;
}
}
.file-link {
display: flex;
flex-direction: column;
gap: 2px;
text-decoration: none;
color: inherit;
}
.file-link:hover .file-path {
text-decoration: underline;
}
.file-remote {
font-size: 0.75em;
color: var(--text-muted);
}
.file-path {
font-size: 0.82em;
word-break: break-all;
}