Merge branch 'main' of github.com:jcalixte/loopycode
This commit is contained in:
20
src/App.vue
20
src/App.vue
@@ -12,7 +12,18 @@ import { RouterLink, RouterView } from 'vue-router'
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<RouterView />
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<a
|
||||
href="https://github.com/jcalixte/failwell/issues"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>report an issue</a
|
||||
>
|
||||
</footer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -32,4 +43,13 @@ nav {
|
||||
img.logo {
|
||||
max-width: 40px;
|
||||
}
|
||||
|
||||
main {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: right;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -202,6 +202,12 @@ export const useTaskRecordStore = defineStore('task-record-store', {
|
||||
)
|
||||
|
||||
if (nextStepIndex >= 0) {
|
||||
const latestStartDate = Math.max(
|
||||
...Object.values(record.stepRecords).map((stepRecord) =>
|
||||
new Date(stepRecord.start).getTime()
|
||||
)
|
||||
)
|
||||
|
||||
task.steps
|
||||
.filter((_, index) => index > nextStepIndex)
|
||||
.map((step) => step.id)
|
||||
@@ -212,7 +218,7 @@ export const useTaskRecordStore = defineStore('task-record-store', {
|
||||
this.startStepRecord({
|
||||
taskId: task.id,
|
||||
stepId: task.steps[nextStepIndex].id,
|
||||
start: toISODate(new Date())
|
||||
start: toISODate(new Date(latestStartDate))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import EstimationTimeArrival from '@/components/EstimationTimeArrival.vue'
|
||||
import { adaptStepsToTextarea } from '@/modules/task/infra/adaptStepsToTextarea'
|
||||
import { useTaskStore } from '@/modules/task/stores/useTask.store'
|
||||
import { logicOr } from '@vueuse/math'
|
||||
import { useMagicKeys, whenever } from '@vueuse/core'
|
||||
import { computed, ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
@@ -43,13 +44,13 @@ const isNextDisabled = computed(
|
||||
currentIndex.value === task.value?.stepHistory.length - 2
|
||||
)
|
||||
|
||||
const { n, p } = useMagicKeys()
|
||||
const { n, p, right, left } = useMagicKeys()
|
||||
|
||||
whenever(p, () => {
|
||||
whenever(logicOr(p, left), () => {
|
||||
goToPrev()
|
||||
})
|
||||
|
||||
whenever(n, () => {
|
||||
whenever(logicOr(n, right), () => {
|
||||
goToNext()
|
||||
})
|
||||
</script>
|
||||
@@ -65,7 +66,7 @@ whenever(n, () => {
|
||||
<h2 class="subtitle">
|
||||
<estimation-time-arrival :estimation="task.totalEstimation" />
|
||||
</h2>
|
||||
<div class="buttons" v-if="!isPrevDisabled || !isNextDisabled">
|
||||
<div class="buttons is-centered" v-if="!isPrevDisabled || !isNextDisabled">
|
||||
<button class="button" :disabled="isPrevDisabled" @click="goToPrev">
|
||||
<img src="/icons/arrow-left.svg" alt="go back" /></button
|
||||
><button class="button" :disabled="isNextDisabled" @click="goToNext">
|
||||
|
||||
Reference in New Issue
Block a user