From b10ec6261da6f13c72c416ce78d55a9d26b88f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Fri, 15 May 2026 21:02:05 +0200 Subject: [PATCH] refactor(settings): migrate the five remaining selects to the NativeSelect primitive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MB7's CF-52 sweep retired three drift-prone NATIVE_SELECT_CLASS clones behind the shared NativeSelect primitive. The AI provider section carried five more raw ` so the SSR-only settings test renders deterministically - * without a portal-based Radix tree. Mobile: full-width, height matched - * to the shared 36-px input contract used everywhere else in Settings - * (`` is `h-9`); tap target stays comfortable thanks to the - * full-width chevron region. + * The single Pulldown that drives every form below it. Uses the + * shared `` primitive so the SSR-only settings test + * renders deterministically without a portal-based Radix tree, and so + * the visual contract stays uniform with the other settings pickers + * that landed behind the same primitive in MB7 / CF-52. Mobile: + * full-width, height matched to the shared 36 px input contract used + * everywhere else in Settings; tap target stays comfortable thanks to + * the full-width chevron region. */ function ActiveProviderSelect({ value, @@ -367,7 +370,7 @@ function ActiveProviderSelect({ - + ); } @@ -820,12 +823,12 @@ function OpenAIProviderForm({ - + {modelChoice === CUSTOM_MODEL_SENTINEL && ( @@ -1005,11 +1008,11 @@ function AnthropicProviderForm({ - + {modelChoice === CUSTOM_MODEL_SENTINEL && ( @@ -1163,11 +1166,11 @@ function LocalProviderForm({
- +
{modelChoice === CUSTOM_MODEL_SENTINEL && (
@@ -1507,18 +1510,18 @@ function AddProviderControl({ return (
- +