Rename fold/unfold to collapse/expand across panel code

Aligns terminology with standard UI conventions. Renames props,
state, handlers, aria-labels, test descriptions, and the test file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Lukas
2026-03-14 12:01:13 +01:00
parent aa806d4fb9
commit 930301de71
4 changed files with 74 additions and 74 deletions

View File

@@ -22,8 +22,8 @@ interface StatBlockPanelProps {
) => Promise<void>;
refreshCache: () => Promise<void>;
panelRole: "browse" | "pinned";
isFolded: boolean;
onToggleFold: () => void;
isCollapsed: boolean;
onToggleCollapse: () => void;
onPin: () => void;
onUnpin: () => void;
showPinButton: boolean;
@@ -42,23 +42,23 @@ function extractSourceCode(cId: CreatureId): string {
return cId.slice(0, colonIndex).toUpperCase();
}
function FoldedTab({
function CollapsedTab({
creatureName,
side,
onToggleFold,
onToggleCollapse,
}: {
creatureName: string;
side: "left" | "right";
onToggleFold: () => void;
onToggleCollapse: () => void;
}) {
return (
<button
type="button"
onClick={onToggleFold}
onClick={onToggleCollapse}
className={`flex h-full w-[40px] cursor-pointer items-center justify-center text-muted-foreground hover:text-hover-neutral ${
side === "right" ? "self-start" : "self-end"
}`}
aria-label="Unfold stat block panel"
aria-label="Expand stat block panel"
>
<span className="writing-vertical-rl text-sm font-medium">
{creatureName}
@@ -70,13 +70,13 @@ function FoldedTab({
function PanelHeader({
panelRole,
showPinButton,
onToggleFold,
onToggleCollapse,
onPin,
onUnpin,
}: {
panelRole: "browse" | "pinned";
showPinButton: boolean;
onToggleFold: () => void;
onToggleCollapse: () => void;
onPin: () => void;
onUnpin: () => void;
}) {
@@ -87,9 +87,9 @@ function PanelHeader({
<Button
variant="ghost"
size="icon-sm"
onClick={onToggleFold}
onClick={onToggleCollapse}
className="text-muted-foreground"
aria-label="Fold stat block panel"
aria-label="Collapse stat block panel"
>
<PanelRightClose className="h-4 w-4" />
</Button>
@@ -124,48 +124,48 @@ function PanelHeader({
}
function DesktopPanel({
isFolded,
isCollapsed,
side,
creatureName,
panelRole,
showPinButton,
onToggleFold,
onToggleCollapse,
onPin,
onUnpin,
children,
}: {
isFolded: boolean;
isCollapsed: boolean;
side: "left" | "right";
creatureName: string;
panelRole: "browse" | "pinned";
showPinButton: boolean;
onToggleFold: () => void;
onToggleCollapse: () => void;
onPin: () => void;
onUnpin: () => void;
children: ReactNode;
}) {
const sideClasses = side === "left" ? "left-0 border-r" : "right-0 border-l";
const foldedTranslate =
const collapsedTranslate =
side === "right"
? "translate-x-[calc(100%-40px)]"
: "translate-x-[calc(-100%+40px)]";
return (
<div
className={`fixed top-0 bottom-0 flex w-[400px] flex-col border-border bg-card transition-slide-panel ${sideClasses} ${isFolded ? foldedTranslate : "translate-x-0"}`}
className={`fixed top-0 bottom-0 flex w-[400px] flex-col border-border bg-card transition-slide-panel ${sideClasses} ${isCollapsed ? collapsedTranslate : "translate-x-0"}`}
>
{isFolded ? (
<FoldedTab
{isCollapsed ? (
<CollapsedTab
creatureName={creatureName}
side={side}
onToggleFold={onToggleFold}
onToggleCollapse={onToggleCollapse}
/>
) : (
<>
<PanelHeader
panelRole={panelRole}
showPinButton={showPinButton}
onToggleFold={onToggleFold}
onToggleCollapse={onToggleCollapse}
onPin={onPin}
onUnpin={onUnpin}
/>
@@ -206,7 +206,7 @@ function MobileDrawer({
size="icon-sm"
onClick={onDismiss}
className="text-muted-foreground"
aria-label="Fold stat block panel"
aria-label="Collapse stat block panel"
>
<PanelRightClose className="h-4 w-4" />
</Button>
@@ -227,8 +227,8 @@ export function StatBlockPanel({
uploadAndCacheSource,
refreshCache,
panelRole,
isFolded,
onToggleFold,
isCollapsed,
onToggleCollapse,
onPin,
onUnpin,
showPinButton,
@@ -341,12 +341,12 @@ export function StatBlockPanel({
if (isDesktop) {
return (
<DesktopPanel
isFolded={isFolded}
isCollapsed={isCollapsed}
side={side}
creatureName={creatureName}
panelRole={panelRole}
showPinButton={showPinButton}
onToggleFold={onToggleFold}
onToggleCollapse={onToggleCollapse}
onPin={onPin}
onUnpin={onUnpin}
>