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:
parent
f150b39f1e
commit
6535efdd97
24 changed files with 255 additions and 210 deletions
29
apps/web/features/workspace/components/workspace-avatar.tsx
Normal file
29
apps/web/features/workspace/components/workspace-avatar.tsx
Normal 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 };
|
||||
Loading…
Add table
Add a link
Reference in a new issue