Studio: fully rounded Hub pills and refreshed menu icons (#6248)
Rounds out the Hub chrome and aligns a handful of icons with the rest of the app. The header stat pills, HTTP/Xet toggle, HF token button, info chips, status badges and the single-row download card are now full pills, and the All formats style dropdown matches the composer + menu geometry. Also widens the chat options menu so "Move to project" fits on one line, and swaps a few icons to their HugeIcons equivalents. Changes: - hub.css: hub-tag-soft/hub-tag-meta pills go fully rounded; a single- row hub-download-card reads as a full pill via :has(), while the expanded card keeps its 22px radius, border and background. - hub-option-menu.tsx: dropdown surface and items match the composer + menu (22px container, 10px side padding, 12px item radius). - hf-token-indicator.tsx, transport-toggle.tsx: fully rounded with a fixed 26px height so they line up with the neighbouring pills. - model-inspector.tsx, dot-tag.tsx, gguf-download-card.tsx: status and info chips go fully rounded. - models-header.tsx: Eject uses RemoveCircleIcon; active model pill fully rounded. - on-device-folders-dialog.tsx: folder rows use Folder02Icon. - pickers.tsx: Recommended star uses the HugeIcons star. - command.tsx, chat-search-dialog.tsx, prompt-storage-dialog.tsx: search fields use the HugeIcons Search01Icon. - app-sidebar.tsx: chat options menu widened to w-56. Pure styling and icon swaps, no behavior changes.
This commit is contained in:
parent
240c0c3500
commit
9df607c0de
14 changed files with 37 additions and 31 deletions
|
|
@ -610,7 +610,7 @@ export function AppSidebar() {
|
|||
side="bottom"
|
||||
align="start"
|
||||
sideOffset={0}
|
||||
className="unsloth-plus-menu menu-flat-destructive w-52"
|
||||
className="unsloth-plus-menu menu-flat-destructive w-56"
|
||||
>
|
||||
<DropdownMenuItem onSelect={() => openRenameChat(item)}>
|
||||
<HugeiconsIcon icon={Edit03Icon} strokeWidth={1.75} className="size-icon" />
|
||||
|
|
|
|||
|
|
@ -39,11 +39,11 @@ import { extractParamLabel } from "@/lib/model-size";
|
|||
import { cn, formatCompact } from "@/lib/utils";
|
||||
import type { VramFitStatus } from "@/lib/vram";
|
||||
import { checkVramFit, estimateLoadingVram } from "@/lib/vram";
|
||||
import { Add01Icon, Cancel01Icon, Download01Icon, Folder02Icon, Search01Icon } from "@hugeicons/core-free-icons";
|
||||
import { Add01Icon, Cancel01Icon, Download01Icon, Folder02Icon, Search01Icon, StarIcon } from "@hugeicons/core-free-icons";
|
||||
import { HugeiconsIcon } from "@hugeicons/react";
|
||||
import { FolderBrowser } from "./folder-browser";
|
||||
import { ModelDeleteAction } from "./model-delete-action";
|
||||
import { ChevronDownIcon, ChevronRightIcon, StarIcon } from "lucide-react";
|
||||
import { ChevronDownIcon, ChevronRightIcon } from "lucide-react";
|
||||
import {
|
||||
type ReactNode,
|
||||
useCallback,
|
||||
|
|
@ -1231,7 +1231,7 @@ export function HubModelPicker({
|
|||
{!showHfSection && cachedReady ? (
|
||||
<>
|
||||
<ListLabel
|
||||
icon={<StarIcon className="size-3" />}
|
||||
icon={<HugeiconsIcon icon={StarIcon} className="size-3" />}
|
||||
collapsed={recommendedCollapsed}
|
||||
onToggle={() => setRecommendedCollapsed((v) => !v)}
|
||||
>Recommended</ListLabel>
|
||||
|
|
@ -1292,7 +1292,7 @@ export function HubModelPicker({
|
|||
|
||||
{showHfSection && filteredRecommendedIds.length > 0 ? (
|
||||
<>
|
||||
<ListLabel icon={<StarIcon className="size-3" />}>Recommended</ListLabel>
|
||||
<ListLabel icon={<HugeiconsIcon icon={StarIcon} className="size-3" />}>Recommended</ListLabel>
|
||||
{filteredRecommendedIds.map((id) => {
|
||||
const vram = recommendedVramMap.get(id);
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import {
|
|||
} from "@/components/ui/dialog";
|
||||
import { InputGroup, InputGroupAddon } from "@/components/ui/input-group";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { SearchIcon, Tick02Icon } from "@hugeicons/core-free-icons";
|
||||
import { Search01Icon, Tick02Icon } from "@hugeicons/core-free-icons";
|
||||
import { HugeiconsIcon } from "@hugeicons/react";
|
||||
|
||||
function Command({
|
||||
|
|
@ -86,7 +86,7 @@ function CommandInput({
|
|||
/>
|
||||
<InputGroupAddon>
|
||||
<HugeiconsIcon
|
||||
icon={SearchIcon}
|
||||
icon={Search01Icon}
|
||||
strokeWidth={2}
|
||||
className="size-4 shrink-0 opacity-50"
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue