Fix build: syntax errors, duplicate useEffects, import paths
All checks were successful
Build frontend / build (push) Successful in 1m26s

- Fixed broken useEffect syntax in 4 owner pages (bookings, calendar, profits, properties)
- Removed duplicate useEffect blocks
- Fixed ClientLayout import path for AuthService (../ -> ./)
This commit is contained in:
Claw AI
2026-03-28 14:53:45 +00:00
parent 6394f1d71a
commit c2235cf575
8 changed files with 75 additions and 77 deletions

View File

@ -33,7 +33,7 @@ import {
Building
} from 'lucide-react';
import toast, { Toaster } from 'react-hot-toast';
import AuthService from '../../../services/AuthService';
import AuthService from '../../services/AuthService';
import Image from 'next/image';
const OwnerBookingCalendar = ({ property, onDateSelect, selectedDates }) => {
@ -424,21 +424,21 @@ export default function OwnerBookingsPage() {
const [dateRange, setDateRange] = useState({ start: '', end: '' });
const [showCalendar, setShowCalendar] = useState(false);
useEffect(() => {
const storedUser = localStorage.getItem('user');
// User loaded via AuthService
// Handled above
if (userData.role !== 'owner') {
router.push('/');
} else {
setUser(userData);
loadBookings();
}
useEffect(() => {
const authUser = AuthService.getUser();
if (authUser && AuthService.isOwner()) {
setUser({
name: authUser.name || authUser.email,
email: authUser.email,
role: 'owner',
});
loadBookings();
} else {
router.push('/auth/choose-role');
}
}, [router]);
const loadBookings = () => {
const storedBookings = localStorage.getItem('ownerBookings');
if (storedBookings) {
@ -511,30 +511,7 @@ export default function OwnerBookingsPage() {
setIsLoading(false);
};
useEffect(() => {
let filtered = [...bookings];
if (filterStatus !== 'all') {
filtered = filtered.filter(b => b.status === filterStatus);
}
if (searchTerm) {
filtered = filtered.filter(b =>
b.propertyTitle.includes(searchTerm) ||
b.tenantName.includes(searchTerm) ||
b.id.includes(searchTerm)
);
}
if (dateRange.start) {
filtered = filtered.filter(b => b.startDate >= dateRange.start);
}
if (dateRange.end) {
filtered = filtered.filter(b => b.endDate <= dateRange.end);
}
setFilteredBookings(filtered);
}, [filterStatus, searchTerm, dateRange, bookings]);
const handleViewDetails = (booking) => {
setSelectedBooking(booking);