@@ -16,29 +16,40 @@ export function SettingItem({ item }: SettingItemProps) {
1616 const itemType = item . type || ( hasActions ? "actions" : "display" ) ;
1717
1818 return (
19- < li className = "min-h-14 px-6 py-3 flex items-center justify-between transition-colors" >
20- < div className = "flex items-center gap-4 flex-1" >
19+ < li className = "min-h-14 px-4 md:px- 6 py-4 md:py- 3 flex flex-col md:flex-row md: items-center md: justify-between gap-0 md:gap-0 transition-colors" >
20+ < div className = "flex items-start gap-3 md:gap- 4 flex-1 min-w-0 pb-3 md:pb-0 " >
2121 { hasIcon && (
2222 < div
23- className = { `w-8 h-8 rounded flex items-center justify-center ${
23+ className = { `w-8 h-8 flex-shrink-0 rounded flex items-center justify-center ${
2424 item . iconBgColor || "bg-white/10"
2525 } `}
2626 >
2727 < span className = "text-xs font-bold" > { item . icon } </ span >
2828 </ div >
2929 ) }
30- < div className = "flex-1" >
31- < span className = "font-medium text-sm" > { item . label } </ span >
30+ < div className = "flex-1 min-w-0 " >
31+ < span className = "font-medium text-sm block " > { item . label } </ span >
3232 { item . description && (
33- < p className = "text-xs text-white/50" > { item . description } </ p >
33+ < p className = "text-xs text-white/50 mt-0.5 " > { item . description } </ p >
3434 ) }
3535 </ div >
36+ { /* Status badge - positioned right on mobile, stays in flow on desktop */ }
37+ { item . status && (
38+ < Badge className = { `${ item . statusColor || "text-black" } md:hidden` } >
39+ { item . status }
40+ </ Badge >
41+ ) }
3642 </ div >
3743
38- < div className = "flex items-center gap-3" >
39- { /* Status badge */ }
44+ { /* Divider on mobile */ }
45+ < div className = "border-t border-white/10 md:hidden mb-3" > </ div >
46+
47+ < div className = "flex items-center gap-3 md:flex-shrink-0 justify-end md:justify-start" >
48+ { /* Status badge - desktop only, moved to actions area */ }
4049 { item . status && (
41- < Badge className = { item . statusColor || "text-black" } >
50+ < Badge
51+ className = { `hidden md:inline-flex ${ item . statusColor || "text-black" } ` }
52+ >
4253 { item . status }
4354 </ Badge >
4455 ) }
@@ -62,7 +73,7 @@ export function SettingItem({ item }: SettingItemProps) {
6273
6374 { /* Slider */ }
6475 { itemType === "slider" && item . slider && (
65- < div className = "flex items-center gap-3 min-w-[200px]" >
76+ < div className = "flex items-center gap-3 w-full md: min-w-[200px] md:w-auto justify-end md:justify-start " >
6677 < Slider
6778 min = { item . slider . min }
6879 max = { item . slider . max }
@@ -71,7 +82,7 @@ export function SettingItem({ item }: SettingItemProps) {
7182 onValueChange = { ( values : number [ ] ) =>
7283 item . slider ! . onChange ( values [ 0 ] )
7384 }
74- className = "flex-1"
85+ className = "flex-1 max-w-[200px] md:max-w-none "
7586 />
7687 < span className = "text-xs font-mono text-white/60 min-w-[3rem] text-right" >
7788 { item . slider . value }
@@ -88,7 +99,7 @@ export function SettingItem({ item }: SettingItemProps) {
8899 key = { index }
89100 variant = { action . variant || "ghost" }
90101 size = "icon"
91- className = "h-8 w-8 rounded-full"
102+ className = "h-9 w-9 md:h-8 md: w-8 rounded-full flex-shrink-0 "
92103 onClick = { action . onClick }
93104 title = { action . label }
94105 disabled = { action . disabled }
0 commit comments