Add changelog rendering in new screen

This commit is contained in:
Gérald L 2020-09-01 13:08:36 +02:00
parent 756854b9f9
commit a4a6237783
4 changed files with 235 additions and 141 deletions

View file

@ -353,6 +353,9 @@
"reactNative": "Made with React Native",
"libs": "Libraries used"
},
"changelog": {
"title": "Changelog"
},
"feedback": {
"title": "Contribute",
"feedback": "Contact the dev",

View file

@ -352,6 +352,9 @@
"reactNative": "Créé avec React Native",
"libs": "Librairies utilisées"
},
"changelog": {
"title": "Changelog"
},
"feedback": {
"title": "Participer",
"feedback": "Contacte le développeur",

View file

@ -219,7 +219,7 @@ function MainStackComponent(props: {
'changelog',
MainStack,
ChangelogScreen,
"Jean Yves"
i18n.t('screens.changelog.title')
)}
</MainStack.Navigator>
);

View file

@ -1,156 +1,244 @@
// @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 {Card, withTheme} from 'react-native-paper';
import CollapsibleScrollView from '../../components/Collapsible/CollapsibleScrollView';
import type {CardTitleIconPropsType} from '../../constants/PaperStyles';
import Markdown from "react-native-markdown-renderer";
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',
};
const copy = `# Version actuelle - v3.0.7 - 13/06/2020
## 🎉 Nouveautés
- Mise à jour des écrans d'intro pour mieux refléter l'appli actuelle
- Déplacement du bouton *À propos* dans les paramètres
- Mode sombre par défaut parce que voilà
## 🐛 Corrections de bugs
- Correction de crash au démarrage sur certains appareils
- Correction de l'affichage de certains sites web
## 🖥 Notes de développement
- Force soloader 0.8.2
# Prochainement - **v4.0.1**
<details><summary>**v4.0.1**</summary>
## 🎉 Nouveautés
- Ajout d'une mascotte !
- Ajout de la sauvegarde des scores pour le jeu
- Ajout de la personnalisation de la dashboard
- Amélioration de l'intro
- Amélioration de la page du jeu
- Amélioration du visionnement des images
- Amélioration des traductions
- Amélioration des informations données par proxiwash
- Amélioration de la visibilité des services Amicale sans compte
- Améliorations générales de l'interface
## 🐛 Corrections de bugs
- Correction d'un problème de connexion sur certains appareils android
- Correction de l'icône de notification sur Android
- Correction de bugs divers
## 🖥 Notes de développement
- Utilisation de prettier
- Utilisation de eslint avec config de airbnb
- Passage de React Native 62.2 à 63.2
</details>
# Versions précédentes
<details><summary>**v3.0.5** - 28/05/2020</summary>
## 🎉 Nouveautés
- Importante amélioration de la vitesse de démarrage et des performances
- Nouvelle réduction importante de la taille de l'application à télécharger et une fois installée
## 🖥 Notes de développement
- Passage de React Native 61.5 à 62.2
- Utilisation du moteur JS Hermes et proguard
</details>
<details><summary>**v3.0.0** - 26/05/2020</summary>
## 🎉 Nouveautés
- Nouvelle barre de navigation !
- Nouveau planex tout beau tout neuf !
- Suppression du menu déroulant gauche
- Création d'une nouvelle catégorie dans la barre de navigation pour regrouper tous les services
- Ajout d'animations un peu partout parce que c'est joli et j'ai compris comment faire :D
- Ajout de la connexion au compte Amicale
- Ajout de la liste des clubs, des élections et du profil utilisateur à travers son compte Amicale
- Amélioration de la vitesse de démarrage et des performances
- Réduction importante de la taille de l'application à télécharger et une fois installée
## 🖥 Notes de développement
- Migration de Expo Managed Workflow à React Native Bare Workflow
</details>
<details><summary>**v2.0.0** - _12/03/2020_</summary>
## 🎉 Nouveautés
- Nouvelle interface !
- Amélioration des performances
- Amélioration de la vitesse de démarrage
## 🖥 Notes de développement
- Utilisation de react-native-paper à la place de native base
</details>
<details><summary>**v1.5.2** - _25/02/2020_</summary>
## 🐛 Corrections de bugs
- Correction d'un problème d'affichage des détail du Proximo
</details>
<details><summary>**v1.5.1** - _24/02/2020_</summary>
## 🎉 Nouveautés
- Amélioration des performances
- Utilisation d'un tri des catégories du Proximo plus cohérent
</details>
<details><summary>**v1.5.0** - _05/02/2020_</summary>
## 🎉 Nouveautés
- Amélioration des performances de l'application
- Amélioration du menu gauche
- Ajout d'animations au changement d'écran
- Affichage de l'événement de l'accueil directement au clic, au lieu de juste amener sur la liste
## 🖥 Notes de développement
- Passage de React Navigation 3 à 4
- Mise à jour d'autres librairies
</details>
<details><summary>**v1.4.0** - _01/02/2020_</summary>
## 🎉 Nouveautés
- Ajout d'un accès rapide à BlueMind et l'ENT
- Amélioration de l'apparence du menu gauche
- Amélioration de l'affichage de Planex
## 🐛 Corrections de bugs
- Correction d'un crash lors du rafraichissement de planex
- Correction de bugs divers
</details>
<details><summary>**v1.3.3** - _29/01/2020_</summary>
## 🎉 Nouveautés
- Ajout d'une barre de recherche dans Proximo
- Amélioration de l'interface Proximo
- Ajout d'un accès rapide au site des Élus Étudiants
- Amélioration du mode plein écran de Planex
## 🐛 Corrections de bugs
- Correction d'un problème de Planex mettant des cours sans couleur de fond
## 🖥 Notes de développement
- Yohan SIMARD rejoint le projet
- Passage de Expo SDK 33 à SDK 36
- Passage de React Native 59 à 61
- Mise à jour d'autres librairies
</details>
<details><summary>**v1.3.0** - _08/11/2019_</summary>
## 🎉 Nouveautés
- Ajout du support du mode paysage dans l'écran Planex pour une vue de la semaine entière
- Ajout d'une page pour visualiser les salles en libre accès et réserver une Bib'Box
- Ajout de Tutor'INSA sur la dashboard pour un accès rapide
- Ouverture des sites web dans l'appli a la place d'utiliser le navigateur externe
## 🐛 Corrections de bugs
- Correction de quelques bugs
</details>
<details><summary>**v1.2.0** - _01/11/2019_</summary>
## 🎉 Nouveautés
- Ajout d'une dashboard sur la page d'accueil pour un accès rapide aux informations les plus importantes.
## 🐛 Corrections de bugs
- - Corrections de bugs
</details>
<details><summary>**v1.1.1** - _28/09/2019_</summary>
## 🎉 Nouveautés
- Amélioration de la page Menu du RU
- Suppression de l'affichage des articles en rupture de stock dans la page Proximo
- Ajout de fonctionnalités de debug
</details>
<details><summary>**v1.1.0** - _17/09/2019_</summary>
## 🎉 Nouveautés
- Améliorations diverses de l'interface
- Ajout de l'écran planning des événements
</details>
<details><summary>**v1.0.3** - _13/09/2019_</summary>
## 🎉 Nouveautés
- Ajout de la possibilité de choisir un écran de démarrage
## 🐛 Corrections de bugs
- Correction d'un crash sur l'écran du Proximo si l'utilisateur refuse les notifications
</details>
<details><summary>**v1.0.2** - _12/09/2019_</summary>
## 🎉 Nouveautés
- Amélioration de l'interface du Proximo
- Ajout de la possibilité de cliquer sur un article du Proximo pour afficher plus de détails
</details>
<details><summary>**v1.0.0** - _27/08/2019_</summary>
- Première version officielle créée par Arnaud VERGNET
</details>
`;
class ChangeLogScreen extends React.Component<null> {
/**
* Gets link buttons
*
* @returns {*}
*/
static getButtons(isFeedback: boolean): React.Node {
return (
<Card.Actions
style={{
flex: 1,
flexWrap: 'wrap',
}}>
{isFeedback ? (
<View
style={{
flex: 1,
flexWrap: 'wrap',
flexDirection: 'row',
width: '100%',
}}>
<Button
icon="email"
mode="contained"
style={{
marginLeft: 'auto',
marginRight: 'auto',
marginTop: 5,
}}
onPress={() => {
Linking.openURL(links.feedbackMail);
}}>
MAIL
</Button>
<Button
icon="facebook"
mode="contained"
color="#2e88fe"
style={{
marginLeft: 'auto',
marginRight: 'auto',
marginTop: 5,
}}
onPress={() => {
Linking.openURL(links.facebook);
}}>
Facebook
</Button>
<Button
icon="discord"
mode="contained"
color="#7289da"
style={{
marginLeft: 'auto',
marginRight: 'auto',
marginTop: 5,
}}
onPress={() => {
Linking.openURL(links.feedbackDiscord);
}}>
Discord
</Button>
</View>
) : (
<View
style={{
flex: 1,
flexWrap: 'wrap',
flexDirection: 'row',
width: '100%',
}}>
<Button
icon="git"
mode="contained"
color="#609927"
style={{
marginLeft: 'auto',
marginRight: 'auto',
marginTop: 5,
}}
onPress={() => {
Linking.openURL(links.bugsGit);
}}>
GITETUD
</Button>
<Button
icon="calendar"
mode="contained"
color="#026AA7"
style={{
marginLeft: 'auto',
marginRight: 'auto',
marginTop: 5,
}}
onPress={() => {
Linking.openURL(links.trello);
}}>
TRELLO
</Button>
</View>
)}
</Card.Actions>
);
}
render(): React.Node {
return (
<CollapsibleScrollView style={{padding: 5}}>
<Card>
<Card.Title
title={i18n.t('screens.feedback.feedback')}
subtitle={i18n.t('screens.feedback.feedbackSubtitle')}
left={(iconProps: CardTitleIconPropsType): React.Node => (
<Avatar.Icon size={iconProps.size} icon="comment" />
)}
/>
<Card.Content>
<Paragraph>
{i18n.t('screens.feedback.feedbackDescription')}
</Paragraph>
<Markdown>{copy}</Markdown>
</Card.Content>
{ChangeLogScreen.getButtons(true)}
<Card.Title
title={i18n.t('screens.feedback.contribute')}
subtitle={i18n.t('screens.feedback.contributeSubtitle')}
left={(iconProps: CardTitleIconPropsType): React.Node => (
<Avatar.Icon size={iconProps.size} icon="handshake" />
)}
/>
<Card.Content>
<Paragraph>
{i18n.t('screens.feedback.contributeDescription')}
</Paragraph>
</Card.Content>
{ChangeLogScreen.getButtons(false)}
</Card>
</CollapsibleScrollView>
);