better styling for task view with tags

This commit is contained in:
Julien Calixte
2023-04-15 18:37:18 +02:00
parent c2796c8e14
commit cba119b3fc
3 changed files with 48 additions and 24 deletions

View File

@@ -1,5 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { createUuid } from '@/shared/create-uuid' import { createUuid } from '@/shared/create-uuid'
import { computed } from 'vue'
import { useTaskRecordStore } from '../stores/useTaskRecordStore' import { useTaskRecordStore } from '../stores/useTaskRecordStore'
import TaskRecordLink from './TaskRecordLink.vue' import TaskRecordLink from './TaskRecordLink.vue'
@@ -9,14 +10,20 @@ const props = defineProps<{
const recordStore = useTaskRecordStore() const recordStore = useTaskRecordStore()
const records = recordStore.getTaskRecords(props.taskId) const recordsFromLastToFirst = computed(() =>
recordStore
.getTaskRecords(props.taskId)
.sort((a, b) => (a.start > b.start ? -1 : 1))
)
const newRecordId = createUuid() const newRecordId = createUuid()
</script> </script>
<template> <template>
<div>
<div class="content"> <div class="content">
<ol v-if="records.length" class="task-record-list"> <h3 class="subtitle is-4">Records</h3>
<li v-for="record in records" :key="record.id"> <ol v-if="recordsFromLastToFirst.length" class="task-record-list">
<li v-for="record in recordsFromLastToFirst" :key="record.id">
<task-record-link :record="record" /> <task-record-link :record="record" />
</li> </li>
</ol> </ol>
@@ -30,4 +37,5 @@ const newRecordId = createUuid()
class="button is-primary is-light" class="button is-primary is-light"
>start a new record</router-link >start a new record</router-link
> >
</div>
</template> </template>

View File

@@ -14,7 +14,7 @@ const taskStore = useTaskStore()
class="button is-link is-outlined" class="button is-link is-outlined"
>{{ task.title }}</router-link >{{ task.title }}</router-link
> >
<span> {{ task.totalEstimation }} minutes </span> <span class="tag">{{ task.totalEstimation }} minutes</span>
<span>{{ formatDate(task.date) }}</span> <span>{{ formatDate(task.date) }}</span>
</li> </li>
</ul> </ul>

View File

@@ -24,14 +24,30 @@ const task = computed(() => taskStore.getTask(props.id))
class="button is-link" class="button is-link"
>user story link</a >user story link</a
> >
<div class="content is-large"> <div class="columns">
<div class="column content is-large">
<h3 class="subtitle is-4">Tasks</h3>
<ol> <ol>
<li v-for="step in task.steps" :key="step.id"> <li v-for="step in task.steps" :key="step.id">
<div>{{ step.title }} | {{ step.estimation }}</div> <div class="step-item">
<span>{{ step.title }}</span>
<span class="tag">{{ step.estimation }} minutes</span>
</div>
</li> </li>
</ol> </ol>
</div> </div>
<task-record-list :task-id="id" /> <task-record-list class="column" :task-id="id" />
</div>
</div> </div>
<div v-else>Task not found</div> <div v-else>Task not found</div>
</template> </template>
<style scoped>
.step-item {
display: flex;
align-items: center;
gap: 1rem;
justify-content: space-between;
max-width: 400px;
}
</style>