diff --git a/src/navigation/MainNavigator.js b/src/navigation/MainNavigator.js index d06dbf1..97d2628 100644 --- a/src/navigation/MainNavigator.js +++ b/src/navigation/MainNavigator.js @@ -25,6 +25,7 @@ import { getWebsiteStack, } from '../utils/CollapsibleUtils'; import BugReportScreen from '../screens/Other/FeedbackScreen'; +import ChangelogScreen from '../screens/Other/ChangeLogScreen'; import WebsiteScreen from '../screens/Services/WebsiteScreen'; import EquipmentScreen from '../screens/Amicale/Equipment/EquipmentListScreen'; import EquipmentLendScreen from '../screens/Amicale/Equipment/EquipmentRentScreen'; @@ -214,6 +215,12 @@ function MainStackComponent(props: { BugReportScreen, i18n.t('screens.feedback.title'), )} + {createScreenCollapsibleStack( + 'changelog', + MainStack, + ChangelogScreen, + "Jean Yves" + )} ); } diff --git a/src/screens/About/AboutScreen.js b/src/screens/About/AboutScreen.js index d26253a..04fa76d 100644 --- a/src/screens/About/AboutScreen.js +++ b/src/screens/About/AboutScreen.js @@ -98,7 +98,8 @@ class AboutScreen extends React.Component { }, { onPressCallback: () => { - openWebLink(links.changelog); + const {navigation} = this.props; + navigation.navigate('changelog'); }, icon: 'refresh', text: i18n.t('screens.about.changelog'), diff --git a/src/screens/Other/ChangeLogScreen.js b/src/screens/Other/ChangeLogScreen.js new file mode 100644 index 0000000..170b86c --- /dev/null +++ b/src/screens/Other/ChangeLogScreen.js @@ -0,0 +1,160 @@ +// @flow + +import * as React from 'react'; +import {Avatar, Button, Card, Paragraph, withTheme} from 'react-native-paper'; +import i18n from 'i18n-js'; +import {Linking, View} from 'react-native'; +import CollapsibleScrollView from '../../components/Collapsible/CollapsibleScrollView'; +import type {CardTitleIconPropsType} from '../../constants/PaperStyles'; + +const links = { + bugsGit: 'https://git.etud.insa-toulouse.fr/vergnet/application-amicale/', + trello: 'https://trello.com/b/RMej49Uq/application-campus-insa', + facebook: 'https://www.facebook.com/campus.insat', + feedbackMail: `mailto:app@amicale-insat.fr?subject=[FEEDBACK] Application CAMPUS +&body=Coucou Arnaud j'ai du feedback\n\n\n\nBien cordialement.`, + feedbackDiscord: 'https://discord.gg/W8MeTec', +}; + +class ChangeLogScreen extends React.Component { + /** + * Gets link buttons + * + * @returns {*} + */ + static getButtons(isFeedback: boolean): React.Node { + return ( + + {isFeedback ? ( + + + + + + ) : ( + + + + + )} + + ); + } + + render(): React.Node { + return ( + + + ( + + )} + /> + + + {i18n.t('screens.feedback.feedbackDescription')} + + + {ChangeLogScreen.getButtons(true)} + ( + + )} + /> + + + {i18n.t('screens.feedback.contributeDescription')} + + + {ChangeLogScreen.getButtons(false)} + + + ); + } +} + +export default withTheme(ChangeLogScreen);