diff --git a/apps/mobile/src/features/connection/ConnectionEnvironmentRow.tsx b/apps/mobile/src/features/connection/ConnectionEnvironmentRow.tsx index a42db147c17d..b0ebe58054d5 100644 --- a/apps/mobile/src/features/connection/ConnectionEnvironmentRow.tsx +++ b/apps/mobile/src/features/connection/ConnectionEnvironmentRow.tsx @@ -9,7 +9,7 @@ import { useCallback, useState } from "react"; import { Platform, Alert, Pressable, View } from "react-native"; import Animated, { FadeIn, FadeOut, LinearTransition } from "react-native-reanimated"; -import { AppText as Text, AppTextInput as TextInput } from "../../components/AppText"; +import { AppText as Text } from "../../components/AppText"; import { EnvironmentMachineSymbol } from "../../components/EnvironmentMachineSymbol"; import { MaterialButton } from "../../components/MaterialButton"; import { MaterialIconButton } from "../../components/MaterialIconButton"; @@ -18,6 +18,7 @@ import { cn } from "../../lib/cn"; import { copyTextWithHaptic } from "../../lib/copyTextWithHaptic"; import type { ConnectedEnvironmentSummary } from "../../state/remote-runtime-types"; import { serverEnvironment } from "../../state/server"; +import { ConnectionFormField } from "./ConnectionFormField"; import { ConnectionStatusDot } from "./ConnectionStatusDot"; function connectionStatusLabel(environment: ConnectedEnvironmentSummary): string | null { @@ -164,34 +165,24 @@ export function ConnectionEnvironmentRow(props: { ) : ( <> - - - Label - - - + - - - URL - - - + )} diff --git a/apps/mobile/src/features/connection/ConnectionFormField.tsx b/apps/mobile/src/features/connection/ConnectionFormField.tsx new file mode 100644 index 000000000000..0d5e21148e54 --- /dev/null +++ b/apps/mobile/src/features/connection/ConnectionFormField.tsx @@ -0,0 +1,25 @@ +import { View } from "react-native"; + +import { AppText, AppTextInput, type AppTextInputProps } from "../../components/AppText"; +import { cn } from "../../lib/cn"; + +type ConnectionFormFieldProps = Omit & { + readonly label: string; + readonly className?: string; +}; + +/** Labeled connection input with a native wrapper retained inside form sheets. */ +export function ConnectionFormField({ label, className, ...inputProps }: ConnectionFormFieldProps) { + return ( + + + {label} + + + + ); +} diff --git a/apps/mobile/src/features/connection/ConnectionsNewRouteScreen.tsx b/apps/mobile/src/features/connection/ConnectionsNewRouteScreen.tsx index ea4f1cf69712..6c0d60beb5f5 100644 --- a/apps/mobile/src/features/connection/ConnectionsNewRouteScreen.tsx +++ b/apps/mobile/src/features/connection/ConnectionsNewRouteScreen.tsx @@ -13,8 +13,9 @@ import { Alert, Linking, Platform, View } from "react-native"; import { useSafeAreaInsets } from "react-native-safe-area-context"; import { useUniwindTheme } from "../../lib/useUniwindTheme"; import { SettingsScreen } from "../settings/components/SettingsScreen"; -import { AppText as Text, AppTextInput as TextInput } from "../../components/AppText"; +import { AppText as Text } from "../../components/AppText"; import { ErrorBanner } from "../../components/ErrorBanner"; +import { ConnectionFormField } from "./ConnectionFormField"; import { ConnectionSheetButton } from "./ConnectionSheetButton"; import { buildPairingUrl, extractPairingUrlFromQrPayload, parsePairingUrl } from "./pairing"; import { useRemoteConnections } from "../../state/use-remote-environment-registry"; @@ -262,34 +263,24 @@ export function ConnectionsNewRouteScreen({ ) ) : ( - - - Host - - - + - - - Pairing code - - - + {pairingConnectionError ? : null}