fix: stabilize settings controls

This commit is contained in:
2026-07-02 19:54:16 -07:00
parent 5412bbb143
commit affad1f59d
4 changed files with 168 additions and 132 deletions

View File

@@ -1,6 +1,5 @@
import { redirect } from "next/navigation";
import { Badge } from "@/components/ui/badge";
import { getCurrentAuthContext } from "@/modules/core/server/auth";
import { hasPermission } from "@/modules/core/server/permissions";
import { getSystemSettings } from "@/modules/core/server/system-settings";
@@ -20,12 +19,6 @@ export default async function GlobalSettingsPage(): Promise<React.ReactElement>
return (
<div className="flex flex-col gap-5">
<section>
<Badge variant="success">Global</Badge>
<h2 className="mt-3 text-xl font-semibold"></h2>
<p className="mt-1 text-sm text-muted-foreground">OIDC </p>
</section>
<GlobalSettingsClient settings={settings} />
</div>
);

View File

@@ -124,17 +124,6 @@ a,
}
}
@keyframes dialog-panel-enter {
from {
opacity: 0;
transform: translate(-50%, -48%) scale(0.97);
}
to {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
}
.page-enter {
animation: page-enter 180ms ease-out both;
}
@@ -147,10 +136,6 @@ a,
animation: page-enter 160ms ease-out both;
}
.dialog-panel-enter {
animation: dialog-panel-enter 160ms ease-out both;
}
:where([role="presentation"].fixed.inset-0.bg-kumo-recessed) {
z-index: 40;
}
@@ -380,6 +365,22 @@ a,
font-weight: 600;
}
.teatea-checkbox {
display: inline-flex;
width: 100%;
align-items: flex-start;
gap: 0.75rem;
}
.teatea-checkbox :where([data-kumo-component="Checkbox"]),
.teatea-checkbox-control {
width: 1.25rem;
height: 1.25rem;
min-width: 1.25rem;
min-height: 1.25rem;
flex-shrink: 0;
}
.teatea-checkbox :where([data-kumo-component="Checkbox"]) {
border: 1px solid var(--input);
border-radius: var(--radius-sm);
@@ -387,6 +388,12 @@ a,
color: var(--primary-foreground);
}
.teatea-checkbox :where([data-kumo-component="Checkbox"][data-checked]),
.teatea-checkbox :where([data-kumo-component="Checkbox"][aria-checked="true"]) {
border-color: var(--primary);
background: var(--primary);
}
.teatea-badge {
border-radius: var(--radius-sm);
font-weight: 600;
@@ -430,11 +437,9 @@ a,
inset: 0 !important;
height: fit-content;
margin: auto !important;
max-width: calc(100vw - 1.5rem);
min-width: min(calc(100vw - 1.5rem), 48rem) !important;
min-width: 0 !important;
transform: none !important;
translate: 0 0 !important;
width: min(calc(100vw - 1.5rem), 48rem) !important;
border: 1px solid var(--border);
border-radius: var(--radius-lg);
background: var(--card);
@@ -453,7 +458,6 @@ a,
.page-enter,
.route-transition,
.table-row-enter,
.dialog-panel-enter,
.teatea-select-panel,
.loading-progress {
animation: none;