-
- {
- event.preventDefault();
- }
- "
- @drop="
- (event: DragEvent) => {
- dropOnDayHandler(event, day.date);
- }
- "
- >
- {{ day.text }}
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ event.preventDefault()"
+ @drop="(event: DragEvent) => dropOnDayHandler(event, day.date)"
+ >
+ {{ day.text }}
+
+
+
+
+
-
+
+
diff --git a/app/components/Todo/TimeDisplay/TimeDisplayPoint.vue b/app/components/Todo/TimeDisplay/TimeDisplayPoint.vue
index 4e0ee45..7fa954e 100644
--- a/app/components/Todo/TimeDisplay/TimeDisplayPoint.vue
+++ b/app/components/Todo/TimeDisplay/TimeDisplayPoint.vue
@@ -5,15 +5,20 @@
const { point } = defineProps<{ point: TimePoint }>();
+ const weekOffset = useWeekOffset();
+ const start = computed(() => {
+ const now = new Date();
+ now.setHours(0, 0, 0, 0);
+
+ return addDays(now, weekOffset.value * 7);
+ });
+
const time = computed(() => {
return parseAbsoluteToLocal(point.time).toDate().getTime();
});
const offset = computed(() => {
- const now = new Date();
- now.setHours(0, 0, 0, 0);
-
- const timeDiff = time.value - now.getTime();
+ const timeDiff = time.value - start.value.getTime();
const numberOfDays = timeDiff / (24 * 60 * 60 * 1000.0);
const percentage = numberOfDays / 7.0;
@@ -21,11 +26,11 @@
});
const isCappedRight = computed(() => {
- return time.value > addDays(sanitizeDate(new Date()), 7).getTime();
+ return time.value > addDays(sanitizeDate(start.value), 7).getTime();
});
const isCappedLeft = computed(() => {
- return time.value < sanitizeDate(new Date()).getTime();
+ return time.value < sanitizeDate(start.value).getTime();
});
diff --git a/app/components/Todo/TimeDisplay/TimeDisplayRange.vue b/app/components/Todo/TimeDisplay/TimeDisplayRange.vue
index ad4797d..6da2e30 100644
--- a/app/components/Todo/TimeDisplay/TimeDisplayRange.vue
+++ b/app/components/Todo/TimeDisplay/TimeDisplayRange.vue
@@ -5,6 +5,14 @@
const { range } = defineProps<{ range: TimeRange }>();
+ const weekOffset = useWeekOffset();
+ const start = computed(() => {
+ const now = new Date();
+ now.setHours(0, 0, 0, 0);
+
+ return addDays(now, weekOffset.value * 7);
+ });
+
const timeFrameString = computed(() => {
return `${range.start.toWellFormed()} - ${range.end.toWellFormed()}`;
});
@@ -21,8 +29,8 @@
function capTime(time: number): number {
return Math.min(
- Math.max(time, sanitizeDate(new Date()).getTime()),
- addDays(sanitizeDate(new Date()), 7).getTime(),
+ Math.max(time, sanitizeDate(start.value).getTime()),
+ addDays(sanitizeDate(start.value), 7).getTime(),
);
}
@@ -41,21 +49,18 @@
});
const offset = computed(() => {
- const now = new Date();
- now.setHours(0, 0, 0, 0);
-
- const timeDiff = cappedTime.value.start - now.getTime();
+ const timeDiff = cappedTime.value.start - start.value.getTime();
const numberOfDays = timeDiff / (24 * 60 * 60 * 1000.0);
const percentage = numberOfDays / 7.0;
return percentage;
});
const isCappedRight = computed(() => {
- return time.value.end > addDays(sanitizeDate(new Date()), 7).getTime();
+ return time.value.end > addDays(sanitizeDate(start.value), 7).getTime();
});
const isCappedLeft = computed(() => {
- return time.value.start < sanitizeDate(new Date()).getTime();
+ return time.value.start < sanitizeDate(start.value).getTime();
});
diff --git a/app/components/Todo/Todos.vue b/app/components/Todo/Todos.vue
index 5282c53..c3d87a2 100644
--- a/app/components/Todo/Todos.vue
+++ b/app/components/Todo/Todos.vue
@@ -18,7 +18,7 @@
0);
+}
+
+export function useWeekDays() {
const { locale } = useI18n();
+ const weekOffset = useWeekOffset();
+
+ return computed(() => {
+ const dayStrings = [];
+ let now = addDays(new Date(), weekOffset.value * 7);
- const dayStrings = [];
- let now = start;
+ for (let i = 0; i < 7; i++) {
+ let text = "";
+ if (weekOffset.value === 0) {
+ text = now
+ .toLocaleString(locale.value, { weekday: "long" })
+ .substring(0, 2);
+ } else {
+ text = `${now.getDate()}.${now.getMonth() + 1}`;
+ }
- for (let i = 0; i < 7; i++) {
- dayStrings.push({
- text: now
- .toLocaleString(locale.value, { weekday: "long" })
- .substring(0, 2),
- date: now,
- });
+ dayStrings.push({
+ text,
+ date: now,
+ });
- // Increment the date by one day
- now = addDays(now, 1);
- }
+ // Increment the date by one day
+ now = addDays(now, 1);
+ }
- return dayStrings;
+ return dayStrings;
+ });
}