样式修改

This commit is contained in:
董宏凯 committed 2026-05-23 17:43:46 +08:00
1 parent d6ff00226a
commit 6f9d81ca68
4 files changed
+991 -991

No files matched your search

+169 -169
View File
@@ -397,53 +397,53 @@ function SidebarGroup({ className, ...props }: React.ComponentProps<"div">) {
); );
} }
const SidebarGroupLabel = React.forwardRef< const SidebarGroupLabel = React.forwardRef<
HTMLDivElement, HTMLDivElement,
React.ComponentProps<"div"> & { asChild?: boolean } React.ComponentProps<"div"> & { asChild?: boolean }
>(({ className, asChild = false, ...props }, ref) => { >(({ className, asChild = false, ...props }, ref) => {
const Comp = asChild ? Slot : "div"; const Comp = asChild ? Slot : "div";
return (
<Comp
ref={ref}
data-slot="sidebar-group-label"
data-sidebar="group-label"
className={cn(
"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
className,
)}
{...props}
/>
);
});
SidebarGroupLabel.displayName = "SidebarGroupLabel";
const SidebarGroupAction = React.forwardRef< return (
HTMLButtonElement, <Comp
React.ComponentProps<"button"> & { asChild?: boolean } ref={ref}
>(({ className, asChild = false, ...props }, ref) => { data-slot="sidebar-group-label"
const Comp = asChild ? Slot : "button"; data-sidebar="group-label"
className={cn(
return ( "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
<Comp "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
ref={ref} className,
data-slot="sidebar-group-action" )}
data-sidebar="group-action" {...props}
className={cn( />
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", );
// Increases the hit area of the button on mobile. });
"after:absolute after:-inset-2 md:after:hidden",
"group-data-[collapsible=icon]:hidden", SidebarGroupLabel.displayName = "SidebarGroupLabel";
className,
)} const SidebarGroupAction = React.forwardRef<
{...props} HTMLButtonElement,
/> React.ComponentProps<"button"> & { asChild?: boolean }
); >(({ className, asChild = false, ...props }, ref) => {
}); const Comp = asChild ? Slot : "button";
SidebarGroupAction.displayName = "SidebarGroupAction"; return (
<Comp
ref={ref}
data-slot="sidebar-group-action"
data-sidebar="group-action"
className={cn(
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
// Increases the hit area of the button on mobile.
"after:absolute after:-inset-2 md:after:hidden",
"group-data-[collapsible=icon]:hidden",
className,
)}
{...props}
/>
);
});
SidebarGroupAction.displayName = "SidebarGroupAction";
function SidebarGroupContent({ function SidebarGroupContent({
className, className,
@@ -503,99 +503,99 @@ const sidebarMenuButtonVariants = cva(
}, },
); );
const SidebarMenuButton = React.forwardRef< const SidebarMenuButton = React.forwardRef<
HTMLButtonElement, HTMLButtonElement,
React.ComponentProps<"button"> & { React.ComponentProps<"button"> & {
asChild?: boolean; asChild?: boolean;
isActive?: boolean; isActive?: boolean;
tooltip?: string | React.ComponentProps<typeof TooltipContent>; tooltip?: string | React.ComponentProps<typeof TooltipContent>;
} & VariantProps<typeof sidebarMenuButtonVariants> } & VariantProps<typeof sidebarMenuButtonVariants>
>( >(
( (
{ {
asChild = false, asChild = false,
isActive = false, isActive = false,
variant = "default", variant = "default",
size = "default", size = "default",
tooltip, tooltip,
className, className,
...props ...props
}, },
ref, ref,
) => { ) => {
const Comp = asChild ? Slot : "button"; const Comp = asChild ? Slot : "button";
const { isMobile, state } = useSidebar(); const { isMobile, state } = useSidebar();
const button = (
<Comp
ref={ref}
data-slot="sidebar-menu-button"
data-sidebar="menu-button"
data-size={size}
data-active={isActive}
className={cn(sidebarMenuButtonVariants({ variant, size }), className)}
{...props}
/>
);
if (!tooltip) {
return button;
}
if (typeof tooltip === "string") {
tooltip = {
children: tooltip,
};
}
return (
<Tooltip>
<TooltipTrigger asChild>{button}</TooltipTrigger>
<TooltipContent
side="right"
align="center"
hidden={state !== "collapsed" || isMobile}
{...tooltip}
/>
</Tooltip>
);
},
);
SidebarMenuButton.displayName = "SidebarMenuButton";
const SidebarMenuAction = React.forwardRef< const button = (
HTMLButtonElement, <Comp
React.ComponentProps<"button"> & { ref={ref}
asChild?: boolean; data-slot="sidebar-menu-button"
showOnHover?: boolean; data-sidebar="menu-button"
} data-size={size}
>(({ className, asChild = false, showOnHover = false, ...props }, ref) => { data-active={isActive}
const Comp = asChild ? Slot : "button"; className={cn(sidebarMenuButtonVariants({ variant, size }), className)}
{...props}
return ( />
<Comp );
ref={ref}
data-slot="sidebar-menu-action" if (!tooltip) {
data-sidebar="menu-action" return button;
className={cn( }
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
// Increases the hit area of the button on mobile. if (typeof tooltip === "string") {
"after:absolute after:-inset-2 md:after:hidden", tooltip = {
"peer-data-[size=sm]/menu-button:top-1", children: tooltip,
"peer-data-[size=default]/menu-button:top-1.5", };
"peer-data-[size=lg]/menu-button:top-2.5", }
"group-data-[collapsible=icon]:hidden",
showOnHover && return (
"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0", <Tooltip>
className, <TooltipTrigger asChild>{button}</TooltipTrigger>
)} <TooltipContent
{...props} side="right"
/> align="center"
); hidden={state !== "collapsed" || isMobile}
}); {...tooltip}
/>
SidebarMenuAction.displayName = "SidebarMenuAction"; </Tooltip>
);
},
);
SidebarMenuButton.displayName = "SidebarMenuButton";
const SidebarMenuAction = React.forwardRef<
HTMLButtonElement,
React.ComponentProps<"button"> & {
asChild?: boolean;
showOnHover?: boolean;
}
>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
const Comp = asChild ? Slot : "button";
return (
<Comp
ref={ref}
data-slot="sidebar-menu-action"
data-sidebar="menu-action"
className={cn(
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
// Increases the hit area of the button on mobile.
"after:absolute after:-inset-2 md:after:hidden",
"peer-data-[size=sm]/menu-button:top-1",
"peer-data-[size=default]/menu-button:top-1.5",
"peer-data-[size=lg]/menu-button:top-2.5",
"group-data-[collapsible=icon]:hidden",
showOnHover &&
"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
className,
)}
{...props}
/>
);
});
SidebarMenuAction.displayName = "SidebarMenuAction";
function SidebarMenuBadge({ function SidebarMenuBadge({
className, className,
@@ -686,37 +686,37 @@ function SidebarMenuSubItem({
); );
} }
const SidebarMenuSubButton = React.forwardRef< const SidebarMenuSubButton = React.forwardRef<
HTMLAnchorElement, HTMLAnchorElement,
React.ComponentProps<"a"> & { React.ComponentProps<"a"> & {
asChild?: boolean; asChild?: boolean;
size?: "sm" | "md"; size?: "sm" | "md";
isActive?: boolean; isActive?: boolean;
} }
>(({ asChild = false, size = "md", isActive = false, className, ...props }, ref) => { >(({ asChild = false, size = "md", isActive = false, className, ...props }, ref) => {
const Comp = asChild ? Slot : "a"; const Comp = asChild ? Slot : "a";
return ( return (
<Comp <Comp
ref={ref} ref={ref}
data-slot="sidebar-menu-sub-button" data-slot="sidebar-menu-sub-button"
data-sidebar="menu-sub-button" data-sidebar="menu-sub-button"
data-size={size} data-size={size}
data-active={isActive} data-active={isActive}
className={cn( className={cn(
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
size === "sm" && "text-xs", size === "sm" && "text-xs",
size === "md" && "text-sm", size === "md" && "text-sm",
"group-data-[collapsible=icon]:hidden", "group-data-[collapsible=icon]:hidden",
className, className,
)} )}
{...props} {...props}
/> />
); );
}); });
SidebarMenuSubButton.displayName = "SidebarMenuSubButton"; SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
export { export {
Sidebar, Sidebar,
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -132,7 +132,7 @@ agents_api:
enabled: true enabled: true
database: database:
backend: mysql backend: memory # 临时:MySQL 服务器挂了,先跑内存;恢复后改回 mysql
mysql_url: $MYSQL_DATABASE_URL mysql_url: $MYSQL_DATABASE_URL
pool_size: 10 pool_size: 10
echo_sql: false echo_sql: false
+1 -1
View File
@@ -114,7 +114,7 @@ skills:
agents_api: agents_api:
enabled: true enabled: true
database: database:
backend: mysql backend: memory # 临时:MySQL 服务器挂了,先跑内存;恢复后改回 mysql
mysql_url: $MYSQL_DATABASE_URL mysql_url: $MYSQL_DATABASE_URL
pool_size: 10 pool_size: 10
echo_sql: false echo_sql: false