diff --git a/android/app/src/main/assets/fonts/INatIcon.ttf b/android/app/src/main/assets/fonts/INatIcon.ttf index 50c95fa2d..7f84059b8 100644 Binary files a/android/app/src/main/assets/fonts/INatIcon.ttf and b/android/app/src/main/assets/fonts/INatIcon.ttf differ diff --git a/android/link-assets-manifest.json b/android/link-assets-manifest.json index 9aa9d3e78..591972043 100644 --- a/android/link-assets-manifest.json +++ b/android/link-assets-manifest.json @@ -3,7 +3,7 @@ "data": [ { "path": "assets/fonts/INatIcon.ttf", - "sha1": "9f7e321421207b57e03952ef1b9386e8b618f98f" + "sha1": "b06f8d8fc228469707681cbbdde665868437d031" }, { "path": "assets/fonts/Whitney-Book-Italic.otf", diff --git a/assets/fonts/INatIcon.ttf b/assets/fonts/INatIcon.ttf index 50c95fa2d..7f84059b8 100644 Binary files a/assets/fonts/INatIcon.ttf and b/assets/fonts/INatIcon.ttf differ diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 19b952c67..b4f822d9b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -705,7 +705,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - boost: 7dcd2de282d72e344012f7d6564d024930a6a440 + boost: 57d2868c099736d80fcd648bf211b4431e51a558 BVLinearGradient: 880f91a7854faff2df62518f0281afb1c60d49a3 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: 9840513ec2766e31fb9e34c2dabb2c4671400fcd @@ -788,4 +788,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 77ed9526d4011b245ce5afa1ea331dea4c67d753 -COCOAPODS: 1.14.3 +COCOAPODS: 1.14.2 diff --git a/ios/iNaturalistReactNative.xcodeproj/project.pbxproj b/ios/iNaturalistReactNative.xcodeproj/project.pbxproj index 3dfe1e31f..7e31f2b17 100644 --- a/ios/iNaturalistReactNative.xcodeproj/project.pbxproj +++ b/ios/iNaturalistReactNative.xcodeproj/project.pbxproj @@ -260,7 +260,6 @@ D09FA3A0162844FF80A5EF96 /* Whitney-Medium-Pro.otf */, 374CB22E29943E63005885ED /* Whitney-BookItalic-Pro.otf */, EE004FD2EC174086A7AB2908 /* inaturalisticons.ttf */, - CC5CF9E037E74ADF9CF9710B /* INatIcon.ttf */, 62CACBCC44D64A7EB95AACF1 /* Whitney-Book-Pro.otf */, 097C2902AB1249AA9846CED3 /* Whitney-MediumItalic-Pro.otf */, B397CFD4AEFF474A89A3D27B /* Whitney-Semibold-Pro.otf */, @@ -979,7 +978,11 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); - OTHER_LDFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; }; @@ -1048,7 +1051,11 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); - OTHER_LDFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl", + "-ld_classic", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; diff --git a/ios/link-assets-manifest.json b/ios/link-assets-manifest.json index 9aa9d3e78..591972043 100644 --- a/ios/link-assets-manifest.json +++ b/ios/link-assets-manifest.json @@ -3,7 +3,7 @@ "data": [ { "path": "assets/fonts/INatIcon.ttf", - "sha1": "9f7e321421207b57e03952ef1b9386e8b618f98f" + "sha1": "b06f8d8fc228469707681cbbdde665868437d031" }, { "path": "assets/fonts/Whitney-Book-Italic.otf", diff --git a/src/components/Explore/Explore.js b/src/components/Explore/Explore.js index 9c53bdd3d..fe9ec64be 100644 --- a/src/components/Explore/Explore.js +++ b/src/components/Explore/Explore.js @@ -35,12 +35,11 @@ const getShadow = shadowColor => getShadowStyle( { elevation: 6 } ); -// TODO: observers and identifiers icons need replacement const exploreViewIcon = { observations: "binoculars", species: "leaf", - observers: "person", - identifiers: "person" + observers: "observers", + identifiers: "identifiers" }; type Props = { @@ -106,24 +105,28 @@ const Explore = ( { label: t( "Species" ), text: t( "Organisms-that-are-identified-to-species" ), buttonText: t( "EXPLORE-SPECIES" ), + icon: "species", value: "species" }, observations: { label: t( "Observations" ), text: t( "Individual-encounters-with-organisms" ), buttonText: t( "EXPLORE-OBSERVATIONS" ), + icon: "observations", value: "observations" }, observers: { label: t( "Observers" ), text: t( "iNaturalist-users-who-have-observed" ), buttonText: t( "EXPLORE-OBSERVERS" ), + icon: "observers", value: "observers" }, identifiers: { label: t( "Identifiers" ), text: t( "iNaturalist-users-who-have-left-an-identification" ), buttonText: t( "EXPLORE-IDENTIFIERS" ), + icon: "identifiers", value: "identifiers" } }; diff --git a/src/components/SharedComponents/INatIcon/glyphmap.json b/src/components/SharedComponents/INatIcon/glyphmap.json index 38ed1c9cd..31e2c18b6 100644 --- a/src/components/SharedComponents/INatIcon/glyphmap.json +++ b/src/components/SharedComponents/INatIcon/glyphmap.json @@ -64,49 +64,51 @@ "iconic-reptilia": 61759, "iconic-unknown": 61760, "id-agree": 61761, - "inaturalist": 61762, - "info-circle-outline": 61763, - "kebab-menu": 61764, - "label-outline": 61765, - "label": 61766, - "laptop": 61767, - "layers": 61768, - "leaf": 61769, - "list-square": 61770, - "location-crosshairs": 61771, - "magnifying-glass": 61772, - "map-layers": 61773, - "map-marker-outline": 61774, - "map": 61775, - "microphone-circle": 61776, - "microphone": 61777, - "noevidence": 61778, - "notifications-bell": 61779, - "pause-circle": 61780, - "pause": 61781, - "pencil-outline": 61782, - "pencil": 61783, - "person": 61784, - "photos-outline": 61785, - "photos": 61786, - "play-circle": 61787, - "play": 61788, - "plus-bold": 61789, - "plus": 61790, - "pot-outline": 61791, - "rotate-exclamation": 61792, - "rotate-right": 61793, - "rotate": 61794, - "share": 61795, - "sliders": 61796, - "sound-bold-outline": 61797, - "sound-outline": 61798, - "sounds": 61799, - "sparkly-label": 61800, - "star-bold-outline": 61801, - "star": 61802, - "stop": 61803, - "trash-outline": 61804, - "trash": 61805, - "triangle-exclamation": 61806 + "identifiers": 61762, + "inaturalist": 61763, + "info-circle-outline": 61764, + "kebab-menu": 61765, + "label-outline": 61766, + "label": 61767, + "laptop": 61768, + "layers": 61769, + "leaf": 61770, + "list-square": 61771, + "location-crosshairs": 61772, + "magnifying-glass": 61773, + "map-layers": 61774, + "map-marker-outline": 61775, + "map": 61776, + "microphone-circle": 61777, + "microphone": 61778, + "noevidence": 61779, + "notifications-bell": 61780, + "observers": 61781, + "pause-circle": 61782, + "pause": 61783, + "pencil-outline": 61784, + "pencil": 61785, + "person": 61786, + "photos-outline": 61787, + "photos": 61788, + "play-circle": 61789, + "play": 61790, + "plus-bold": 61791, + "plus": 61792, + "pot-outline": 61793, + "rotate-exclamation": 61794, + "rotate-right": 61795, + "rotate": 61796, + "share": 61797, + "sliders": 61798, + "sound-bold-outline": 61799, + "sound-outline": 61800, + "sounds": 61801, + "sparkly-label": 61802, + "star-bold-outline": 61803, + "star": 61804, + "stop": 61805, + "trash-outline": 61806, + "trash": 61807, + "triangle-exclamation": 61808 } \ No newline at end of file diff --git a/src/components/SharedComponents/RadioButtonRow.js b/src/components/SharedComponents/RadioButtonRow.js index 064029bf0..85d07104d 100644 --- a/src/components/SharedComponents/RadioButtonRow.js +++ b/src/components/SharedComponents/RadioButtonRow.js @@ -1,13 +1,19 @@ // @flow import classnames from "classnames"; -import { List2 } from "components/SharedComponents"; +import { + Body1, + INatIcon, + List2 +} from "components/SharedComponents"; +import { View } from "components/styledComponents"; import type { Node } from "react"; -import React from "react"; +import React, { useMemo } from "react"; import { Platform } from "react-native"; import { RadioButton, useTheme } from "react-native-paper"; type Props = { value: string, + icon: string, checked: boolean, onPress: Function, label: string, @@ -16,7 +22,7 @@ type Props = { } const RadioButtonRow = ( { - value, checked, onPress, label, description, style + value, icon, checked, onPress, label, description, style }: Props ): Node => { const theme = useTheme( ); @@ -32,6 +38,18 @@ const RadioButtonRow = ( { textAlignVertical: "center" }; + const iconLabel = useMemo( () => ( + + {label} + + + ), [label, icon, theme.colors.secondary] ); + + const labelComponent = useMemo( () => { + if ( icon ) return iconLabel; + return label; + }, [icon, iconLabel, label] ); + return ( ( setChecked( radioValues[radioRow].value )} label={radioValues[radioRow].label} diff --git a/src/images/icons/identifiers.svg b/src/images/icons/identifiers.svg new file mode 100644 index 000000000..e2f8db59f --- /dev/null +++ b/src/images/icons/identifiers.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/images/icons/observers.svg b/src/images/icons/observers.svg new file mode 100644 index 000000000..46c6de310 --- /dev/null +++ b/src/images/icons/observers.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/tests/unit/components/BottomTabNavigator/__snapshots__/CustomTabBar.test.js.snap b/tests/unit/components/BottomTabNavigator/__snapshots__/CustomTabBar.test.js.snap index f601d0245..6f5f0c4dd 100644 --- a/tests/unit/components/BottomTabNavigator/__snapshots__/CustomTabBar.test.js.snap +++ b/tests/unit/components/BottomTabNavigator/__snapshots__/CustomTabBar.test.js.snap @@ -399,7 +399,7 @@ exports[`CustomTabBar should render correctly 1`] = ` ] } > -  +  @@ -491,7 +491,7 @@ exports[`CustomTabBar should render correctly 1`] = ` ] } > -  +  @@ -582,7 +582,7 @@ exports[`CustomTabBar should render correctly 1`] = ` ] } > -  +  diff --git a/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/IdentificationsCount.test.js.snap b/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/IdentificationsCount.test.js.snap index df70c07f8..2c227e8d2 100644 --- a/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/IdentificationsCount.test.js.snap +++ b/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/IdentificationsCount.test.js.snap @@ -1,77 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`IdentificationsCount renders default reliably 1`] = ` - - -  - - - 1 - - -`; - -exports[`IdentificationsCount renders filled reliably 1`] = ` `; +exports[`IdentificationsCount renders filled reliably 1`] = ` + + +  + + + 1 + + +`; + exports[`IdentificationsCount renders white reliably 1`] = ` -  +  -  +  -  +  -  +  -  + 