change settings container to NonOverflowScrollArea

This commit is contained in:
2024-12-30 15:15:23 +08:00
parent 7a5bd999a8
commit dda88258ea
2 changed files with 24 additions and 5 deletions

View File

@@ -76,7 +76,7 @@ import {
} from "lucide-react"; } from "lucide-react";
import { Separator } from "@/components/ui/separator"; import { Separator } from "@/components/ui/separator";
import { Slider } from "@/components/ui/slider"; import { Slider } from "@/components/ui/slider";
import { ScrollArea } from "@/components/ui/scroll-area"; import { NonOverflowScrollArea, ScrollArea } from "@/components/ui/scroll-area";
import { AppContext } from "@/pages/App"; import { AppContext } from "@/pages/App";
const TTS_VOICES: string[] = [ const TTS_VOICES: string[] = [
@@ -520,8 +520,8 @@ export default (props: { setShow: Dispatch<boolean> }) => {
{Tr("Settings")} {Tr("Settings")}
</Button> </Button>
</SheetTrigger> </SheetTrigger>
<SheetContent className="flex flex-col"> <SheetContent className="flex flex-col overflow-scroll">
<ScrollArea> <NonOverflowScrollArea>
<SheetHeader> <SheetHeader>
<SheetTitle>{Tr("Settings")}</SheetTitle> <SheetTitle>{Tr("Settings")}</SheetTitle>
<SheetDescription> <SheetDescription>
@@ -1142,7 +1142,7 @@ export default (props: { setShow: Dispatch<boolean> }) => {
</a> </a>
</p> </p>
</div> </div>
</ScrollArea> </NonOverflowScrollArea>
</SheetContent> </SheetContent>
</Sheet> </Sheet>
); );

View File

@@ -3,6 +3,24 @@ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
const NonOverflowScrollArea = React.forwardRef<
React.ElementRef<typeof ScrollAreaPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>
>(({ className, children, ...props }, ref) => (
<ScrollAreaPrimitive.Root
ref={ref}
className={cn("relative", className)}
{...props}
>
aaa
<ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit]">
{children}
</ScrollAreaPrimitive.Viewport>
<ScrollBar />
<ScrollAreaPrimitive.Corner />
</ScrollAreaPrimitive.Root>
));
const ScrollArea = React.forwardRef< const ScrollArea = React.forwardRef<
React.ElementRef<typeof ScrollAreaPrimitive.Root>, React.ElementRef<typeof ScrollAreaPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>
@@ -12,6 +30,7 @@ const ScrollArea = React.forwardRef<
className={cn("relative overflow-hidden", className)} className={cn("relative overflow-hidden", className)}
{...props} {...props}
> >
aaa
<ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit]"> <ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit]">
{children} {children}
</ScrollAreaPrimitive.Viewport> </ScrollAreaPrimitive.Viewport>
@@ -43,4 +62,4 @@ const ScrollBar = React.forwardRef<
)); ));
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName; ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
export { ScrollArea, ScrollBar }; export { NonOverflowScrollArea, ScrollArea, ScrollBar };