Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions internal/admin/dashboard/static/dist/index.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<script>
// Loading placeholder row (.loading-state markup with the CSS spinner).
// Global modifier classes can override the default min-height by setting
// --loading-state-min-height on the same element.
let { label = "Loading...", class: className = "" } = $props();
</script>

Expand All @@ -14,7 +16,7 @@
align-items: center;
justify-content: center;
gap: 10px;
min-height: 64px;
min-height: var(--loading-state-min-height, 64px);
color: var(--text-muted);
font-size: 14px;
}
Expand Down
47 changes: 36 additions & 11 deletions web/dashboard/src/styles/page-globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -238,19 +238,44 @@
min-height: 96px;
}

/* Models loading pill: an out-of-flow overlay like the flash region —
fixed to the viewport, centered in the content area (left/right + auto
margins), below flash toasts (z 120) and above the table, and click-
transparent so it never blocks the table beneath it. The pill renders
LoadingState's scoped .loading-state, which wins the min-height tie by
specificity, so the compact height is set through the component's
--loading-state-min-height hook. */
.models-loading-state {
position: sticky;
top: 16px;
z-index: 7;
width: fit-content;
min-height: 0;
margin: 0 auto 16px;
padding: 10px 14px;
border: 1px solid var(--border);
border-radius: var(--radius);
background: var(--bg-surface);
box-shadow: 0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);
position: fixed;
top: 16px;
left: var(--sidebar-width);
right: 0;
margin: 0 auto;
width: fit-content;
z-index: 110;
pointer-events: none;
--loading-state-min-height: 0;

padding: 10px 14px;
Comment thread
coderabbitai[bot] marked this conversation as resolved.
border: 1px solid var(--border);
border-radius: var(--radius);
background: var(--bg-surface);
box-shadow: 0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);
}

/* Mobile sidebar is 60px; mirror .flash-region's mobile offset. */
@media (max-width: 768px) {
.models-loading-state {
left: 60px;
}
}

/* Desktop collapsed sidebar is 60px. Plain CSS — no Svelte
:global(...) wrapper — because .content is a sibling of the sidebar
under .app, so the descendant selector reaches the pill. */
.sidebar.sidebar-collapsed ~ .content .models-loading-state {
left: 60px;
}

.alias-create-icon {
width: 16px;
Expand Down