separator and styling items

This commit is contained in:
Julien Calixte
2023-07-30 00:07:38 +02:00
parent 9f842c3b6e
commit 77d47843f8
6 changed files with 62 additions and 52 deletions

View File

@@ -0,0 +1,22 @@
<script setup lang="ts">
import BaseIcon from './BaseIcon.vue'
withDefaults(defineProps<{ color: string }>(), {
color: 'var(--primary-color)'
})
</script>
<template>
<BaseIcon :color="color" class="separator">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M3 12l0 .01" />
<path d="M7 12l10 0" />
<path d="M21 12l0 .01" />
</BaseIcon>
</template>
<style scoped>
.separator {
margin: 1rem 0;
}
</style>

View File

@@ -1,4 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import SeparatorIcon from '@/icons/SeparatorIcon.vue'
import FlowHypothesis from '@/modules/article/FlowHypothesis.vue' import FlowHypothesis from '@/modules/article/FlowHypothesis.vue'
import FlowIntro from '@/modules/article/FlowIntro.vue' import FlowIntro from '@/modules/article/FlowIntro.vue'
import FeatureSteps from '@/modules/feature/FeatureSteps.vue' import FeatureSteps from '@/modules/feature/FeatureSteps.vue'
@@ -10,11 +11,14 @@ import SimulationDashboard from '@/modules/simulation/SimulationDashboard.vue'
<template> <template>
<div class="flow-article"> <div class="flow-article">
<FlowIntro class="text" /> <FlowIntro class="text" />
<hr /> <SeparatorIcon />
<FlowHypothesis class="text" /> <FlowHypothesis class="text" />
<SeparatorIcon />
<FeatureSteps alias="introducing" /> <FeatureSteps alias="introducing" />
<SeparatorIcon />
<FlowDashboard /> <FlowDashboard />
<FeatureSteps alias="playground" /> <FeatureSteps alias="playground" />
<SeparatorIcon />
<SimulationControls /> <SimulationControls />
<SimulationDashboard /> <SimulationDashboard />
</div> </div>
@@ -23,6 +27,12 @@ import SimulationDashboard from '@/modules/simulation/SimulationDashboard.vue'
<style lang="scss"> <style lang="scss">
.flow-article { .flow-article {
color: black; color: black;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
max-width: 1080px;
margin: auto;
.text { .text {
font-size: 16pt; font-size: 16pt;

View File

@@ -12,14 +12,12 @@ const hasQualityIssues = computed(() => props.feature.qualityIssue > 0)
<template> <template>
<div class="feature-item bin" :class="{ live: isLive }"> <div class="feature-item bin" :class="{ live: isLive }">
<div> <div>
{{ feature.name }} <span class="numeric">({{ feature.complexity }})</span> {{ feature.name }}
</div> </div>
<div class="numeric"> <div class="numeric">
({{ feature.complexity }}) | [{{ feature.leadTime }}] {{ feature.leadTime }}d
<div class="indicator"> <div v-if="hasQualityIssues" class="red-bin">
<div v-if="hasQualityIssues" class="red-bin"> {{ feature.qualityIssue }}
{{ feature.qualityIssue }} 🔴
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -42,18 +40,11 @@ const hasQualityIssues = computed(() => props.feature.qualityIssue > 0)
opacity: 0; opacity: 0;
} }
.indicator {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 0.2rem;
flex-wrap: wrap;
}
.red-bin { .red-bin {
border: 2px solid #ff7979; --warning-color: #ca0e0e;
border: 2px solid var(--warning-color);
padding: 0 0.5rem 0.1rem; padding: 0 0.5rem 0.1rem;
color: var(--warning-color);
} }
} }
</style> </style>

View File

