Skip to content

Commit

Permalink
Merge pull request #43769 from Expensify/rodrigo-hide-required-depend…
Browse files Browse the repository at this point in the history
…entTags

Hides required toggle in case dependent tags is enabled
  • Loading branch information
rlinoz authored Jun 19, 2024
2 parents bfd6923 + bbb87ce commit 3c56ee2
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions src/pages/workspace/tags/WorkspaceViewTagsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ function WorkspaceViewTagsPage({route}: WorkspaceViewTagsProps) {
[currentPolicyTag, selectedTags, translate],
);

const hasDependentTags = useMemo(() => PolicyUtils.hasDependentTags(policy, policyTags), [policy, policyTags]);

const tagListKeyedByName = useMemo(
() =>
tagList.reduce<Record<string, TagListItem>>((acc, tag) => {
Expand Down Expand Up @@ -234,18 +236,20 @@ function WorkspaceViewTagsPage({route}: WorkspaceViewTagsProps) {
cancelText={translate('common.cancel')}
danger
/>
<View style={[styles.pv4, styles.ph5]}>
<ToggleSettingOptionRow
title={translate('common.required')}
switchAccessibilityLabel={translate('common.required')}
isActive={!!currentPolicyTag?.required}
onToggle={(on) => Tag.setPolicyTagsRequired(policyID, on, route.params.orderWeight)}
pendingAction={currentPolicyTag.pendingFields?.required}
errors={currentPolicyTag?.errorFields?.required ?? undefined}
onCloseError={() => Tag.clearPolicyTagListError(policyID, route.params.orderWeight, 'required')}
disabled={!currentPolicyTag?.required && !Object.values(currentPolicyTag?.tags ?? {}).some((tag) => tag.enabled)}
/>
</View>
{!hasDependentTags && (
<View style={[styles.pv4, styles.ph5]}>
<ToggleSettingOptionRow
title={translate('common.required')}
switchAccessibilityLabel={translate('common.required')}
isActive={!!currentPolicyTag?.required}
onToggle={(on) => Tag.setPolicyTagsRequired(policyID, on, route.params.orderWeight)}
pendingAction={currentPolicyTag.pendingFields?.required}
errors={currentPolicyTag?.errorFields?.required ?? undefined}
onCloseError={() => Tag.clearPolicyTagListError(policyID, route.params.orderWeight, 'required')}
disabled={!currentPolicyTag?.required && !Object.values(currentPolicyTag?.tags ?? {}).some((tag) => tag.enabled)}
/>
</View>
)}
<OfflineWithFeedback
errors={currentPolicyTag.errors}
pendingAction={currentPolicyTag.pendingAction}
Expand Down

0 comments on commit 3c56ee2

Please sign in to comment.