@@ -914,24 +914,32 @@ const MetricTile = ({
914914 value : string ;
915915 detail ?: string ;
916916} ) => (
917- < div className = "rounded-md bg-stone-50 dark:bg-neutral-800/60 px-3 py-2" >
918- < div className = "text-[10px] font-semibold uppercase tracking-wide text-stone-400 dark:text-neutral-500" >
917+ < div className = "min-w-0 overflow-hidden rounded-md bg-stone-50 dark:bg-neutral-800/60 px-3 py-2" >
918+ < div className = "truncate text-[10px] font-semibold uppercase tracking-wide text-stone-400 dark:text-neutral-500" >
919919 { label }
920920 </ div >
921- < div className = "mt-1 text-sm font-semibold text-stone-900 dark:text-neutral-100" > { value } </ div >
921+ < div className = "mt-1 truncate text-sm font-semibold text-stone-900 dark:text-neutral-100" >
922+ { value }
923+ </ div >
922924 { detail ? (
923- < div className = "mt-0.5 text-[11px] text-stone-500 dark:text-neutral-400" > { detail } </ div >
925+ < div className = "mt-0.5 truncate text-[11px] text-stone-500 dark:text-neutral-400" >
926+ { detail }
927+ </ div >
924928 ) : null }
925929 </ div >
926930) ;
927931
928932const FormulaRow = ( { label, value, detail } : { label : string ; value : string ; detail : string } ) => (
929- < div className = "rounded-md border border-stone-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 px-3 py-2" >
933+ < div className = "min-w-0 overflow-hidden rounded-md border border-stone-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 px-3 py-2" >
930934 < div className = "flex items-center justify-between gap-3" >
931- < span className = "text-xs font-medium text-stone-800 dark:text-neutral-100" > { label } </ span >
932- < span className = "font-mono text-xs text-stone-600 dark:text-neutral-300" > { value } </ span >
935+ < span className = "min-w-0 truncate text-xs font-medium text-stone-800 dark:text-neutral-100" >
936+ { label }
937+ </ span >
938+ < span className = "shrink-0 font-mono text-xs text-stone-600 dark:text-neutral-300" >
939+ { value }
940+ </ span >
933941 </ div >
934- < div className = "mt-1 text-[11px] text-stone-500 dark:text-neutral-400" > { detail } </ div >
942+ < div className = "mt-1 truncate text-[11px] text-stone-500 dark:text-neutral-400" > { detail } </ div >
935943 </ div >
936944) ;
937945
@@ -1167,7 +1175,7 @@ export const BackgroundLoopControls = ({
11671175 const showHeartbeat = view === 'all' || view === 'heartbeat' ;
11681176 const showLedger = view === 'all' || view === 'ledger' ;
11691177 const gridCols =
1170- view === 'all' ? 'lg :grid-cols-[minmax(0,1fr)_minmax(300px ,0.8fr)]' : 'lg: grid-cols-1' ;
1178+ view === 'all' ? 'md :grid-cols-[minmax(0,1fr)_minmax(260px ,0.8fr)]' : 'grid-cols-1' ;
11711179
11721180 return (
11731181 < div className = "space-y-4" >
@@ -1237,9 +1245,9 @@ export const BackgroundLoopControls = ({
12371245 void applyHeartbeatPatch ( { notify_meetings : ! settings . notify_meetings } )
12381246 }
12391247 />
1240- < div className = "grid gap-2 rounded-lg border border-stone-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 px-3 py-2 md :grid-cols-3" >
1241- < label className = "space-y-1 text-xs font-medium text-stone-700 dark:text-neutral-200" >
1242- < span > { t ( 'settings.ai.calendarCap' ) } </ span >
1248+ < div className = "grid gap-2 rounded-lg border border-stone-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 px-3 py-2 sm :grid-cols-3" >
1249+ < label className = "min-w-0 space-y-1 text-xs font-medium text-stone-700 dark:text-neutral-200" >
1250+ < span className = "whitespace-nowrap" > { t ( 'settings.ai.calendarCap' ) } </ span >
12431251 < select
12441252 value = { maxCalendarConnectionsPerTick }
12451253 disabled = { saving === 'max_calendar_connections_per_tick' }
@@ -1256,8 +1264,8 @@ export const BackgroundLoopControls = ({
12561264 ) ) }
12571265 </ select >
12581266 </ label >
1259- < label className = "space-y-1 text-xs font-medium text-stone-700 dark:text-neutral-200" >
1260- < span > { t ( 'settings.ai.meetingLookahead' ) } </ span >
1267+ < label className = "min-w-0 space-y-1 text-xs font-medium text-stone-700 dark:text-neutral-200" >
1268+ < span className = "whitespace-nowrap" > { t ( 'settings.ai.meetingLookahead' ) } </ span >
12611269 < select
12621270 value = { settings . meeting_lookahead_minutes }
12631271 disabled = { saving === 'meeting_lookahead_minutes' }
@@ -1274,8 +1282,10 @@ export const BackgroundLoopControls = ({
12741282 ) ) }
12751283 </ select >
12761284 </ label >
1277- < label className = "space-y-1 text-xs font-medium text-stone-700 dark:text-neutral-200" >
1278- < span > { t ( 'settings.ai.reminderLookahead' ) } </ span >
1285+ < label className = "min-w-0 space-y-1 text-xs font-medium text-stone-700 dark:text-neutral-200" >
1286+ < span className = "whitespace-nowrap" >
1287+ { t ( 'settings.ai.reminderLookahead' ) }
1288+ </ span >
12791289 < select
12801290 value = { settings . reminder_lookahead_minutes }
12811291 disabled = { saving === 'reminder_lookahead_minutes' }
@@ -1379,16 +1389,16 @@ export const BackgroundLoopControls = ({
13791389 < div className = "divide-y divide-stone-200 dark:divide-neutral-800" >
13801390 { loops . map ( loop => (
13811391 < div key = { loop . name } className = "grid gap-2 px-3 py-3 md:grid-cols-[150px_1fr]" >
1382- < div >
1383- < div className = "text-sm font-medium text-stone-900 dark:text-neutral-100" >
1392+ < div className = "min-w-0" >
1393+ < div className = "truncate text-sm font-medium text-stone-900 dark:text-neutral-100" >
13841394 { loop . name }
13851395 </ div >
13861396 < div className = "mt-0.5 flex flex-wrap gap-1 text-[11px] text-stone-500 dark:text-neutral-400" >
13871397 < span > { loop . enabled ? t ( 'settings.ai.on' ) : t ( 'settings.ai.off' ) } </ span >
13881398 < span > { loop . cadence } </ span >
13891399 </ div >
13901400 </ div >
1391- < div className = "text-xs text-stone-600 dark:text-neutral-300" >
1401+ < div className = "min-w-0 text-xs text-stone-600 dark:text-neutral-300" >
13921402 < div > { loop . work } </ div >
13931403 < div className = "mt-1 font-mono text-[11px] text-stone-500 dark:text-neutral-400" >
13941404 { t ( 'settings.ai.routeLabel' ) . replace ( '{route}' , loop . route ) }
0 commit comments