feat: Implement dynamic OG images

This commit is contained in:
gpt-engineer-app[bot]
2025-10-29 16:49:41 +00:00
parent 320df82329
commit ac63e1d2db
9 changed files with 166 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ import { VersionIndicator } from '@/components/versioning/VersionIndicator';
import { EntityHistoryTabs } from '@/components/history/EntityHistoryTabs';
import { useAuthModal } from '@/hooks/useAuthModal';
import { useDocumentTitle } from '@/hooks/useDocumentTitle';
import { useOpenGraph } from '@/hooks/useOpenGraph';
export default function ParkDetail() {
const {
@@ -52,6 +53,16 @@ export default function ParkDetail() {
// Update document title when park changes
useDocumentTitle(park?.name || 'Park Details');
// Update Open Graph meta tags
useOpenGraph({
title: park?.name || '',
description: park?.description || (park ? `${park.name} - A theme park${park.location ? ` in ${park.location.city}, ${park.location.country}` : ''}` : ''),
imageUrl: park?.banner_image_url,
imageId: park?.banner_image_id,
type: 'website',
enabled: !!park
});
const fetchPhotoCount = useCallback(async (parkId: string) => {
try {
const { count, error } = await supabase