diff --git a/app/components/Edit/DesktopTodoDataSelect.vue b/app/components/Edit/DesktopTodoDataSelect.vue
index 053fdb1..2315f56 100644
--- a/app/components/Edit/DesktopTodoDataSelect.vue
+++ b/app/components/Edit/DesktopTodoDataSelect.vue
@@ -10,6 +10,7 @@
import TimeRangeSelect from "./Time/TimeRangeSelect.vue";
import TimeRecurringSelect from "./Time/TimeRecurringSelect.vue";
import TitleSelect from "./TitleSelect.vue";
+ import ReminderSelect from "./ReminderSelect.vue";
const { t } = useI18n();
@@ -95,6 +96,9 @@
/>
+
+
+
diff --git a/app/components/Edit/EditTodoSheet.vue b/app/components/Edit/EditTodoSheet.vue
index ec07239..20d66d0 100644
--- a/app/components/Edit/EditTodoSheet.vue
+++ b/app/components/Edit/EditTodoSheet.vue
@@ -37,7 +37,8 @@
? todo.tags.map((tag) => tag.uuid)
: undefined;
todoData.value.category = todo.category?.uuid;
- todoData.value.time = todo.time;
+ todoData.value.time = todo.time;
+ todoData.value.reminders = todo.reminders;
isOpen.value = true;
},
diff --git a/app/components/Edit/MobileTodoDataSelect.vue b/app/components/Edit/MobileTodoDataSelect.vue
index 12c8063..07d7348 100644
--- a/app/components/Edit/MobileTodoDataSelect.vue
+++ b/app/components/Edit/MobileTodoDataSelect.vue
@@ -15,6 +15,7 @@
v-model:tags="todoData.tags"
v-model:category="todoData.category"
v-model:note="todoData.note"
+ v-model:reminders="todoData.reminders"
/>
diff --git a/app/components/Edit/NewTodoSheet.vue b/app/components/Edit/NewTodoSheet.vue
index 6848fc5..c5ecf89 100644
--- a/app/components/Edit/NewTodoSheet.vue
+++ b/app/components/Edit/NewTodoSheet.vue
@@ -24,8 +24,6 @@
title: "",
note: "",
tags: [],
- time: undefined,
- category: undefined,
});
watch(isOpen, () => {
@@ -49,7 +47,8 @@
todoData.value.time =
timeFilter.value === "all"
? undefined
- : { type: "range", start: today, end: today };
+ : { type: "range", start: today, end: today };
+ todoData.value.reminders = undefined;
}
function onAddTodo() {
diff --git a/app/components/Edit/Reminder.vue b/app/components/Edit/Reminder.vue
new file mode 100644
index 0000000..060b0e6
--- /dev/null
+++ b/app/components/Edit/Reminder.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.value }}
+
+
+ {{ item.value }}
+
+
+
+
+
+
diff --git a/app/components/Edit/ReminderSelect.vue b/app/components/Edit/ReminderSelect.vue
new file mode 100644
index 0000000..1dda069
--- /dev/null
+++ b/app/components/Edit/ReminderSelect.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/components/Edit/TabedDataSelect.vue b/app/components/Edit/TabedDataSelect.vue
index f18176d..4ac7456 100644
--- a/app/components/Edit/TabedDataSelect.vue
+++ b/app/components/Edit/TabedDataSelect.vue
@@ -6,13 +6,14 @@
TabsRoot,
TabsTrigger,
} from "reka-ui";
- import type { Time, UUID } from "~/utils/types";
+ import type { Reminder, Time, UUID } from "~/utils/types";
import CategorySelect from "../Utils/Label/CategorySelect.vue";
import TagSelect from "../Utils/Label/TagSelect.vue";
import NoteSelect from "./NoteSelect.vue";
import TimePointSelect from "./Time/TimePointSelect.vue";
import TimeRangeSelect from "./Time/TimeRangeSelect.vue";
import TimeRecurringSelect from "./Time/TimeRecurringSelect.vue";
+ import ReminderSelect from "./ReminderSelect.vue";
const { t } = useI18n();
@@ -24,6 +25,7 @@
required: true,
});
const note = defineModel
("note", { required: true });
+ const reminders = defineModel("reminders", { required: true });
const { timeRange, timeRecurring, timePoint } = useExtractedTime(time);
@@ -111,6 +113,10 @@
v-if="selectedTimeType === 'point'"
v-model:timePoint="timePoint"
/>
+
+
{{ t("reminders") }}
+
+
diff --git a/app/components/Edit/Time/TimePointSelect.vue b/app/components/Edit/Time/TimePointSelect.vue
index 4539821..90c0683 100644
--- a/app/components/Edit/Time/TimePointSelect.vue
+++ b/app/components/Edit/Time/TimePointSelect.vue
@@ -9,7 +9,7 @@
import { DateFieldInput, DateFieldRoot } from "reka-ui";
import type { TimePoint } from "~/utils/types";
- const { t, locale } = useI18n();
+ const { locale } = useI18n();
const timePoint = defineModel