WIP - Add screens to show licence and changelog #9

Closed
Ghost wants to merge 9 commits from (deleted):changelog_and_licence_screens into master
6 changed files with 403 additions and 4 deletions

106
package-lock.json generated
View file

@ -3043,6 +3043,11 @@
}
}
},
"base-64": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
"integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs="
},
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
@ -3221,6 +3226,11 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
},
"camelize": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
},
"capture-exit": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
@ -3531,6 +3541,21 @@
}
}
},
"css-color-keywords": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
"integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU="
},
"css-to-react-native": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz",
"integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==",
"requires": {
"camelize": "^1.0.0",
"css-color-keywords": "^1.0.0",
"postcss-value-parser": "^4.0.2"
}
},
"cssom": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
@ -8549,6 +8574,14 @@
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
"dev": true
},
"linkify-it": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
"integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
"requires": {
"uc.micro": "^1.0.1"
}
},
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
@ -8798,6 +8831,30 @@
"object-visit": "^1.0.0"
}
},
"markdown-it": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz",
"integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==",
"requires": {
"argparse": "^1.0.7",
"entities": "~2.0.0",
"linkify-it": "^2.0.0",
"mdurl": "^1.0.1",
"uc.micro": "^1.0.5"
},
"dependencies": {
"entities": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
}
}
},
"mdurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
},
"merge-stream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
@ -9973,6 +10030,11 @@
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
"postcss-value-parser": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
},
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@ -10365,6 +10427,23 @@
"prop-types": "^15.6.2"
}
},
"react-native-fit-image": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz",
"integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==",
"requires": {
"prop-types": "^15.5.10"
}
},
"react-native-fs": {
"version": "2.16.6",
"resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.16.6.tgz",
"integrity": "sha512-ZWOooD1AuFoAGY3HS2GY7Qx2LZo4oIg6AK0wbC68detxwvX75R/q9lRqThXNKP6vIo2VHWa0fYUo/SrLw80E8w==",
"requires": {
"base-64": "^0.1.0",
"utf8": "^3.0.0"
}
},
"react-native-gesture-handler": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.7.0.tgz",
@ -10411,11 +10490,28 @@
"resolved": "https://registry.npmjs.org/react-native-linear-gradient/-/react-native-linear-gradient-2.5.6.tgz",
"integrity": "sha512-HDwEaXcQIuXXCV70O+bK1rizFong3wj+5Q/jSyifKFLg0VWF95xh8XQgfzXwtq0NggL9vNjPKXa016KuFu+VFg=="
},
"react-native-local-resource": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/react-native-local-resource/-/react-native-local-resource-0.1.6.tgz",
"integrity": "sha512-uDT6Ig8w6WkmA7ReIUG8soBkWJ94b/d1cnFHnlEMvMPlBf6fhPHh90mVdNTTYf95oT4sL09mBN5MYFDX4hRIiQ==",
"dev": true
},
"react-native-localize": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/react-native-localize/-/react-native-localize-1.4.1.tgz",
"integrity": "sha512-g1L1au6GtCd0Ci6lQ8JVPYgl7uvEtKY2jeVghJcV6qQEN9+qACyqjOIR8pskUyI+qcSj1z4/nZh3IFxDVu1drw=="
},
"react-native-markdown-display": {
"version": "6.1.6",
"resolved": "https://registry.npmjs.org/react-native-markdown-display/-/react-native-markdown-display-6.1.6.tgz",
"integrity": "sha512-B/nHcsJ/lFie/GCmQKU1EJeDNTYRRY/sHMQEC9nzJ5uN8pm5F0KTFfC/UZn/Jb9x8Mi/S0neBw54UL+sygphUg==",
"requires": {
"css-to-react-native": "^3.0.0",
"markdown-it": "^10.0.0",
"prop-types": "^15.7.2",
"react-native-fit-image": "^1.5.5"
}
},
"react-native-modalize": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/react-native-modalize/-/react-native-modalize-2.0.5.tgz",
@ -11916,6 +12012,11 @@
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
"integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ=="
},
"uc.micro": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
},
"uglify-es": {
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
@ -12050,6 +12151,11 @@
"object-assign": "^4.1.1"
}
},
"utf8": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz",
"integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ=="
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View file

