mirror of
https://github.com/inaturalist/iNaturalistReactNative.git
synced 2026-05-25 00:36:08 -04:00
This commit is contained in:
committed by
GitHub
parent
d79306ffee
commit
60c2e730ff
@@ -43,6 +43,8 @@ const ProjectDetails = ( {
|
||||
return null;
|
||||
}
|
||||
|
||||
const userTextStyle = { lineHeight: 26 };
|
||||
|
||||
return (
|
||||
<ScrollViewWrapper testID="project-details">
|
||||
<View className="h-[24px]" />
|
||||
@@ -72,8 +74,8 @@ const ProjectDetails = ( {
|
||||
onSpeciesPressed={onSpeciesPressed}
|
||||
/>
|
||||
<Heading4 className="mt-7">{t( "ABOUT" )}</Heading4>
|
||||
{/* eslint-disable-next-line react-native/no-inline-styles */}
|
||||
<UserText text={project.description} htmlStyle={{ lineHeight: 26 }} />
|
||||
{project?.description
|
||||
&& <UserText text={project.description} htmlStyle={userTextStyle} />}
|
||||
{project.project_type === "collection" && (
|
||||
<>
|
||||
<Heading4 className="mb-3 mt-5">{t( "PROJECT-REQUIREMENTS" )}</Heading4>
|
||||
|
||||
@@ -15,7 +15,6 @@ import {
|
||||
} from "navigation/navigationOptions";
|
||||
import DeveloperStackNavigator from "navigation/StackNavigators/DeveloperStackNavigator";
|
||||
import ObservationsStackNavigator from "navigation/StackNavigators/ObservationsStackNavigator";
|
||||
import ProjectsStackNavigator from "navigation/StackNavigators/ProjectsStackNavigator";
|
||||
import React from "react";
|
||||
|
||||
import CustomTabBarContainer from "./CustomTabBarContainer";
|
||||
@@ -93,11 +92,6 @@ const BottomTabs = ( ) => {
|
||||
/>
|
||||
<Tab.Screen name="help" component={PlaceholderComponent} />
|
||||
<Tab.Screen name="Blog" component={PlaceholderComponent} />
|
||||
<Tab.Screen
|
||||
name="ProjectsStackNavigator"
|
||||
component={ProjectsStackNavigator}
|
||||
options={hideHeader}
|
||||
/>
|
||||
<Tab.Screen
|
||||
name="DeveloperStackNavigator"
|
||||
component={DeveloperStackNavigator}
|
||||
|
||||
@@ -74,7 +74,10 @@ const CustomDrawerContent = ( { ...props }: Props ): Node => {
|
||||
label: t( "PROJECTS" ),
|
||||
navigation: "TabNavigator",
|
||||
params: {
|
||||
screen: "Projects"
|
||||
screen: "ObservationsStackNavigator",
|
||||
params: {
|
||||
screen: "Projects"
|
||||
}
|
||||
},
|
||||
icon: "briefcase"
|
||||
},
|
||||
|
||||
@@ -11,6 +11,8 @@ import MyObservationsContainer from "components/MyObservations/MyObservationsCon
|
||||
import NotificationsContainer from "components/Notifications/NotificationsContainer";
|
||||
import DQAContainer from "components/ObsDetails/DQAContainer";
|
||||
import ObsDetailsContainer from "components/ObsDetails/ObsDetailsContainer";
|
||||
import ProjectDetailsContainer from "components/ProjectDetails/ProjectDetailsContainer";
|
||||
import ProjectsContainer from "components/Projects/ProjectsContainer";
|
||||
import { Heading4 } from "components/SharedComponents";
|
||||
import UserProfile from "components/UserProfile/UserProfile";
|
||||
import { t } from "i18next";
|
||||
@@ -129,6 +131,23 @@ const ObservationsStackNavigator = ( ): Node => (
|
||||
headerTitleAlign: "center"
|
||||
}}
|
||||
/>
|
||||
<Stack.Screen
|
||||
name="Projects"
|
||||
component={ProjectsContainer}
|
||||
options={{
|
||||
...removeBottomBorder,
|
||||
...blankHeaderTitle
|
||||
}}
|
||||
/>
|
||||
<Stack.Screen
|
||||
name="ProjectDetails"
|
||||
component={ProjectDetailsContainer}
|
||||
options={{
|
||||
...blankHeaderTitle,
|
||||
...removeBottomBorder,
|
||||
...showHeader
|
||||
}}
|
||||
/>
|
||||
</Stack.Group>
|
||||
</Stack.Navigator>
|
||||
);
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
// @flow
|
||||
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
import { createNativeStackNavigator } from "@react-navigation/native-stack";
|
||||
import ProjectDetailsContainer from "components/ProjectDetails/ProjectDetailsContainer";
|
||||
import ProjectsContainer from "components/Projects/ProjectsContainer";
|
||||
import {
|
||||
blankHeaderTitle,
|
||||
removeBottomBorder,
|
||||
showHeader
|
||||
} from "navigation/navigationOptions";
|
||||
import type { Node } from "react";
|
||||
import React from "react";
|
||||
|
||||
const Stack = createNativeStackNavigator( );
|
||||
|
||||
const ProjectsStackNavigator = ( ): Node => (
|
||||
<Stack.Navigator>
|
||||
<Stack.Screen
|
||||
name="Projects"
|
||||
component={ProjectsContainer}
|
||||
options={{
|
||||
...removeBottomBorder,
|
||||
...blankHeaderTitle
|
||||
}}
|
||||
/>
|
||||
<Stack.Screen
|
||||
name="ProjectDetails"
|
||||
component={ProjectDetailsContainer}
|
||||
options={{
|
||||
...blankHeaderTitle,
|
||||
...removeBottomBorder,
|
||||
...showHeader
|
||||
}}
|
||||
/>
|
||||
</Stack.Navigator>
|
||||
);
|
||||
|
||||
export default ProjectsStackNavigator;
|
||||
@@ -1,4 +1,5 @@
|
||||
import { screen } from "@testing-library/react-native";
|
||||
import ProjectDetails from "components/ProjectDetails/ProjectDetails";
|
||||
import ProjectDetailsContainer from "components/ProjectDetails/ProjectDetailsContainer";
|
||||
import React from "react";
|
||||
import factory from "tests/factory";
|
||||
@@ -50,4 +51,16 @@ describe( "ProjectDetails", ( ) => {
|
||||
screen.getByTestId( "ProjectDetails.projectIcon" ).props.source
|
||||
).toStrictEqual( { uri: mockProject.icon } );
|
||||
} );
|
||||
|
||||
it( "renders when project has no description", ( ) => {
|
||||
renderComponent(
|
||||
<ProjectDetails
|
||||
project={{
|
||||
...mockProject,
|
||||
description: null
|
||||
}}
|
||||
/>
|
||||
);
|
||||
expect( screen.getByText( mockProject.title ) ).toBeTruthy( );
|
||||
} );
|
||||
} );
|
||||
|
||||
Reference in New Issue
Block a user