Skip to content

Commit 8324c7b

Browse files
committed
fix(mobile): mirror thread composer collapsed toolbar on new-task draft (Android)
1 parent f38d3f1 commit 8324c7b

1 file changed

Lines changed: 51 additions & 9 deletions

File tree

apps/mobile/src/features/threads/NewTaskDraftScreen.tsx

Lines changed: 51 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -626,15 +626,57 @@ export function NewTaskDraftScreen(props: {
626626
) : null}
627627
</ComposerSurface>
628628

629-
<ComposerToolbarRow paddingBottom={8} paddingHorizontal={0} paddingTop={8}>
630-
<ComposerToolbarScroller
631-
fadeOpaque={isDarkMode ? "rgba(0,0,0,0.95)" : "rgba(255,255,255,0.95)"}
632-
fadeTransparent={isDarkMode ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)"}
633-
>
634-
{toolbarPills}
635-
</ComposerToolbarScroller>
636-
{isExpanded ? startButton : null}
637-
</ComposerToolbarRow>
629+
{!isExpanded ? (
630+
// Collapsed Android toolbar mirrors ThreadComposer: exactly three
631+
// controls, no scroller, with the two selector pills flexing to
632+
// fill the row.
633+
<ComposerToolbarRow paddingBottom={8} paddingHorizontal={0} paddingTop={8}>
634+
<ComposerToolbarButton
635+
accessibilityLabel="Add attachment"
636+
icon="plus"
637+
onPress={() => void handlePickImages()}
638+
showChevron={false}
639+
/>
640+
<ControlPillMenu
641+
style={{ flex: 1, minWidth: 0 }}
642+
actions={modelMenuActions}
643+
onPressAction={({ nativeEvent }) => handleModelMenuAction(nativeEvent.event)}
644+
>
645+
<ComposerToolbarTrigger
646+
accessibilityLabel="Model"
647+
iconNode={
648+
<ProviderIcon provider={flow.selectedModelOption?.providerDriver} size={16} />
649+
}
650+
label={flow.selectedModelOption?.label ?? "Model"}
651+
style={{ maxWidth: "100%", width: "100%" }}
652+
/>
653+
</ControlPillMenu>
654+
<ControlPillMenu
655+
// The reasoning/config label runs longer than most model names,
656+
// so it gets a larger share of the row.
657+
style={{ flex: 1.4, minWidth: 0 }}
658+
actions={optionsMenuActions}
659+
onPressAction={({ nativeEvent }) => handleOptionsMenuAction(nativeEvent.event)}
660+
>
661+
<ComposerToolbarTrigger
662+
accessibilityLabel="Configuration"
663+
icon="slider.horizontal.3"
664+
label={configurationLabel}
665+
style={{ maxWidth: "100%", width: "100%" }}
666+
/>
667+
</ControlPillMenu>
668+
</ComposerToolbarRow>
669+
) : (
670+
<ComposerToolbarRow paddingBottom={8} paddingHorizontal={0} paddingTop={8}>
671+
<ComposerToolbarScroller
672+
fadeOpaque={isDarkMode ? "rgba(0,0,0,0.95)" : "rgba(255,255,255,0.95)"}
673+
fadeTransparent={isDarkMode ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)"}
674+
>
675+
{toolbarPills}
676+
</ComposerToolbarScroller>
677+
{startButton}
678+
</ComposerToolbarRow>
679+
)}
638680
</View>
639681
</KeyboardAvoidingView>
640682
</View>

0 commit comments

Comments
 (0)