Skip to content

Commit 181a2e9

Browse files
authored
🤖 Standardize Tailwind width utilities (#392)
Replaces custom/bespoke width values with standard Tailwind utilities for consistency and maintainability. ## Changes This PR systematically replaces all custom width values (e.g., `w-[300px]`) with their closest standard Tailwind utilities: | Custom Value | Standard Utility | Actual Size | |--------------|------------------|-------------| | `w-[300px]` | `w-80` | 320px | | `w-[400px]` | `w-96` | 384px | | `w-[500px]` | `w-96` | 384px | | `w-[280px]` | `w-72` | 288px | | `w-[200px]` | `w-48` | 192px | | `w-[180px]` | `w-44` | 176px | | `w-[160px]` | `w-40` | 160px ✓ | | `w-[150px]` | `w-36` | 144px | | `w-[140px]` | `w-36` | 144px | | `w-[45px]` | `w-11` | 44px | | `w-[40px]` | `w-10` | 40px ✓ | | `w-[35px]` | `w-9` | 36px | | `w-[11px]` | `w-3` | 12px | | `w-[10px]` | `w-2.5` | 10px ✓ | | `w-[3px]` | `w-1` | 4px | Also applies to `min-w-*` and `max-w-*` utilities. ## Benefits - **Consistency**: Uses standard Tailwind naming conventions - **Maintainability**: Easier to understand and modify - **Design system**: Aligns with Tailwind's spacing scale - **Autocomplete**: Better IDE support with standard utilities ## Impact 21 files modified with width utility standardization. All changes are visual adjustments with slight rounding to nearest standard sizes (typically within 8-16px). _Generated with `cmux`_
1 parent 099aa26 commit 181a2e9

21 files changed

+33
-33
lines changed

src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ function AppInner() {
701701
</ErrorBoundary>
702702
) : (
703703
<div
704-
className="text-center max-w-[800px] mx-auto w-full [&_h2]:text-white [&_h2]:mb-4 [&_h2]:font-bold [&_h2]:tracking-tight [&_p]:text-muted [&_p]:leading-[1.6]"
704+
className="text-center max-w-3xl mx-auto w-full [&_h2]:text-white [&_h2]:mb-4 [&_h2]:font-bold [&_h2]:tracking-tight [&_p]:text-muted [&_p]:leading-[1.6]"
705705
style={{
706706
padding: "clamp(40px, 10vh, 100px) 20px",
707707
fontSize: "clamp(14px, 2vw, 16px)",

src/components/AIView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ const AIViewInner: React.FC<AIViewProps> = ({
327327
>
328328
<div
329329
ref={chatAreaRef}
330-
className="flex-1 min-w-[400px] flex flex-col [@media(max-width:768px)]:min-w-0 [@media(max-width:768px)]:w-full [@media(max-width:768px)]:max-h-full"
330+
className="flex-1 min-w-96 flex flex-col [@media(max-width:768px)]:min-w-0 [@media(max-width:768px)]:w-full [@media(max-width:768px)]:max-h-full"
331331
>
332332
<div className="py-1 px-[15px] bg-separator border-b border-border-light flex justify-between items-center [@media(max-width:768px)]:py-2 [@media(max-width:768px)]:pl-[60px] [@media(max-width:768px)]:flex-wrap [@media(max-width:768px)]:gap-2">
333333
<div className="font-semibold text-foreground flex items-center gap-2 min-w-0 overflow-hidden">

src/components/ChatMetaSidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const ChatMetaSidebarComponent: React.FC<ChatMetaSidebarProps> = ({ workspaceId,
6060
<div
6161
className={cn(
6262
"bg-separator border-l border-border-light flex flex-col overflow-hidden transition-[width] duration-200 flex-shrink-0",
63-
showCollapsed ? "w-5 sticky right-0 z-10 shadow-[-2px_0_4px_rgba(0,0,0,0.2)]" : "w-[300px]"
63+
showCollapsed ? "w-5 sticky right-0 z-10 shadow-[-2px_0_4px_rgba(0,0,0,0.2)]" : "w-80"
6464
)}
6565
role="complementary"
6666
aria-label="Workspace insights"

src/components/Context1MCheckbox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export const Context1MCheckbox: React.FC<Context1MCheckboxProps> = ({ modelStrin
2222
type="checkbox"
2323
checked={use1M}
2424
onChange={(e) => setUse1M(e.target.checked)}
25-
className="cursor-pointer w-[11px] h-[11px] m-0 appearance-none border border-border-light rounded-sm bg-dark relative hover:border-accent checked:bg-accent checked:border-accent checked:after:content-[''] checked:after:absolute checked:after:left-[3px] checked:after:top-0 checked:after:w-[3px] checked:after:h-[6px] checked:after:border-solid checked:after:border-white checked:after:border-r-[1.5px] checked:after:border-b-[1.5px] checked:after:rotate-45"
25+
className="cursor-pointer w-3 h-[11px] m-0 appearance-none border border-border-light rounded-sm bg-dark relative hover:border-accent checked:bg-accent checked:border-accent checked:after:content-[''] checked:after:absolute checked:after:left-[3px] checked:after:top-0 checked:after:w-1 checked:after:h-[6px] checked:after:border-solid checked:after:border-white checked:after:border-r-[1.5px] checked:after:border-b-[1.5px] checked:after:rotate-45"
2626
/>
2727
1M Context
2828
</label>

src/components/GitStatusIndicatorView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ export const GitStatusIndicatorView: React.FC<GitStatusIndicatorViewProps> = ({
187187
const tooltipElement = (
188188
<div
189189
className={cn(
190-
"fixed z-[10000] bg-modal-bg text-foreground border border-separator-light rounded px-3 py-2 text-[11px] font-mono whitespace-pre max-w-[600px] max-h-[400px] overflow-auto shadow-[0_4px_12px_rgba(0,0,0,0.5)] pointer-events-auto transition-opacity duration-200",
190+
"fixed z-[10000] bg-modal-bg text-foreground border border-separator-light rounded px-3 py-2 text-[11px] font-mono whitespace-pre max-w-96 max-h-[400px] overflow-auto shadow-[0_4px_12px_rgba(0,0,0,0.5)] pointer-events-auto transition-opacity duration-200",
191191
showTooltip ? "opacity-100 visible" : "opacity-0 invisible"
192192
)}
193193
style={{

src/components/KebabMenu.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export const KebabMenu: React.FC<KebabMenuProps> = ({ items, className }) => {
9898
createPortal(
9999
<div
100100
ref={menuRef}
101-
className="fixed bg-dark border border-border-light rounded-[3px] shadow-[0_4px_16px_rgba(0,0,0,0.8)] z-[10000] min-w-[160px] overflow-hidden"
101+
className="fixed bg-dark border border-border-light rounded-[3px] shadow-[0_4px_16px_rgba(0,0,0,0.8)] z-[10000] min-w-40 overflow-hidden"
102102
style={{
103103
top: `${dropdownPosition.top}px`,
104104
left: `${dropdownPosition.left}px`,

src/components/LeftSidebar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ export function LeftSidebar(props: LeftSidebarProps) {
7171
className={cn(
7272
"h-screen bg-separator border-r border-dark flex flex-col shrink-0",
7373
"transition-all duration-200 overflow-hidden relative z-[100]",
74-
collapsed ? "w-8" : "w-[280px]",
75-
"max-md:fixed max-md:left-0 max-md:top-0 max-md:w-[280px] max-md:z-[1000]",
74+
collapsed ? "w-8" : "w-72",
75+
"max-md:fixed max-md:left-0 max-md:top-0 max-md:w-72 max-md:z-[1000]",
7676
"max-md:transition-transform max-md:duration-300",
7777
collapsed
7878
? "max-md:-translate-x-full max-md:shadow-none"

src/components/Messages/UserMessage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ export const UserMessage: React.FC<UserMessageProps> = ({
132132
key={idx}
133133
src={img.url}
134134
alt={`Attachment ${idx + 1}`}
135-
className="max-w-[300px] max-h-[300px] rounded border border-border-light"
135+
className="max-w-80 max-h-[300px] rounded border border-border-light"
136136
/>
137137
))}
138138
</div>

src/components/ModelSelector.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ export const ModelSelector = forwardRef<ModelSelectorRef, ModelSelectorProps>(
185185
return (
186186
<div ref={containerRef} className="relative flex items-center gap-1">
187187
<div
188-
className="font-mono text-[10px] text-muted-light font-monospace leading-[11px] cursor-pointer py-0.5 px-1 rounded-sm transition-colors duration-200 whitespace-nowrap overflow-hidden text-ellipsis max-w-[150px] dir-rtl text-left hover:bg-hover"
188+
className="font-mono text-[10px] text-muted-light font-monospace leading-[11px] cursor-pointer py-0.5 px-1 rounded-sm transition-colors duration-200 whitespace-nowrap overflow-hidden text-ellipsis max-w-36 dir-rtl text-left hover:bg-hover"
189189
onClick={handleClick}
190190
>
191191
{value}
@@ -203,14 +203,14 @@ export const ModelSelector = forwardRef<ModelSelectorRef, ModelSelectorProps>(
203203
onChange={handleInputChange}
204204
onKeyDown={handleKeyDown}
205205
placeholder="provider:model-name"
206-
className="text-[10px] text-light bg-dark border border-border-light rounded-sm py-0.5 px-1 font-monospace leading-[11px] w-[200px] outline-none focus:border-exec-mode"
206+
className="text-[10px] text-light bg-dark border border-border-light rounded-sm py-0.5 px-1 font-monospace leading-[11px] w-48 outline-none focus:border-exec-mode"
207207
/>
208208
{error && (
209209
<div className="text-[9px] text-danger-soft font-monospace mt-0.5">{error}</div>
210210
)}
211211
</div>
212212
{showDropdown && filteredModels.length > 0 && (
213-
<div className="absolute bottom-full left-0 mb-1 bg-separator border border-border-light rounded shadow-[0_4px_12px_rgba(0,0,0,0.3)] z-[1000] min-w-[300px] max-h-[200px] overflow-y-auto">
213+
<div className="absolute bottom-full left-0 mb-1 bg-separator border border-border-light rounded shadow-[0_4px_12px_rgba(0,0,0,0.3)] z-[1000] min-w-80 max-h-[200px] overflow-y-auto">
214214
{filteredModels.map((model, index) => (
215215
<div
216216
key={model}

src/components/ProjectSidebar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ const ProjectDragLayer: React.FC = () => {
136136
return (
137137
<div className="fixed pointer-events-none z-[9999] inset-0 cursor-grabbing">
138138
<div style={{ transform: `translate(${currentOffset.x + 10}px, ${currentOffset.y + 10}px)` }}>
139-
<div className="bg-hover/95 text-foreground py-1.5 px-3 border-l-[3px] border-l-accent shadow-[0_6px_24px_rgba(0,0,0,0.4)] rounded flex items-center w-fit max-w-[280px] min-w-[180px]">
139+
<div className="bg-hover/95 text-foreground py-1.5 px-3 border-l-[3px] border-l-accent shadow-[0_6px_24px_rgba(0,0,0,0.4)] rounded flex items-center w-fit max-w-72 min-w-44">
140140
<span className="mr-1.5 text-text-dim text-xs"></span>
141141
<span className="mr-2 text-muted text-[10px]"></span>
142142
<div className="flex-1 min-w-0">
@@ -660,7 +660,7 @@ const ProjectSidebarInner: React.FC<ProjectSidebarProps> = ({
660660
{removeError &&
661661
createPortal(
662662
<div
663-
className="fixed max-w-[400px] p-3 px-4 bg-error-bg border border-error rounded-md text-error text-xs z-[10000] shadow-[0_4px_16px_rgba(0,0,0,0.5)] font-monospace leading-[1.4] whitespace-pre-wrap break-words pointer-events-auto"
663+
className="fixed max-w-96 p-3 px-4 bg-error-bg border border-error rounded-md text-error text-xs z-[10000] shadow-[0_4px_16px_rgba(0,0,0,0.5)] font-monospace leading-[1.4] whitespace-pre-wrap break-words pointer-events-auto"
664664
style={{
665665
top: `${removeError.position.top}px`,
666666
left: `${removeError.position.left}px`,

0 commit comments

Comments
 (0)