@@ -28,13 +28,14 @@ onMounted(() => featureStore.initBoard(NUMBER_OF_FEATURES))
<style scoped lang="scss"> <style scoped lang="scss">
.features-steps { .features-steps {
display: flex; display: flex;
flex: 1;
gap: 1rem; gap: 1rem;
flex-wrap: wrap; flex-wrap: wrap;
align-items: stretch; align-items: stretch;
margin: 0 1rem; margin: 0 1rem;
border: 3px solid var(--primary-color); border: 3px solid var(--primary-color);
min-height: 50vh; height: 50vh;
width: 100%;
overflow-y: hidden;
li:first-child { li:first-child {
margin-left: 1rem; margin-left: 1rem;

View File

@@ -1,7 +1,16 @@
<script setup lang="ts"> <script setup lang="ts">
import { Strategy } from '@/modules/lean/strategy'
import { useSimulationStore } from '@/modules/simulation/simulation-store' import { useSimulationStore } from '@/modules/simulation/simulation-store'
const simulationStore = useSimulationStore() const simulationStore = useSimulationStore()
const NUMBER_OF_SIMULATION = 1000 const NUMBER_OF_SIMULATION = 400
const strategies: Strategy[] = ['push', 'pull', 'push-dps', 'pull-dps']
const simulateEverything = () => {
strategies.forEach((strategy) =>
simulationStore.multiSimulation(NUMBER_OF_SIMULATION, strategy)
)
}
</script> </script>
<template> <template>
@@ -23,43 +32,18 @@ const NUMBER_OF_SIMULATION = 1000
class="button button-outline" class="button button-outline"
@click="simulationStore.multiSimulation(1, 'push-dps')" @click="simulationStore.multiSimulation(1, 'push-dps')"
> >
simulate push and problem solving simulate push with DPS
</button> </button>
<button <button
class="button button-outline" class="button button-outline"
@click="simulationStore.multiSimulation(1, 'pull-dps')" @click="simulationStore.multiSimulation(1, 'pull-dps')"
> >
simulate pull and problem solving simulate pull with DPS
</button> </button>
</div> </div>
<div class="row"> <div class="row">
<button <button class="button button-outline" @click="simulateEverything">
class="button button-outline" simulate {{ NUMBER_OF_SIMULATION }} simulations for each system
@click="simulationStore.multiSimulation(NUMBER_OF_SIMULATION, 'push')"
>
simulate {{ NUMBER_OF_SIMULATION }} push system
</button>
<button
class="button button-outline"
@click="simulationStore.multiSimulation(NUMBER_OF_SIMULATION, 'pull')"
>
simulate {{ NUMBER_OF_SIMULATION }} pull system
</button>
<button
class="button button-outline"
@click="
simulationStore.multiSimulation(NUMBER_OF_SIMULATION, 'push-dps')
"
>
simulate {{ NUMBER_OF_SIMULATION }} push and problem solving
</button>
<button
class="button button-outline"
@click="
simulationStore.multiSimulation(NUMBER_OF_SIMULATION, 'pull-dps')
"
>
simulate {{ NUMBER_OF_SIMULATION }} pull and problem solving
</button> </button>
<button <button
class="button button-clear" class="button button-clear"

View File

@@ -11,9 +11,10 @@ const strategies: Strategy[] = ['push', 'pull', 'push-dps', 'pull-dps']
<div class="simulation-dashboard"> <div class="simulation-dashboard">
<h3>Simulation dashboard</h3> <h3>Simulation dashboard</h3>
<h4> <h4>
({{ simulationStore.simulationsDone }} / {{ simulationStore.simulationsDone }}/{{
{{ simulationStore.requestedSimulation }} simulationStore.requestedSimulation
simulations) }}
simulations
</h4> </h4>
<table> <table>
<thead> <thead>
@@ -58,6 +59,7 @@ const strategies: Strategy[] = ['push', 'pull', 'push-dps', 'pull-dps']
<style scoped lang="scss"> <style scoped lang="scss">
.simulation-dashboard { .simulation-dashboard {
color: var(--primary-color); color: var(--primary-color);
width: 100%;
table { table {
padding: 1rem; padding: 1rem;