Skip to content

Commit d7b71d3

Browse files
Address review: drop keyboard-avoiding prop, gate Unit picker on customUnit
- Remove shouldEnableKeyboardAvoidingView={false} from ScreenWrapper — no text inputs on this page. - Mirror PolicyDistanceRatesSettingsPage and wrap content in FullPageOfflineBlockingView when customUnit is missing; only render UnitPicker once customUnit is hydrated so deep-link/partial-hydration entry can't reach a dead-end tap. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 819d877 commit d7b71d3

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

src/pages/workspace/distanceRates/PolicyDistanceRateUnitPage.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import React from 'react';
2+
import {View} from 'react-native';
3+
import FullPageOfflineBlockingView from '@components/BlockingViews/FullPageOfflineBlockingView';
24
import HeaderWithBackButton from '@components/HeaderWithBackButton';
35
import ScreenWrapper from '@components/ScreenWrapper';
46
import type {UnitItemType} from '@components/UnitPicker';
@@ -25,6 +27,8 @@ function PolicyDistanceRateUnitPage({route}: PolicyDistanceRateUnitPageProps) {
2527
const {translate} = useLocalize();
2628
const [customUnit] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {selector: (policy) => getDistanceRateCustomUnit(policy)});
2729

30+
const FullPageBlockingView = !customUnit ? FullPageOfflineBlockingView : View;
31+
2832
const onUnitSelected = (unit: UnitItemType) => {
2933
if (!customUnit) {
3034
return;
@@ -43,17 +47,20 @@ function PolicyDistanceRateUnitPage({route}: PolicyDistanceRateUnitPageProps) {
4347
<ScreenWrapper
4448
style={styles.pb0}
4549
enableEdgeToEdgeBottomSafeAreaPadding
46-
shouldEnableKeyboardAvoidingView={false}
4750
testID={PolicyDistanceRateUnitPage.displayName}
4851
>
4952
<HeaderWithBackButton
5053
title={translate('workspace.distanceRates.unit')}
5154
onBackButtonPress={() => Navigation.goBack(ROUTES.WORKSPACE_DISTANCE_RATES_SETTINGS.getRoute(policyID))}
5255
/>
53-
<UnitPicker
54-
defaultValue={customUnit?.attributes?.unit}
55-
onOptionSelected={onUnitSelected}
56-
/>
56+
<FullPageBlockingView style={customUnit ? styles.flexGrow1 : []}>
57+
{!!customUnit && (
58+
<UnitPicker
59+
defaultValue={customUnit.attributes?.unit}
60+
onOptionSelected={onUnitSelected}
61+
/>
62+
)}
63+
</FullPageBlockingView>
5764
</ScreenWrapper>
5865
</AccessOrNotFoundWrapper>
5966
);

0 commit comments

Comments
 (0)