Skip to content
This repository has been archived by the owner on Sep 18, 2024. It is now read-only.

[FEATURE] Mobile navbar & more #23

Draft
wants to merge 146 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
7de8626
init develop
Juknum Mar 30, 2023
62208e4
Correctif du code de conduite
Nchrd Apr 16, 2023
ea9e577
Ajout traductions, Linter & Gestion des tests (#17)
Juknum Apr 18, 2023
3c153ee
feat(core) : Upgraded to angular v16 and added angular-eslint (#19)
TheoDurr Oct 13, 2023
2f0674b
feat(utils): Added conventional commits (#20)
TheoDurr Oct 13, 2023
bed30cd
Navbar fonctionnelle, CSS à vérifier
Nchrd Mar 31, 2023
dfc5631
Remplacement des liens par des icones + review CSS
Nchrd Mar 31, 2023
58cfedd
Minor changes on appearance
Nchrd Mar 31, 2023
0e53c22
Ajout navbar secondaire
Nchrd Mar 31, 2023
59c2691
Finishing rebase
Juknum Apr 18, 2023
ef58522
renamed components
Juknum Apr 19, 2023
e7c7c75
Made svg icons their own icon component
Juknum Apr 19, 2023
77b363a
Rewrite navbar & header using icons components
Juknum Apr 19, 2023
26ab715
use webp instead of svg for the logo
Juknum Apr 19, 2023
7fdaf72
Added device detection (mobile/desktop) and switch navbar/header acco…
Juknum Apr 19, 2023
648d612
setup slider menus in the header
Juknum Apr 19, 2023
222537c
Use `_` instead of `-` in filenames
Juknum Apr 19, 2023
cffc47c
Add theme support #2
Juknum Apr 19, 2023
77675fe
Added events themed
Juknum Apr 20, 2023
17054b2
Started working on user side menu
Juknum Apr 20, 2023
c3428ab
Setup des pages de login/register
Nchrd Apr 20, 2023
00b17da
Advanced work on login/register pages & added dummy connection
Juknum Apr 20, 2023
52b7adf
Made side menu common components instead of mobile only
Juknum Apr 21, 2023
644a4c6
Moved animations into its own scss file & moved global scss into styl…
Juknum Apr 21, 2023
241f86b
Added warning when already logged/registered
Juknum Apr 21, 2023
cb9455e
Added the forgot password page
Juknum Apr 21, 2023
97d0985
made the favicon follow the selected event theme
Juknum Apr 21, 2023
764b8fa
Added links to navbar items
Juknum Apr 21, 2023
854836c
Added page title and fixed missing logo on login/register/forgot pages
Juknum Apr 21, 2023
d426a30
Moved types into a d.ts file & started implementation of font size se…
Juknum Apr 22, 2023
1513ea4
tweaked values & fully implemented font size selector
Juknum Apr 22, 2023
60ad020
Added link between user service & notifications count on user icon
Juknum Apr 22, 2023
2942567
Added inputs validators
Juknum Apr 22, 2023
6cb7b1e
Fix small button not getting the active class when selected
Juknum Apr 24, 2023
1737751
Put ages requirements inside env variables
Juknum Apr 24, 2023
a60d7a3
Added validators for names
Juknum Apr 24, 2023
5adeaf8
Added missing translations :aha_oups:
Juknum Apr 24, 2023
3dd5528
Added alert component, all fine but no animation yet
Nchrd Apr 24, 2023
bcbc180
Fixed code to get css animation
Nchrd Apr 24, 2023
9760f6a
Add a way to remember which alert has been dismissed by the user
Juknum Apr 25, 2023
dae58b2
Moved alerts code into a service and made the desktop component
Juknum Apr 25, 2023
2309a89
Fix useless CSS
Nchrd Apr 25, 2023
0d42261
Added a way to control if the btn should be disabled
Juknum Apr 25, 2023
397d3f0
Replaced handmade validators with Angular ones
Juknum Apr 25, 2023
9455187
Fix CRLF/LF issues
Juknum Apr 25, 2023
dda7118
Added icons set to recomendation & Fira Code as font
Juknum Apr 25, 2023
6cb5adb
Added some tests
Juknum Apr 26, 2023
58e9a48
ESLint
Juknum Apr 26, 2023
281d00e
Added some tests, test issue with captcha on register page
Nchrd Apr 26, 2023
751e775
Finished register page tests
Nchrd Apr 26, 2023
4aa5490
more tests
Juknum Apr 26, 2023
907e548
Basic authentification
Juknum May 4, 2023
8fc3950
Added routes to the user profile
Juknum May 4, 2023
bded947
Added API request to register page
Juknum May 5, 2023
cf6e26b
Fixed user profile route
Nchrd May 7, 2023
413bf1a
Created basic stuff from 1st part of profile
Nchrd May 11, 2023
95b32e9
Update trads + css fix
Nchrd May 11, 2023
748ce67
Added promotion icon component & added missing fields to profile page
Juknum May 12, 2023
5a56f28
Fixed DID when debugging safari iOS on macOS
Juknum May 12, 2023
b0ef3a0
Added possibility to update user profile picture
Juknum May 15, 2023
765acc8
Added aspect property on buttons
Juknum May 16, 2023
dbea6a7
Added flag, upload and pencil icons
Juknum May 16, 2023
3e7dfde
Added file input component
Juknum May 16, 2023
3c5ca0c
Added base64 type and made toBase64 a prototype of ArrayBuffer
Juknum May 16, 2023
854918b
Added user banner support (upload/delete)
Juknum May 16, 2023
614172c
Moved pages directory outside of components dir
Juknum May 19, 2023
cb4be86
Adjusted Objected type
Juknum May 22, 2023
3d8b633
Add background color when user profile picture is transparent
Juknum May 22, 2023
5511aa2
Hide promotion logo if not set/hidden
Juknum May 22, 2023
ebbc9c2
Use REST request instead of Apollo to get the logo
Juknum May 22, 2023
6b92aed
Some clean up and variable renames
Juknum May 22, 2023
1c32c75
Remove Objected (useless) and revamp User objects
Juknum May 22, 2023
bf9eabc
Fix offset when there is a banner
Juknum May 22, 2023
b081b62
Clean up
Juknum May 22, 2023
76960ca
Update User service to reflect API changes
Juknum May 22, 2023
0ab3f80
Added base page to get all available users (to be removed)
Juknum May 22, 2023
6322748
Added permissions checking (on routes and on the user page)
Juknum May 22, 2023
8e31633
Fixed css for long user name
Juknum May 22, 2023
de8c8c4
Hide contact tab when empty
Juknum May 22, 2023
20c0cc7
Fix default header
Juknum May 23, 2023
09bc409
Better typings for Image Cropper
Juknum May 25, 2023
92d151e
Fix css on dark mode
Juknum May 30, 2023
d52045b
Added eye icon
Juknum May 30, 2023
c8040e2
Remove close icon
Juknum May 30, 2023
c2d552d
Added infos edition modal (not functional yet)
Juknum May 30, 2023
aa913ea
Fix cursor to be a pointer on file input component
Juknum Jun 1, 2023
5e968c3
Use the promotion component in the side menu
Juknum Jun 1, 2023
4e0ad88
`isMobile()` return true if window size is less than 768px
Juknum Jun 1, 2023
6737a12
Added pointer cursor on icons for small screens
Juknum Jun 1, 2023
635b229
Added JSDoc
Juknum Jun 1, 2023
1d3221c
Somewhat improved login
Juknum Jun 1, 2023
8090ef1
Extended Date object with the getAge prototype
Juknum Jun 1, 2023
a868c8c
Improved promotion icon to update itself when the promotion number ch…
Juknum Jun 1, 2023
056a1af
Improved aspect-ratio of the banner
Juknum Jun 1, 2023
343130c
Fix double trigger of the login method
Juknum Jun 1, 2023
8f73a6d
Reset password field if login fails
Juknum Jun 1, 2023
b7bad3b
Added a directive to require a field if the given age is lower than t…
Juknum Jun 1, 2023
857ba6c
Update objects.d.ts
Juknum Jun 1, 2023
87138de
Renamed property on eye icon
Juknum Jun 1, 2023
221fdfc
Added a whitelist on forbiddenEmailValidator
Juknum Jun 1, 2023
1237a2e
Added more getter on user service
Juknum Jun 1, 2023
dcb7b9a
Added a max-width to modals
Juknum Jun 1, 2023
8ad4790
Added missing strings & improved readability of user edit modal
Juknum Jun 1, 2023
b2cb646
Fetch current data when opening the user edit modal
Juknum Jun 1, 2023
ec7c358
fix(core): fix after rebase
Juknum Oct 27, 2023
211c639
refactor(core): refactor (tor)
Juknum Oct 27, 2023
b10cc6b
feat(navbar): make the navbar centered if page.full_width is true
Juknum Oct 28, 2023
c2d4f63
fix(core): remove error for unboud method (comes from Angular Validat…
Juknum Oct 28, 2023
b9aab99
fix(core): replace `Date.getAge()` with `Date.elapsedYears()`
Juknum Oct 28, 2023
ec90ef7
fix(core): fix unsafe argument of type `base64` assigned to a paramet…
Juknum Oct 28, 2023
edb19db
refactor(core): switch login from graphql to rest
Juknum Oct 29, 2023
f387072
feat(core): add style to 404 page
Juknum Oct 29, 2023
e786f12
fix(core): use `(keydown.enter)="f()"` instead of `(keydown)=f($event…
Juknum Oct 29, 2023
9ee80c4
fix(core): allow warn & error console logging
Juknum Oct 29, 2023
6489b7e
fix(core): fix alt text overflowing
Juknum Oct 29, 2023
5bb26c1
fix(core): fix svg not being full width/height of their container
Juknum Oct 29, 2023
a673f91
refactor(core): rename `isCenter` to `center` on title component
Juknum Oct 29, 2023
35b6c9d
fix(core): swapped the custom-color color to a less harsh value
Juknum Oct 29, 2023
cced8cd
fix(core): add `full_width` parameters to router params
Juknum Oct 29, 2023
4a4cde1
feat(core): add `sith-password-input` to be able to toggle password v…
Juknum Oct 29, 2023
7b47085
fix(core): add missing `keydown.enter` & `tabindex`
Juknum Oct 29, 2023
ed5597c
refactor(core): improve register page
Juknum Oct 29, 2023
bd33492
refactor(core): add missing `Bearer ` & overloads for `get()`
Juknum Oct 29, 2023
d921e10
refactor(core): use REST instead of graphQL for `sith-promo-icon`
Juknum Oct 29, 2023
61dae40
refactor(core): started replacing graphQL with REST in `userService`
Juknum Oct 29, 2023
45714db
fix(core): eslint + typings fixes
Juknum Oct 29, 2023
6caf2af
fix(core): should fix race condition when login
Juknum Oct 29, 2023
4c44976
fix(core): fix 404 title & subtitle being the wrong color on light mode
Juknum Oct 29, 2023
1dd550d
fix(core): add missing `()` to `userService.isLoggedin()`
Juknum Oct 29, 2023
a376802
fix(core): moved `getAllKeysOfObject()` to `Object.keysRecursive()`
Juknum Oct 29, 2023
fa84ef1
fix(core): fix issue with old directory
Juknum Oct 29, 2023
aa4fc42
refactor(core): remove components out of scope (empty components)
Juknum Oct 30, 2023
de8b70b
refactor(core): put the API url in APIService rather than in every call
Juknum Oct 30, 2023
4d39bdf
refactor(core): add a `page.to()` method to PageService
Juknum Oct 30, 2023
7fbdbf9
fix(core): use spaces indent instead of tabs in JSON
Juknum Oct 30, 2023
81993ce
feat(core): add a text-transform property to `sith-title`
Juknum Oct 30, 2023
93f00e4
feat(core): add a verify page to tell the user to check its mailbox
Juknum Oct 30, 2023
2b5ffe9
feat(i18n): add JSON keys as type
Juknum Oct 30, 2023
d83ca36
refactor(core): remove `userService` deprecated methods
Juknum Oct 30, 2023
6069777
fix(core): fixed & add overloaded methods in API Service
Juknum Oct 31, 2023
713b5cf
fix(icons): make user_icon notifications nullable
Juknum Oct 31, 2023
ad5a1ce
feat(notifications): add call to get notification (NYI)
Juknum Oct 31, 2023
4980768
fix(pages): fix page 404 & verify padding on small screen
Juknum Oct 31, 2023
df74934
refactor(pages): split mobile & desktop view as user profile page is …
Juknum Oct 31, 2023
8d1030c
fix(git): remove vscode settings from repository
Juknum Nov 2, 2023
0be17f8
refactor(graphql): finished moving from graphql
Juknum Nov 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .commitlintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'body-max-line-length': [0, 'always'],
'footer-max-line-length': [0, 'always'],
},
};
23 changes: 23 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Editor configuration, see https://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = tab
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf

[*.ts]
quote_type = single

[*.md]
max_line_length = off
trim_trailing_whitespace = false

[*.yml]
indent_style = space

[*.json]
indent_style = space
83 changes: 83 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir: __dirname,
sourceType: 'module',
},
ignorePatterns: ['.eslintrc.cjs', 'node_modules', 'coverage', 'src/exported/api/@types/i18n.d.ts'],
root: true,
overrides: [
{
files: ['*.ts'],
plugins: ['@typescript-eslint', 'import'],
extends: [
'eslint:recommended',
'plugin:@angular-eslint/recommended',
'plugin:@angular-eslint/template/process-inline-templates',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:prettier/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
],
settings: {
'import/resolver': {
typescript: true,
node: true,
},
},
rules: {
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-unsafe-enum-comparison': 'off',
'@typescript-eslint/no-namespace': 'off',
'@typescript-eslint/unbound-method': 'off',
'no-console': ['error', { allow: ['warn', 'error'] }],
'prettier/prettier': ['error', { endOfLine: 'lf' }],
'import/export': 'off',
'import/order': [
'error',
{
'newlines-between': 'always',
groups: ['type', 'builtin', 'external', 'internal', ['parent', 'sibling', 'index']],
pathGroups: [
{
pattern: '@(database|modules|templates|utils|src)/**',
group: 'internal',
},
],
pathGroupsExcludedImportTypes: ['builtin'],
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
},
],
'@angular-eslint/directive-selector': [
'error',
{
type: 'attribute',
prefix: 'sith',
style: 'camelCase',
},
],
'@angular-eslint/component-selector': [
'error',
{
type: 'element',
prefix: 'sith',
style: 'kebab-case',
},
],
},
},
{
files: ['*.html'],
extends: ['plugin:@angular-eslint/template/recommended', 'plugin:@angular-eslint/template/accessibility'],
rules: {},
},
],
};
26 changes: 13 additions & 13 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,39 @@

## Nos engagements

Dans le but de favoriser un environnement ouvert et accueillant, nous, en tant que contributeurs et mainteneurs nous engageons à faire de la participation à notre projet et à notre notre communauté une expérience sans harcèlement pour tous, indépendamment de l'âge, de la taille, du l'âge, la taille, le handicap, l'origine ethnique, les caractéristiques sexuelles, l'identité et l'expression de genre, niveau d'expérience, d'éducation, de statut socio-économique, de nationalité, d'apparence personnelle l'apparence personnelle, la race, la religion, l'identité et l'orientation sexuelles.
Dans le but de favoriser un environnement ouvert et accueillant, nous, en tant que contributeurs et mainteneurs nous engageons à faire de la participation à notre projet et à notre communauté une expérience sans harcèlement pour tous, indépendamment de l'âge, de la taille, d'un handicap, de l'origine ethnique, des caractéristiques sexuelles, de l'identité et l'expression de genre, du niveau d'expérience et d'éducation, du statut socio-économique, de la nationalité, de l'apparence personnelle, de la race, de la religion et de l'identité et l'orientation sexuelle.

## Nos normes

Les exemples de comportements qui contribuent à un environnement positif pour notre communauté :

* Faire preuve d'empathie et de gentillesse envers les autres.
* Respecter les opinions, les points de vue et les expériences différentes.
* Émettre et accepter les commentaires constructifs
* Accepter la responsabilité et s'excuser auprès des personnes affectées par nos erreurs, et apprendre de l'expérience
* Se concentrer sur ce qui est le mieux non seulement pour nous en tant qu'individus, mais pour la communauté dans son ensemble
- Faire preuve d'empathie et de gentillesse envers les autres.
- Respecter les opinions, les points de vue et les expériences différentes.
- Émettre et accepter les commentaires constructifs
- Accepter la responsabilité et s'excuser auprès des personnes affectées par nos erreurs, et apprendre de l'expérience
- Se concentrer sur ce qui est le mieux non seulement pour nous en tant qu'individus, mais pour la communauté dans son ensemble

Voici quelques exemples de comportements inacceptables :

* l'utilisation d'un langage ou d'images à caractère sexuel, et les attentions ou avances sexuelles.
* le trollage, les commentaires insultants ou désobligeants et les attaques personnelles ou politiques
* le harcèlement public ou privé
* la publication d'informations privées d'autrui, telles qu'une adresse physique ou électronique, sans leur permission explicite.
* toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée dans un cadre professionnel.
- l'utilisation d'un langage ou d'images à caractère sexuel, et les attentions ou avances sexuelles.
- le trollage, les commentaires insultants ou désobligeants et les attaques personnelles ou politiques
- le harcèlement public ou privé
- la publication d'informations privées d'autrui, telles qu'une adresse physique ou électronique, sans leur permission explicite.
- toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée dans un cadre professionnel.

## Nos responsabilités

Les responsables de projet sont chargés de clarifier et d'appliquer nos normes de comportement acceptable et prendront des mesures correctives appropriées et équitables en réponse à tout cas de comportement inacceptable.

Les responsables du projet ont le droit et la responsabilité de supprimer, modifier ou rejeter commentaires, commits, code, éditions wiki, problèmes et autres contributions qui ne sont pas ne sont pas conformes au présent code de conduite, ou de bannir temporairement ou définitivement tout contributeur pour d'autres comportements qu'ils jugent inappropriés, menaçants, offensants ou nuisibles.
Les responsables du projet ont le droit et la responsabilité de supprimer, modifier ou rejeter commentaires, commits, code, éditions wiki, problèmes et autres contributions qui ne sont pas conformes au présent code de conduite, ou de bannir temporairement ou définitivement tout contributeur pour d'autres comportements qu'ils jugent inappropriés, menaçants, offensants ou nuisibles.

## Champ d'application

Ce code de conduite s'applique dans tous les espaces communautaires, ainsi que lorsqu'une personne représente officiellement la communauté dans les espaces publics. Parmi les exemples de représentation de notre communauté, citons l'utilisation d'une adresse électronique officielle, la publication d'un message sur un compte officiel de médias sociaux ou le fait d'agir en tant que représentant désigné lors d'un événement en ligne ou hors ligne.

## Application de la loi

Les cas d'abus, de harcèlement ou de tout autre comportement inacceptable peuvent être signalés aux responsables de la communauté chargés de faire respecter la loi. Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable.
Les cas d'abus, de harcèlements et tous les autres comportements inacceptables peuvent être signalés aux responsables de la communauté chargés de faire respecter la loi. Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable.

Tous les responsables communautaires sont tenus de respecter la vie privée et la sécurité de la personne qui signale un incident.

Expand Down
8 changes: 6 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<!-- omit in toc -->

# Contribuer au Sith 4

Premièrement, merci de prendre le temps de contribuer ! ❤️
Expand All @@ -13,6 +14,7 @@ Tout type de contributions sont encouragée et valorisée. Veuillez consulter la
> - Mentioner le projet lors de réunion locales et parler-en à vos amis/collègues

<!-- omit in toc -->

## Table des matières

- [Code de conduite](#code-de-conduite)
Expand Down Expand Up @@ -49,13 +51,14 @@ Nous nous occuperons alors du problème dans les plus brefs délais.
### Rapporter des Bugs

<!-- omit in toc -->

#### Avant de rapporter un bug

Une bonne issue ne doit pas laisser les autres vous courir après afin d'obtenir davantage d'information. Ainsi, nous vous demandons d'enquêter attentivement, de collecter des informations et décrire le problème en détail dans votre rapport. Veuillez compléter les étapes suivantes à l'avance pour nous aider à résoudre le bug potentiel le plus rapidement possible.

- Assurez-vous d'utiliser la dernière version.
- Vérifiez si votre bug n'est pas en fait une erreur de votre côté, par exemple en utilisant des composants d'environnement/incompatibles (assurez-vous d'avoir lu la [documentation](https://github.com/ae-utbm/api/wiki).
Si vous recherchez de l'aide, vous pouvez consulter [cette section](#jai-une-question)).
Si vous recherchez de l'aide, vous pouvez consulter [cette section](#jai-une-question)).
- Pour voir si d'autres utilisateurs ont expérimentés (et potentiellement déjà résolu) le même problème que vous rencontrez, vérifiez si il n'y a pas déjà un rapport de bug existant pour votre bug ou erreur dans le [bug tracker](https://github.com/ae-utbm/sith4/issues?q=is%3Aissue+is%3Aclosed)
- Assurez-vous de rechercher sur internet (y compris Stack Overflow) pour voir si d'autres utilisateurs hors de la communauté GitHub ont discuté du problème.
- Collectez des informations sur le bug :
Expand All @@ -73,7 +76,7 @@ Nous utilisons les issues GitHub pour suivre les bugs et les erreurs. Si vous re

- Ouvrez une [issue](https://github.com/ae-utbm/sith4/issues/new). (Comme nous ne pouvons pas être sûrs à ce stade de savoir si c'est un bug ou non, nous vous demandons de ne pas parler de bug et de ne pas ajouter de tag sur l'issue.)
- Expliquer le comportement que vous attendez et le comportement réel.
- Veuillez fournir autant de contexte que possible et décrire les *étapes de reproduction* que quelqu'un d'autre peut suivre pour recréer le problème sur son propre ordinateur. Cela inclut généralement votre code. Pour de bons rapports de bugs, vous devez isoler le problème et créer un cas de test réduit.
- Veuillez fournir autant de contexte que possible et décrire les _étapes de reproduction_ que quelqu'un d'autre peut suivre pour recréer le problème sur son propre ordinateur. Cela inclut généralement votre code. Pour de bons rapports de bugs, vous devez isoler le problème et créer un cas de test réduit.
- Si vous en avez la possibilité, incluez des captures d'écran et des vidéos qui montrent le problème.

Une fois que c'est fait :
Expand All @@ -89,6 +92,7 @@ Cette section vous guide
Cette section vous guide tout au long de la soumission d'une suggestion d'amélioration pour le Sith 4, **incluant des fonctionnalités entièrement nouvelles et des améliorations mineures des fonctionnalités existantes**. Suivre ces directives aidera les mainteneurs et la communauté à comprendre votre suggestion et à trouver des suggestions connexes.

<!-- omit in toc -->

#### Avant de soumettre une amélioration

- Assurez-vous que vous utilisez la dernière version.
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: 🐛 Rapport de bug
description: Remplissez un rapport de bug
title: "[BUG] "
labels: ["type: bug", "status: triage"]
assignees: "developers-v4"
title: '[BUG] '
labels: ['type: bug', 'status: triage']
assignees: 'developers-v4'
body:
- type: markdown
attributes:
Expand Down
7 changes: 3 additions & 4 deletions .github/ISSUE_TEMPLATE/feature_report.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: ✨ Suggestion d'amélioration
description: Suggérez une idée pour le projet
title: "[FEATURE] "
labels: ["type: feature", "status: triage"]
assignees: "developers-v4"
title: '[FEATURE] '
labels: ['type: feature', 'status: triage']
assignees: 'developers-v4'
body:
- type: markdown
attributes:
Expand Down Expand Up @@ -37,4 +37,3 @@ body:
options:
- label: "J'accepte de suivre le code de conduite de ce projet"
required: true

32 changes: 32 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!--
- Veuillez vous référer à notre documentation de contribution pour toute question sur la soumission d'une PR
- Veuillez ne pas soumettre de mises à jour des dépendances à moins que cela ne corrige une issue.
- Veuillez essayer de limiter votre PR (correction de bug, implémente une fonctionnalité, etc.). Soumettez plusieurs PRs si nécessaire.
- Assurez-vous de faire une PR sur la branche `develop` (côté gauche). Vous devriez également démarrer votre branche à partir de `develop`.
-->

- [ ] J'ai lu [le code de conduite]('https://github.com/ae-utbm/sith4/blob/main/.github/CODE_OF_CONDUCT.md').

## Ajouts

-
-
-

## Changements

-
-
-

## Fixes

-
-
-

## Autre informations

-
-
-
30 changes: 30 additions & 0 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Code Linting

on:
workflow_call:
workflow_dispatch:

jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16.x'

- name: Install pnpm
run: npm install -g pnpm

- name: Install dependencies
run: pnpm install

- name: Lint Typescript & HTML
run: pnpm eslint "{src,test}/**/*.{ts,js,html}"

- name: Lint SCSS
run: pnpm npx stylelint "{src,test}/**/*.scss"
37 changes: 37 additions & 0 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Run tests

on:
workflow_call:
workflow_dispatch:

jobs:
unit-tests:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16.x'

- name: Install pnpm
run: npm install -g pnpm

- name: Install dependencies
run: pnpm install

- name: Run tests
run: pnpm ng test --watch false

- name: Export coverage results
uses: actions/upload-artifact@v3
with:
name: Coverage results
path: coverage
retention-days: 7

# todo: add e2e tests
# Should run on all OSes (Windows, Linux, macOS)
17 changes: 17 additions & 0 deletions .github/workflows/update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# https://docs.github.com/en/actions/using-workflows/reusing-workflows
name: PR/Push update

on:
pull_request:
branches: [main, develop]
push:
branches: [main, develop]

jobs:
execute-lint:
uses: ./.github/workflows/linting.yml

execute-tests:
needs: execute-lint
if: ${{ needs.execute-lint.result == 'success' }}
uses: ./.github/workflows/testing.yml
Loading