init dashboard redesign

This commit is contained in:
Julien Calixte
2023-07-30 16:00:22 +02:00
parent 97da4d62e4
commit c7293c0778
2 changed files with 104 additions and 28 deletions

View File

@@ -34,7 +34,7 @@ const isLive = computed(
<li class="feature-step"> <li class="feature-step">
<header>{{ step.title }}</header> <header>{{ step.title }}</header>
<section class="doing"> <section class="doing">
<h5>📝 [{{ featuresInProgress.length }}]</h5> <h5> [{{ featuresInProgress.length }}]</h5>
<ul v-if="hasFeaturesInProgress"> <ul v-if="hasFeaturesInProgress">
<li v-for="feature in featuresInProgress" :key="feature.name"> <li v-for="feature in featuresInProgress" :key="feature.name">
<Starport <Starport
@@ -47,7 +47,7 @@ const isLive = computed(
</ul> </ul>
</section> </section>
<section class="done"> <section class="done">
<h5>📝 [{{ featuresDone.length }}]</h5> <h5> [{{ featuresDone.length }}]</h5>
<div> <div>
<div v-if="!isLive" class="blue-bin-container"> <div v-if="!isLive" class="blue-bin-container">
<div <div

View File

@@ -2,6 +2,7 @@
import ProblemSolvingIcon from '@/icons/ProblemSolvingIcon.vue' import ProblemSolvingIcon from '@/icons/ProblemSolvingIcon.vue'
import PullSystemIcon from '@/icons/PullSystemIcon.vue' import PullSystemIcon from '@/icons/PullSystemIcon.vue'
import PushSystemIcon from '@/icons/PushSystemIcon.vue' import PushSystemIcon from '@/icons/PushSystemIcon.vue'
import SeparatorIcon from '@/icons/SeparatorIcon.vue'
import { useFeatureStore } from '@/modules/feature/feature-store' import { useFeatureStore } from '@/modules/feature/feature-store'
const featureStore = useFeatureStore() const featureStore = useFeatureStore()
@@ -9,38 +10,113 @@ const featureStore = useFeatureStore()
<template> <template>
<div class="flow-dashboard"> <div class="flow-dashboard">
<div> <div class="row cards">
{{ featureStore.totalFeaturesDone }} / <div class="card">
{{ featureStore.totalFeaturesCount }} features in the board | mean Features
complexity : {{ featureStore.meanComplexity }} | mean lead time : <span class="numeric">
{{ featureStore.meanLeadTime }} days | Total days: {{ featureStore.totalFeaturesDone }}/<span class="sub">
{{ featureStore.meta.totalDays }} | Team work experience: {{ featureStore.totalFeaturesCount }}
{{ featureStore.meta.teamWorkExperience.toFixed(2) }} </span>
</div> </span>
<div class="row">
New feature live every {{ featureStore.taktTime }} days. Finishing in
{{ featureStore.eat }} days.
</div>
<template v-if="!featureStore.isProjectFinished">
<div class="row">Strategy of the day:</div>
<div class="row">
<button @click="featureStore.nextDay('push')">
<PushSystemIcon color="white" />
</button>
<button @click="featureStore.nextDay('pull')">
<PullSystemIcon color="white" />
</button>
<button @click="featureStore.nextDay('problem-solving')">
<ProblemSolvingIcon color="white" />
</button>
</div> </div>
</template> <div class="card">
Team work exp.
<span class="numeric">
{{ featureStore.meta.teamWorkExperience.toFixed(2) }}
</span>
</div>
<div class="card">
Mean complexity
<div class="numeric">{{ featureStore.meanComplexity }}</div>
</div>
<div class="card">
Mean lead time
<div class="data">
<span class="numeric">{{ featureStore.meanLeadTime }}</span>
days
</div>
</div>
<div class="card">
Days
<div class="data">
<span class="numeric">{{ featureStore.meta.totalDays }}</span
>d
</div>
</div>
<div class="card">
Takt time
<div class="data">
<span class="numeric">{{ featureStore.taktTime }}</span>
days
</div>
</div>
<div class="card">
ETA
<div class="data">
<span class="numeric">{{ featureStore.eat }}</span>
days
</div>
</div>
</div>
<SeparatorIcon />
<div class="row">
<button
@click="featureStore.nextDay('push')"
:disabled="featureStore.isProjectFinished"
>
<PushSystemIcon color="white" />
</button>
<button
@click="featureStore.nextDay('pull')"
:disabled="featureStore.isProjectFinished"
>
<PullSystemIcon color="white" />
</button>
<button
@click="featureStore.nextDay('problem-solving')"
:disabled="featureStore.isProjectFinished"
>
<ProblemSolvingIcon color="white" />
</button>
</div>
</div> </div>
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
.flow-dashboard { .flow-dashboard {
color: black;
font-size: 16pt; font-size: 16pt;
display: flex;
flex-direction: column;
align-items: center;
.row {
display: flex;
justify-content: center;
}
.sub {
font-size: 12pt;
}
.cards {
display: flex;
flex-wrap: wrap;
gap: 1rem;
justify-content: center;
align-items: center;
}
.card {
background-color: #f7d794;
padding: 0 1rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.numeric {
flex: 1;
}
}
} }
</style> </style>