@ -38,11 +38,13 @@
"react-native-calendars": "^1.308.0",
"react-native-camera": "^3.35.0",
"react-native-collapsible": "^1.5.3",
"react-native-fs": "^2.16.6",
"react-native-gesture-handler": "^1.7.0",
"react-native-image-zoom-viewer": "^3.0.1",
"react-native-keychain": "^6.1.1",
"react-native-linear-gradient": "^2.5.6",
"react-native-localize": "^1.4.1",
"react-native-markdown-display": "^6.1.6",
"react-native-modalize": "^2.0.5",
"react-native-paper": "^4.0.1",
"react-native-permissions": "^2.1.5",
@ -76,6 +78,7 @@
"jest-extended": "^0.11.5",
"metro-react-native-babel-preset": "^0.59.0",
"prettier": "2.0.5",
"react-native-local-resource": "^0.1.6",
"react-test-renderer": "16.13.1"
}
}

View file

@ -25,6 +25,8 @@ import {
getWebsiteStack,
} from '../utils/CollapsibleUtils';
import BugReportScreen from '../screens/Other/FeedbackScreen';
import ChangelogScreen from '../screens/Other/ChangelogScreen';
import LicenceScreen from "../screens/Other/LicenceScreen";
import WebsiteScreen from '../screens/Services/WebsiteScreen';
import EquipmentScreen from '../screens/Amicale/Equipment/EquipmentListScreen';
import EquipmentLendScreen from '../screens/Amicale/Equipment/EquipmentRentScreen';
@ -214,6 +216,18 @@ function MainStackComponent(props: {
BugReportScreen,
i18n.t('screens.feedback.title'),
)}
{createScreenCollapsibleStack(
'changelog',
MainStack,
ChangelogScreen,
i18n.t('screens.about.changelog')
)}
{createScreenCollapsibleStack(
'licence',
MainStack,
LicenceScreen,
i18n.t('screens.about.license')
)}
</MainStack.Navigator>
);
}

View file

@ -98,20 +98,22 @@ class AboutScreen extends React.Component<PropsType> {
},
{
onPressCallback: () => {
openWebLink(links.changelog);
const {navigation} = this.props;
navigation.navigate('changelog');
},
icon: 'refresh',
icon: 'file-document',
text: i18n.t('screens.about.changelog'),
showChevron: true,
},
{
onPressCallback: () => {
openWebLink(links.license);
const {navigation} = this.props;
navigation.navigate('licence');
},
icon: 'file-document',
text: i18n.t('screens.about.license'),
showChevron: true,
},
}
];
/**

View file

@ -0,0 +1,248 @@
// @flow
import * as React from 'react';
import {Card, withTheme} from 'react-native-paper';
import CollapsibleScrollView from '../../components/Collapsible/CollapsibleScrollView';
import Markdown from 'react-native-markdown-display';
const changelog = `# 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> {
render(): React.Node {
return (
<CollapsibleScrollView style={{padding: 5}}>
<Card>
<Card.Content>
<Markdown>{changelog}</Markdown>
</Card.Content>
</Card>
</CollapsibleScrollView>
);
}
}
export default withTheme(ChangelogScreen);

View file

@ -0,0 +1,26 @@
// @flow
import * as React from 'react';
import {Card, withTheme} from 'react-native-paper';
import CollapsibleScrollView from '../../components/Collapsible/CollapsibleScrollView';
import Markdown from 'react-native-markdown-display';
const licence = "Here comes the licence content"
class LicenceScreen extends React.Component<null> {
render(): React.Node {
return (
<CollapsibleScrollView style={{padding: 5}}>
<Card>
<Card.Content>
<Markdown>
{licence}
</Markdown>
</Card.Content>
</Card>
</CollapsibleScrollView>
);
}
}
export default withTheme(LicenceScreen);