-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1355 tunnel de conversion de bout en bout juin 2023 #95
1355 tunnel de conversion de bout en bout juin 2023 #95
Conversation
f590b40
to
e6020f9
Compare
81287b9
to
2574dfa
Compare
095ad4f
to
1f52a3d
Compare
const statsResponse = await Fetch.getJSON( | ||
configuration.env.aidesJeunesStatisticsURL, | ||
) | ||
|
||
const funnelData = statsResponse.funnel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour tester, j'ai remplacé le fetch ici par un objet en dur car actuellement l'objet renvoyé par https://mes-aides.1jeune1solution.beta.gouv.fr/documents/stats.json n'a pas encore la clef funnel
. Tu as testé avec un lien en pré-prod ou objet hébergé ailleurs j'imagine ?
pages/funnel.js
Outdated
constructor(props) { | ||
super(props) | ||
|
||
this.state = { | ||
chartsData: null, | ||
loading: true, | ||
selectedMonth: null, | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On peut se passer de constructeur ici
constructor(props) { | |
super(props) | |
this.state = { | |
chartsData: null, | |
loading: true, | |
selectedMonth: null, | |
} | |
} | |
state = { | |
chartsData: null, | |
loading: true, | |
selectedMonth: null, | |
} |
pages/funnel.js
Outdated
if (this.state.loading) { | ||
return <p>Chargement...</p> | ||
} | ||
|
||
const currentMonthData = this.state.chartsData[this.state.selectedMonth] | ||
|
||
return ( | ||
<> | ||
<h1 data-testid="title"> | ||
Metriques de parcours {this.state.selectedMonth} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Utilisation de déstructuration possible + coquille "Métriques"
if (this.state.loading) { | |
return <p>Chargement...</p> | |
} | |
const currentMonthData = this.state.chartsData[this.state.selectedMonth] | |
return ( | |
<> | |
<h1 data-testid="title"> | |
Metriques de parcours {this.state.selectedMonth} | |
const { loading, selectedMonth, chartsData } = this.state | |
if (loading) { | |
return <p>Chargement...</p> | |
} | |
const currentMonthData = chartsData[selectedMonth] | |
return ( | |
<> | |
<h1 data-testid="title"> | |
Métriques de parcours {selectedMonth} |
33ca1e5
to
51b21c6
Compare
components/defaultFunnelChart.js
Outdated
margin={{ top: 15, right: 10, bottom: 50, left: 60 }} | ||
padding={0.1} | ||
animate={false} | ||
colors={["#a4c4eb", "#d62728", "#ff7f0e"]} | ||
axisBottom={{ | ||
tickSize: 5, | ||
tickPadding: 5, | ||
tickRotation: -15, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
51b21c6
to
423e23c
Compare
public/static/style.css
Outdated
.funnel-charts { | ||
display: flex; | ||
flex-direction: row; | ||
} | ||
|
||
.funnel-charts .funnel-chart { | ||
flex: 1; | ||
} | ||
|
||
.funnel-charts .funnel-chart h2 { | ||
min-height: 4rem; | ||
} | ||
|
||
@media screen and (max-width: 1024px) { | ||
.funnel-charts { | ||
flex-direction: column; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai un bug un peu mystique avec l'affichage de la page du tunnel de conversion qui est dû je pense à la lib qui gère les graphes et leur redimensionnement :
- aller sur la page du tunnel
- redimensionner la page jusqu'au passage en colonne des graphiques (
1024px
de large) - re-redimensionner la page à sa largeur d'origine
- les graphes ont gardé leur largeur de 100% et débordent maintenant de la page
Je n'ai plus le bug avec le code suivant :
.funnel-charts {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.funnel-charts .funnel-chart {
flex: 1;
max-width: calc(100% / 3);
}
.funnel-charts .funnel-chart h2 {
min-height: 4rem;
}
@media screen and (max-width: 1024px) {
.funnel-charts {
flex-direction: column;
}
.funnel-charts .funnel-chart {
max-width: 100%;
}
}
flex-wrap
permet de gérer le retour à la ligne des graphesmax-width
permet de faire que les graphes font toujours leur taille maximale autorisée (en plus duflex: 1
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok même comportement, je pense que la lib souhaite qu'on explicite les largeur un peu plus pour gérer le redimensionnement. J'ai repris ta solution et j'ai effectivement plus le soucis ! Merci !
423e23c
to
f66bd35
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok pour moi, rien à redire de plus
Simon, j'ai fait tes retours, je dismiss pour cause de vacances :-)
Commencement de la tâche, le front est quasi fait, il manque d'aller chercher la vrai donnée. A priori je vais mettre ça dans aides-jeunes car la connexion à la db pour certaines métriques se trouve là bas.
Preneur de retours UI/UX
Edit: en desktop les chart sont désormais aligné horizontalement :
Warning partiellement obsolète car les nouvelles stats ont été mergé sur le master d'aides-jeunes
⚠️ Pour tester en full local c'est pas évident, mais ça nous montre des lacunes sur l'environnement de dev, il faut :
npm run stats
backend/dev.ts
afin de servir les fichiers statics pour tout les domains :(importer cors et path en plus)
aidesJeunesStatisticsURL
dans le fichiernext.config.js
de mes-aides-analytics