@@ -46,15 +46,15 @@ const MONO_FONT = Platform.select({
4646 default : "monospace" ,
4747} ) ;
4848
49- // Status hues follow the system-wide convention set by sidebar v1 and the
50- // Live Activity/widgets (amber approval, indigo input, sky working) so a
51- // thread reads the same color everywhere it surfaces.
49+ // Active work and Plan Ready follow shared theme roles. User-blocking Input
50+ // uses the orange warning treatment instead of operational Waiting's neutral treatment.
5251const STATUS_LABEL_BY_STATUS : Partial <
5352 Record < ThreadListV2Status , { label : string ; className : string } >
5453> = {
55- approval : { label : "Approval" , className : "text-amber-700 dark:text-amber-300" } ,
56- input : { label : "Input" , className : "text-indigo-600 dark:text-indigo-300" } ,
57- working : { label : "Working" , className : "text-sky-600 dark:text-sky-400" } ,
54+ approval : { label : "Approval" , className : "text-warning-foreground" } ,
55+ input : { label : "Input" , className : "text-warning-foreground" } ,
56+ "plan-ready" : { label : "Plan Ready" , className : "text-status-info" } ,
57+ working : { label : "Working" , className : "text-status-active" } ,
5858 failed : { label : "Failed" , className : "text-red-700 dark:text-red-300" } ,
5959} ;
6060
@@ -423,6 +423,8 @@ export const ThreadListV2Row = memo(function ThreadListV2Row(props: {
423423 const pressedBackgroundColor = useThemeColor ( "--color-subtle" ) ;
424424 const selectedBackgroundColor = useThemeColor ( "--color-user-bubble" ) ;
425425 const pinTintColor = useThemeColor ( "--color-foreground-muted" ) ;
426+ const warningForegroundColor = useThemeColor ( "--color-warning-foreground" ) ;
427+ const selectedForegroundColor = useThemeColor ( "--color-user-bubble-foreground" ) ;
426428 const sidebarPane = props . pane === "sidebar" ;
427429 const selected = props . selected === true ;
428430
@@ -701,16 +703,35 @@ export const ThreadListV2Row = memo(function ThreadListV2Row(props: {
701703 { pinnedRow ? (
702704 < SymbolView name = "pin" size = { 11 } tintColor = { pinTintColor } type = "monochrome" />
703705 ) : null }
704- < Text
705- className = { cn (
706- "text-xs tabular-nums" ,
707- selected
708- ? "text-user-bubble-foreground"
709- : ( statusLabel ?. className ?? "text-foreground-tertiary" ) ,
710- ) }
711- >
712- { statusLabel ?. label ?? timeLabel }
713- </ Text >
706+ { statusLabel ? (
707+ < View className = "flex-row items-center gap-1" >
708+ { status === "input" ? (
709+ < SymbolView
710+ name = "exclamationmark.triangle"
711+ size = { 10 }
712+ tintColor = { selected ? selectedForegroundColor : warningForegroundColor }
713+ type = "monochrome"
714+ />
715+ ) : null }
716+ < Text
717+ className = { cn (
718+ "text-xs tabular-nums" ,
719+ selected ? "text-user-bubble-foreground" : statusLabel . className ,
720+ ) }
721+ >
722+ { statusLabel . label }
723+ </ Text >
724+ </ View >
725+ ) : (
726+ < Text
727+ className = { cn (
728+ "text-xs tabular-nums" ,
729+ selected ? "text-user-bubble-foreground" : "text-foreground-tertiary" ,
730+ ) }
731+ >
732+ { timeLabel }
733+ </ Text >
734+ ) }
714735 </ View >
715736 < Text
716737 className = { cn (
0 commit comments