handleRemoveLocation(index)}
>
diff --git a/resources/js/Customer/Index/IndexPartials/FavoriteVoucher.jsx b/resources/js/Customer/Index/IndexPartials/FavoriteVoucher.jsx
index 85033b9..7d601a1 100644
--- a/resources/js/Customer/Index/IndexPartials/FavoriteVoucher.jsx
+++ b/resources/js/Customer/Index/IndexPartials/FavoriteVoucher.jsx
@@ -1,5 +1,5 @@
import React, { useEffect, useState } from 'react'
-import { router, usePage } from '@inertiajs/react'
+import { router, usePage, useForm } from '@inertiajs/react'
import { HiOutlineStar } from 'react-icons/hi2'
import VoucherCard from '../Partials/VoucherCard'
@@ -33,20 +33,20 @@ export default function FavoriteVoucher() {
_flocations,
},
} = usePage()
+ const { post, processing } = useForm({})
const nextPageUrl = next_page_url === undefined ? null : next_page_url
const [items, setItems] = useState(data === undefined ? [] : data)
const handleRemoveLocation = (location) => {
- router.post(
- route('customer.location.favorite', location),
- {},
- {
- onSuccess: () => {
- router.visit(route(route().current()))
- },
- }
- )
+ if (processing) {
+ return
+ }
+ post(route('customer.location.favorite', location), {
+ onSuccess: () => {
+ router.visit(route(route().current()))
+ },
+ })
}
const handleNextPage = () => {
@@ -75,7 +75,7 @@ export default function FavoriteVoucher() {
{_flocations.map((location) => (
handleRemoveLocation(location)}
>
diff --git a/resources/js/Customer/Index/Partials/LocationModal.jsx b/resources/js/Customer/Index/Partials/LocationModal.jsx
index d384518..cd1fa23 100644
--- a/resources/js/Customer/Index/Partials/LocationModal.jsx
+++ b/resources/js/Customer/Index/Partials/LocationModal.jsx
@@ -1,5 +1,5 @@
import { useEffect, useState } from 'react'
-import { router, usePage } from '@inertiajs/react'
+import { router, useForm, usePage } from '@inertiajs/react'
import { HiArrowLeft, HiOutlineStar } from 'react-icons/hi2'
import { useAutoFocus } from '@/hooks'
@@ -15,6 +15,8 @@ export default function LocationModal(props) {
} = usePage()
const { state, locations, onItemSelected } = props
+ const { post, processing } = useForm({})
+
const [search, setSearch] = useState('')
const locationFocus = useAutoFocus()
const [filter_locations, setFilterLocations] = useState(locations)
@@ -40,7 +42,10 @@ export default function LocationModal(props) {
}
const handleFavorite = (location) => {
- router.post(route('customer.location.favorite', location))
+ if (processing) {
+ return
+ }
+ post(route('customer.location.favorite', location))
}
useEffect(() => {
@@ -67,7 +72,7 @@ export default function LocationModal(props) {
{filter_locations.map((location) => (