diff --git a/src/boot/appwrite.ts b/src/boot/appwrite.ts
index 1233fa5..44e2311 100644
--- a/src/boot/appwrite.ts
+++ b/src/boot/appwrite.ts
@@ -118,7 +118,6 @@ async function login(email: string, password: string) {
spinner: false,
icon: 'check_circle',
});
- console.log('Redirecting to index page');
appRouter.replace({ name: 'index' });
} catch (error: unknown) {
if (error instanceof AppwriteException) {
diff --git a/src/components/BoatReservationComponent.vue b/src/components/BoatReservationComponent.vue
index 2d8f8dc..d391785 100644
--- a/src/components/BoatReservationComponent.vue
+++ b/src/components/BoatReservationComponent.vue
@@ -163,6 +163,7 @@ watch(reservation, (newReservation) => {
} else {
const updatedReservation = {
...newReservation,
+ user: auth.currentUser?.$id,
interval: {
start: newReservation.start,
end: newReservation.end,
@@ -191,7 +192,6 @@ const bookingName = computed(() =>
const boat = computed((): Boat | null => {
const boatId = bookingForm.value.interval?.resource;
- console.log('Boat Lookup:', boatId);
return boatStore.getBoatById(boatId);
});
diff --git a/src/components/ResourceScheduleViewerComponent.vue b/src/components/ResourceScheduleViewerComponent.vue
index f8fdcca..50414ce 100644
--- a/src/components/ResourceScheduleViewerComponent.vue
+++ b/src/components/ResourceScheduleViewerComponent.vue
@@ -12,21 +12,20 @@
max-width: 350px;
display: flex;
justify-content: space-between;
- "
- >
+ ">
<
+ @click="onPrev">
+ <
+
{{ formattedMonth }}
>
+ @click="onNext">
+ >
+
+ @click-date="onClickDate" />
+
+
+
+ @click-interval="onClickInterval">
-
-
+
+
{{ resource.displayName }}
-
+
@@ -97,9 +102,10 @@
dense
@update:model-value="onUpdateDuration"
label="Duration (hours)"
- stack-label
- >
+ stack-label>
+
+
+
diff --git a/src/pages/schedule/BoatScheduleView.vue b/src/pages/schedule/BoatScheduleView.vue
index 96dc5ef..23dae57 100644
--- a/src/pages/schedule/BoatScheduleView.vue
+++ b/src/pages/schedule/BoatScheduleView.vue
@@ -1,10 +1,12 @@
-
+
+
+
+ bordered
+ style="--calendar-resources-width: 40px">
+ class="q-pb-xs row"
+ @click="createReservationFromInterval(interval)">
{{
interval.user
@@ -44,12 +43,14 @@
: 'Available'
}}
- {{ formatTime(interval.start) }} - {{ formatTime(interval.end) }}
+ {{ formatTime(interval.start) }} to
+
+ {{ formatTime(interval.end) }}
-
+
@@ -59,7 +60,7 @@ import { ref } from 'vue';
import { useAuthStore } from 'src/stores/auth';
const reservationStore = useReservationStore();
-import { getDate, today } from '@quasar/quasar-ui-qcalendar';
+import { getDate } from '@quasar/quasar-ui-qcalendar';
import { QCalendarScheduler } from '@quasar/quasar-ui-qcalendar';
import { Timestamp } from '@quasar/quasar-ui-qcalendar';
import { Boat, useBoatStore } from 'src/stores/boat';
@@ -68,12 +69,15 @@ import { useQuasar } from 'quasar';
import { formatTime } from 'src/utils/schedule';
import { useIntervalStore } from 'src/stores/interval';
import { Interval } from 'src/stores/schedule.types';
+import { useRouter } from 'vue-router';
+import { storeToRefs } from 'pinia';
-const selectedDate = ref(today());
const boatStore = useBoatStore();
const calendar = ref();
const $q = useQuasar();
+const $router = useRouter();
const { getAvailableIntervals } = useIntervalStore();
+const { selectedDate } = storeToRefs(useIntervalStore());
// interface DayScope {
// timestamp: Timestamp;
@@ -111,6 +115,13 @@ const getSortedIntervals = (timestamp: Timestamp, boat?: Boat): Interval[] => {
// return s;
// }
+const createReservationFromInterval = (interval: Interval) => {
+ $router.push({
+ name: 'reserve-boat',
+ query: { interval: interval.$id },
+ });
+};
+
function handleSwipe({ ...event }) {
event.direction === 'right' ? calendar.value?.prev() : calendar.value?.next();
}
@@ -124,24 +135,6 @@ function boatReservationEvents(
(resource as Boat).$id
);
}
-function onMoved(data: Event) {
- console.log('onMoved', data);
-}
-function onChange(data: Event) {
- console.log('onChange', data);
-}
-function onClickDate(data: Event) {
- console.log('onClickDate', data);
-}
-function onClickTime(data: Event) {
- console.log('onClickTime', data);
-}
-function onClickInterval(data: Event) {
- console.log('onClickInterval', data);
-}
-function onClickHeadDay(data: Event) {
- console.log('onClickHeadDay', data);
-}
function onToday() {
calendar.value.moveToToday();
}
@@ -152,3 +145,10 @@ function onNext() {
calendar.value.next();
}
+
+
diff --git a/src/pages/task/TaskEditPage.vue b/src/pages/task/TaskEditPage.vue
index 023e2aa..dd2125d 100644
--- a/src/pages/task/TaskEditPage.vue
+++ b/src/pages/task/TaskEditPage.vue
@@ -1,7 +1,9 @@
-