From 4eae73159a55c960f5bd32ebb42f6260276bf841 Mon Sep 17 00:00:00 2001 From: Mahdi Date: Sun, 31 May 2026 16:42:32 +0330 Subject: [PATCH] edit one business --- src/api/bookings.ts | 2 + src/components/booking/BookingItem.vue | 92 +++++++++++++++ src/stores/auth.ts | 7 ++ src/views/app/AppBookingsView.vue | 149 +++++++++--------------- src/views/app/AppBusinessDetailView.vue | 27 +++-- src/views/app/AppHomeView.vue | 52 ++++++--- 6 files changed, 213 insertions(+), 116 deletions(-) create mode 100644 src/components/booking/BookingItem.vue diff --git a/src/api/bookings.ts b/src/api/bookings.ts index 6819d02..156e424 100644 --- a/src/api/bookings.ts +++ b/src/api/bookings.ts @@ -12,10 +12,12 @@ export type CreateBookingPayload = { export function fetchBookings(params?: { businessId?: string; status?: BookingStatus; + scope?: 'mine'; }) { const search = new URLSearchParams(); if (params?.businessId) search.set('businessId', params.businessId); if (params?.status) search.set('status', params.status); + if (params?.scope) search.set('scope', params.scope); const query = search.toString(); return api(`/bookings${query ? `?${query}` : ''}`); } diff --git a/src/components/booking/BookingItem.vue b/src/components/booking/BookingItem.vue new file mode 100644 index 0000000..c17186a --- /dev/null +++ b/src/components/booking/BookingItem.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/stores/auth.ts b/src/stores/auth.ts index a39a509..2948ac0 100644 --- a/src/stores/auth.ts +++ b/src/stores/auth.ts @@ -13,6 +13,12 @@ export const useAuthStore = defineStore('auth', () => { const isAdmin = computed(() => user.value?.role === 'admin'); const isBusinessOwner = computed(() => user.value?.role === 'business_owner'); const isCustomer = computed(() => user.value?.role === 'customer'); + const canBookAsCustomer = computed( + () => + user.value?.role === 'customer' || + user.value?.role === 'business_owner' || + user.value?.role === 'admin', + ); function setSession(accessToken: string, profile: User) { token.value = accessToken; @@ -51,6 +57,7 @@ export const useAuthStore = defineStore('auth', () => { isAdmin, isBusinessOwner, isCustomer, + canBookAsCustomer, setSession, logout, loadUser, diff --git a/src/views/app/AppBookingsView.vue b/src/views/app/AppBookingsView.vue index 08dbee4..801f841 100644 --- a/src/views/app/AppBookingsView.vue +++ b/src/views/app/AppBookingsView.vue @@ -1,12 +1,10 @@