'use client' import React from 'react' import Image from 'next/image' import { useNavigationService } from '@/services/navigationService' interface ObjectData { object_id: string title: string description: string image: string location: string floors?: number area?: string type?: string status?: string } interface ObjectCardProps { object: ObjectData onSelect?: (objectId: string) => void isSelected?: boolean } // Иконка редактирования const EditIcon = ({ className }: { className?: string }) => ( ) const ObjectCard: React.FC = ({ object, onSelect, isSelected = false }) => { const navigationService = useNavigationService() const handleCardClick = () => { if (onSelect) { onSelect(object.object_id) } // Навигация к дашборду с выбранным объектом navigationService.selectObjectAndGoToDashboard(object.object_id, object.title) } const handleEditClick = (e: React.MouseEvent) => { e.stopPropagation() console.log('Edit object:', object.object_id) // Логика редактирования объекта } return (
{ if (e.key === 'Enter' || e.key === ' ') { handleCardClick() } }} >

{object.title}

{object.description}

{/* Изображение объекта */}
{object.title} { // Заглушка при ошибке загрузки изображения const target = e.target as HTMLImageElement target.src = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUyIiBoZWlnaHQ9IjMwMiIgdmlld0JveD0iMCAwIDQ1MiAzMDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI0NTIiIGhlaWdodD0iMzAyIiBmaWxsPSIjRjFGMUYxIi8+CjxwYXRoIGQ9Ik0yMjYgMTUxTDI0NiAxMzFMMjY2IDE1MUwyNDYgMTcxTDIyNiAxNTFaIiBmaWxsPSIjOTk5OTk5Ii8+Cjx0ZXh0IHg9IjIyNiIgeT0iMTkwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmaWxsPSIjOTk5OTk5IiBmb250LXNpemU9IjE0Ij7QntCx0YrQtdC60YI8L3RleHQ+Cjwvc3ZnPgo=' }} />
) } export default ObjectCard export type { ObjectData, ObjectCardProps }