Fix versioning component errors

This commit is contained in:
gpt-engineer-app[bot]
2025-10-10 23:08:53 +00:00
parent 0d625f3dc7
commit 1e67ff87fd
2 changed files with 31 additions and 30 deletions

View File

@@ -41,7 +41,7 @@ export function VersionComparisonDialog({
}; };
loadDiff(); loadDiff();
}, [open, fromVersionId, toVersionId]); }, [open, fromVersionId, toVersionId, compareVersions]);
const formatValue = (value: any): string => { const formatValue = (value: any): string => {
if (value === null || value === undefined) return 'null'; if (value === null || value === undefined) return 'null';

View File

@@ -1,4 +1,4 @@
import { useState, useEffect } from 'react'; import { useState, useEffect, useCallback } from 'react';
import { useParams, useNavigate } from 'react-router-dom'; import { useParams, useNavigate } from 'react-router-dom';
import { Header } from '@/components/layout/Header'; import { Header } from '@/components/layout/Header';
import { getBannerUrls } from '@/lib/cloudflareImageUtils'; import { getBannerUrls } from '@/lib/cloudflareImageUtils';
@@ -41,19 +41,25 @@ export default function ParkDetail() {
const [photoCount, setPhotoCount] = useState<number>(0); const [photoCount, setPhotoCount] = useState<number>(0);
const [statsLoading, setStatsLoading] = useState(true); const [statsLoading, setStatsLoading] = useState(true);
const { isModerator } = useUserRole(); const { isModerator } = useUserRole();
useEffect(() => { const fetchPhotoCount = useCallback(async (parkId: string) => {
if (slug) { try {
fetchParkData(); const { count, error } = await supabase
} .from('photos')
}, [slug]); .select('id', { count: 'exact', head: true })
.eq('entity_type', 'park')
.eq('entity_id', parkId);
// Track page view when park is loaded if (error) throw error;
useEffect(() => { setPhotoCount(count || 0);
if (park?.id) { } catch (error) {
trackPageView('park', park.id); console.error('Error fetching photo count:', error);
setPhotoCount(0);
} finally {
setStatsLoading(false);
} }
}, [park?.id]); }, []);
const fetchParkData = async () => {
const fetchParkData = useCallback(async () => {
try { try {
// Fetch park details // Fetch park details
const { const {
@@ -79,25 +85,20 @@ export default function ParkDetail() {
} finally { } finally {
setLoading(false); setLoading(false);
} }
}; }, [slug, fetchPhotoCount]);
const fetchPhotoCount = async (parkId: string) => { useEffect(() => {
try { if (slug) {
const { count, error } = await supabase fetchParkData();
.from('photos')
.select('id', { count: 'exact', head: true })
.eq('entity_type', 'park')
.eq('entity_id', parkId);
if (error) throw error;
setPhotoCount(count || 0);
} catch (error) {
console.error('Error fetching photo count:', error);
setPhotoCount(0);
} finally {
setStatsLoading(false);
} }
}; }, [slug, fetchParkData]);
// Track page view when park is loaded
useEffect(() => {
if (park?.id) {
trackPageView('park', park.id);
}
}, [park?.id]);
const getStatusColor = (status: string) => { const getStatusColor = (status: string) => {
switch (status) { switch (status) {
case 'operating': case 'operating':