From bb67cf0eeb22565303c63aeb28b2bc5b59b320da Mon Sep 17 00:00:00 2001 From: Amanda Bullington <35536439+albullington@users.noreply.github.com> Date: Wed, 30 Nov 2022 14:15:51 -0800 Subject: [PATCH] Fix Android crash on text string in Button component (#249) * Remove TranslatedText component from Button and pass in translation strings via props * Fix rendering of bottom sheets --- src/components/Explore/BottomCard.js | 6 +- src/components/Explore/ExploreFilters.js | 55 +++++++++---------- src/components/Explore/ExploreFooter.js | 3 +- src/components/Explore/ExploreLanding.js | 11 ++-- src/components/Explore/ResetFiltersButton.js | 6 +- src/components/Explore/TaxonLocationSearch.js | 7 ++- src/components/Identify/GridItem.js | 3 +- src/components/LoginSignUp/Login.js | 5 +- src/components/LoginSignUp/Logout.js | 5 +- src/components/ObsDetails/ObsDetails.js | 3 +- src/components/ObsEdit/BottomModal.js | 6 +- .../ObsEdit/IdentificationSection.js | 5 +- src/components/ObsEdit/LocationPicker.js | 3 +- src/components/ObsEdit/ObsEdit.js | 7 +-- .../Observations/ObservationViews.js | 25 +++++---- .../PhotoImporter/GroupPhotosFooter.js | 2 +- src/components/PhotoImporter/PhotoGallery.js | 3 +- .../SharedComponents/Buttons/Button.js | 13 ++--- .../Buttons/RoundGrayButton.js | 42 -------------- .../SharedComponents/TranslatedText.js | 24 -------- src/components/UserProfile/UserProfile.js | 4 +- 21 files changed, 84 insertions(+), 154 deletions(-) delete mode 100644 src/components/SharedComponents/Buttons/RoundGrayButton.js delete mode 100644 src/components/SharedComponents/TranslatedText.js diff --git a/src/components/Explore/BottomCard.js b/src/components/Explore/BottomCard.js index be3a23f6e..9016accba 100644 --- a/src/components/Explore/BottomCard.js +++ b/src/components/Explore/BottomCard.js @@ -1,10 +1,10 @@ // @flow -import TranslatedText from "components/SharedComponents/TranslatedText"; +import { Text, View } from "components/styledComponents"; +import { t } from "i18next"; import { ExploreContext } from "providers/contexts"; import type { Node } from "react"; import React, { useContext } from "react"; -import { View } from "react-native"; import { viewStyles } from "styles/explore/explore"; import DropdownPicker from "./DropdownPicker"; @@ -38,7 +38,7 @@ const Explore = ( ): Node => { return ( - + {t( "Explore" )} { <> - + {t( "Sort-by" )} { }} /> - + {t( "Filters" )} - + {t( "Quality-Grade" )} {renderQualityGradeCheckbox( "research" )} - + {t( "Research-Grade" )} {renderQualityGradeCheckbox( "needs_id" )} - + {t( "Needs-ID" )} {renderQualityGradeCheckbox( "casual" )} - + {t( "Casual" )} - - + {t( "User" )} + {t( "Search-for-a-user" )} { sources="users" value={userId} /> - - + {t( "Projects" )} + {t( "Search-for-a-project" )} { sources="projects" value={projectId} /> - - + {t( "Rank" )} + {t( "Low" )} {renderRankPicker( "lrank" )} - + {t( "High" )} {renderRankPicker( "hrank" )} - - + {t( "Date" )} + {t( "Months" )} {renderMonthsPicker( )} - + {t( "Media" )} {renderMediaCheckbox( "photos" )} - + {t( "Has-Photos" )} {renderMediaCheckbox( "sounds" )} - + {t( "Has-Sounds" )} - + {t( "Status" )} {renderStatusCheckbox( "introduced" )} - + {t( "Introduced" )} {renderStatusCheckbox( "native" )} - + {t( "Native" )} {renderStatusCheckbox( "threatened" )} - + {t( "Threatened" )} {renderStatusCheckbox( "captive" )} - + {t( "Captive-Cultivated" )} - + {t( "Reviewed" )} { } }} /> - + {t( "Photo-Licensing" )} { setUnappliedFilters( { @@ -413,7 +412,7 @@ const ExploreFilters = ( ): Node => { : "all" } /> - + {t( "Description-Tags" )} { setUnappliedFilters( { diff --git a/src/components/Explore/ExploreFooter.js b/src/components/Explore/ExploreFooter.js index ec31ace96..9b464a547 100644 --- a/src/components/Explore/ExploreFooter.js +++ b/src/components/Explore/ExploreFooter.js @@ -3,6 +3,7 @@ import { HeaderBackButton } from "@react-navigation/elements"; import { useNavigation } from "@react-navigation/native"; import Button from "components/SharedComponents/Buttons/Button"; +import { t } from "i18next"; import { ExploreContext } from "providers/contexts"; import type { Node } from "react"; import React from "react"; @@ -29,7 +30,7 @@ const ExploreFooter = ( ): Node => { -); - -export default RoundGrayButton; diff --git a/src/components/SharedComponents/TranslatedText.js b/src/components/SharedComponents/TranslatedText.js deleted file mode 100644 index 38a577ffe..000000000 --- a/src/components/SharedComponents/TranslatedText.js +++ /dev/null @@ -1,24 +0,0 @@ -// @flow - -import type { Node } from "react"; -import React from "react"; -import { useTranslation } from "react-i18next"; -import { Text } from "react-native"; - -type Props = { - text: string, - style?: any, - className?: string, - count?: number -} - -const TranslatedText = ( { - text, style, className, count -}: Props ): Node => { - const { t } = useTranslation( ); - - // $FlowIgnore - return {t( text, { count } )}; -}; - -export default TranslatedText; diff --git a/src/components/UserProfile/UserProfile.js b/src/components/UserProfile/UserProfile.js index c58143d41..3591d0f95 100644 --- a/src/components/UserProfile/UserProfile.js +++ b/src/components/UserProfile/UserProfile.js @@ -102,7 +102,7 @@ const UserProfile = ( ): React.Node => {