const [queryParams, setQueryParams] = useSearchParams()
const { data: bookings, isFetching } = createCachedResource({
source: () => queryParams,
key: ({ page, query }) => [page, query],
get: async () => {
const searchQuery =
queryParams.query === undefined ? '' : queryParams.query
const currentPage = queryParams.page ? Number(queryParams.page) : 1
return await supabaseClient
.from('bookings')
.select(
'booking_start, booking_end, reference, created_at, products!inner(product_name, product_id)',
{ count: 'exact' },
)
.eq('tenant_id', user?.user_metadata.tenant_id)
.ilike('reference', '%' + searchQuery + '%')
.range(
currentPage * pageSize() - pageSize(),
currentPage * pageSize() - 1,
)
.order('reference', { ascending: true })
},
})
const [queryParams, setQueryParams] = useSearchParams()
const { data: bookings, isFetching } = createCachedResource({
source: () => queryParams,
key: ({ page, query }) => [page, query],
get: async () => {
const searchQuery =
queryParams.query === undefined ? '' : queryParams.query
const currentPage = queryParams.page ? Number(queryParams.page) : 1
return await supabaseClient
.from('bookings')
.select(
'booking_start, booking_end, reference, created_at, products!inner(product_name, product_id)',
{ count: 'exact' },
)
.eq('tenant_id', user?.user_metadata.tenant_id)
.ilike('reference', '%' + searchQuery + '%')
.range(
currentPage * pageSize() - pageSize(),
currentPage * pageSize() - 1,
)
.order('reference', { ascending: true })
},
})