fix(frontend): resolve scroll, diagnosis layout, and multi-select regressions (#147)

* fix(frontend): restore modal scroll and bridged multi-select UI

* fix(frontend): collapse multi-select panel and clean diagnosis labels
This commit is contained in:
sagit
2026-02-19 16:10:02 +08:00
committed by GitHub
parent e5c57f81ad
commit 6e5a71f489
8 changed files with 278 additions and 54 deletions
@@ -8,7 +8,8 @@ import {
} from "@/components/ui/accordion";
import { cn } from "@/lib/utils";
export interface AccordionProps extends Omit<React.ComponentProps<"div">, "children"> {
export interface AccordionProps
extends Omit<React.ComponentProps<"div">, "children"> {
children: React.ReactNode;
variant?: "bordered" | "light" | "splitted";
}
@@ -21,9 +22,27 @@ export interface AccordionItemProps {
value?: string;
}
export function Accordion({ children, className }: AccordionProps) {
function variantClass(variant: AccordionProps["variant"]) {
if (variant === "splitted") {
return "[&>[data-slot=accordion-item]]:mb-3 [&>[data-slot=accordion-item]]:rounded-xl [&>[data-slot=accordion-item]]:border [&>[data-slot=accordion-item]]:border-divider [&>[data-slot=accordion-item]]:border-b-0 [&>[data-slot=accordion-item]]:bg-content1 [&>[data-slot=accordion-item]]:shadow-sm [&>[data-slot=accordion-item]]:overflow-hidden [&>[data-slot=accordion-item]:last-child]:mb-0";
}
if (variant === "bordered") {
return "rounded-xl border border-divider bg-content1 overflow-hidden [&>[data-slot=accordion-item]]:border-b [&>[data-slot=accordion-item]:last-child]:border-b-0";
}
return "";
}
export function Accordion({
children,
className,
variant = "light",
}: AccordionProps) {
return (
<BaseAccordion className={cn("w-full", className)} type="multiple">
<BaseAccordion
className={cn("w-full", variantClass(variant), className)}
type="multiple"
>
{children}
</BaseAccordion>
);