feat(ui): UI/UX polish — layout, sidebar, button, theme improvements

- Fix global scrollbar overflow by removing h-svh from html element
- Add h-full overflow-hidden to html/body for proper app-like layout
- Fix default button variant: add shadow-sm and hover:bg-primary/90
- Update sidebar create-issue button to bg-background with shadow
- Add WorkspaceAvatar component and search/new-issue actions to sidebar header
- Improve theme provider with TooltipProvider wrapper
- Polish various page layouts, pickers, modals, and code block styling
- Clean up custom.css unused styles

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Naiyuan Qing 2026-03-25 18:53:14 +08:00
parent f150b39f1e
commit 6535efdd97
24 changed files with 255 additions and 210 deletions

View file

@ -0,0 +1,29 @@
import { cn } from "@/lib/utils";
const sizeMap = {
sm: "h-5 w-5 text-[10px] rounded",
md: "h-7 w-7 text-xs rounded-md",
lg: "h-9 w-9 text-sm rounded-md",
} as const;
interface WorkspaceAvatarProps {
name: string;
size?: keyof typeof sizeMap;
className?: string;
}
function WorkspaceAvatar({ name, size = "sm", className }: WorkspaceAvatarProps) {
return (
<span
className={cn(
"inline-flex shrink-0 items-center justify-center border bg-muted font-semibold text-muted-foreground",
sizeMap[size],
className
)}
>
{name.charAt(0).toUpperCase()}
</span>
);
}
export { WorkspaceAvatar, type WorkspaceAvatarProps };