diff --git a/src/modules/record/components/StepRecord.vue b/src/modules/record/components/StepRecord.vue
new file mode 100644
index 0000000..52d7455
--- /dev/null
+++ b/src/modules/record/components/StepRecord.vue
@@ -0,0 +1,72 @@
+
+
+
+
+ | {{ stepNumber }} |
+ {{ step.title }} |
+ {{ step.estimation }} minutes |
+
+ ⚠️
+ {{ duration }} minutes
+ |
+ NA |
+
+
+
+
diff --git a/src/modules/record/components/TaskRecord.vue b/src/modules/record/components/TaskRecord.vue
index df4dd3b..2278232 100644
--- a/src/modules/record/components/TaskRecord.vue
+++ b/src/modules/record/components/TaskRecord.vue
@@ -4,6 +4,7 @@ import { formatDate } from '@/shared/format-date'
import { toISODate } from '@/shared/types/date'
import { computed } from 'vue'
import { useTaskRecordStore } from '../stores/useTaskRecordStore'
+import StepRecord from './StepRecord.vue'
const props = defineProps<{
taskId: string
@@ -85,19 +86,14 @@ const nextStep = () => {
-
- | {{ key + 1 }} |
- {{ step.title }} |
- {{ step.estimation }} minutes |
-
- {{ record.stepRecords[step.id] }} minutes
- |
- NA |
-
+ :step-id="step.id"
+ :step-number="key"
+ />
diff --git a/src/modules/record/interfaces/step-recordable.ts b/src/modules/record/interfaces/step-recordable.ts
index e3fb02f..0ec4e3c 100644
--- a/src/modules/record/interfaces/step-recordable.ts
+++ b/src/modules/record/interfaces/step-recordable.ts
@@ -1,7 +1,6 @@
import type { ISODate } from '@/shared/types/date'
export interface StepRecordable {
- problems: string[]
start: ISODate
end?: ISODate
}
diff --git a/src/modules/record/stores/useTaskRecordStore.ts b/src/modules/record/stores/useTaskRecordStore.ts
index 5cfd722..09733d5 100644
--- a/src/modules/record/stores/useTaskRecordStore.ts
+++ b/src/modules/record/stores/useTaskRecordStore.ts
@@ -41,7 +41,6 @@ export const useTaskRecordStore = defineStore('task-record-store', {
stepRecords: {
...record.stepRecords,
[params.stepId]: {
- problems: [],
start: params.start
}
}
@@ -86,15 +85,6 @@ export const useTaskRecordStore = defineStore('task-record-store', {
endRecord(recordId: string) {
this.records[recordId].end = toISODate(new Date())
this.currentStepId = null
- },
- addProblemToStepRecord(recordId: string, stepId: string, problem: string) {
- const stepRecord = this.getStepRecord(recordId, stepId)
-
- if (!stepRecord) {
- return
- }
-
- stepRecord.problems.push(problem)
}
},
getters: {
@@ -118,6 +108,9 @@ export const useTaskRecordStore = defineStore('task-record-store', {
return newTaskRecord
}
},
+ getRecord() {
+ return (recordId: string) => this.records?.[recordId] ?? null
+ },
getStepRecord() {
return (recordId: string, stepId: string): StepRecordable | null =>
this.records?.[recordId]?.stepRecords[stepId] ?? null
diff --git a/src/modules/task/stores/useTask.store.ts b/src/modules/task/stores/useTask.store.ts
index 7b32e69..f3418b2 100644
--- a/src/modules/task/stores/useTask.store.ts
+++ b/src/modules/task/stores/useTask.store.ts
@@ -1,5 +1,6 @@
import { defineStore } from 'pinia'
import type { Taskable } from '../interfaces/taskable'
+import type { Step } from '../models/step'
import { Task } from '../models/task'
export interface TaskStoreState {
@@ -26,8 +27,12 @@ export const useTaskStore = defineStore('task-store', {
.sort((a, b) => (a.date > b.date ? -1 : 1))
},
getTask() {
- return (taskId: string): Task | undefined =>
- this.recentTasks.find((task) => task.id === taskId)
+ return (taskId: string): Task | null =>
+ this.recentTasks.find((task) => task.id === taskId) ?? null
+ },
+ getStep() {
+ return (taskId: string, stepId: string): Step | null =>
+ this.getTask(taskId)?.steps.find((step) => step.id === stepId) ?? null
}
}
})