import Image from 'next/image' import { Link } from '@/i18n/routing' import { useLocale } from 'next-intl' import { Star } from 'lucide-react' export interface Gallery { id: string url: string } export interface Category { slug: string nameTr: string nameEn: string nameRu: string } export interface Neighborhood { slug: string nameTr: string nameEn: string nameRu: string } export interface Listing { id: string slug: string categoryId: string neighborhoodId: string nameTr: string nameEn: string nameRu: string descriptionTr: string descriptionEn: string descriptionRu: string address: string priceRange: number rating?: number | null isLocalApproved: boolean images: Gallery[] category?: Category neighborhood?: Neighborhood } export default function ListingCard({ listing }: { listing: Listing }) { const locale = useLocale() const name = locale === 'ru' ? listing.nameRu : locale === 'en' ? listing.nameEn : listing.nameTr const description = locale === 'ru' ? listing.descriptionRu : locale === 'en' ? listing.descriptionEn : listing.descriptionTr const categoryName = listing.category ? locale === 'ru' ? listing.category.nameRu : locale === 'en' ? listing.category.nameEn : listing.category.nameTr : '' const neighborhoodName = listing.neighborhood ? locale === 'ru' ? listing.neighborhood.nameRu : locale === 'en' ? listing.neighborhood.nameEn : listing.neighborhood.nameTr : '' const priceSymbols = '₺'.repeat(listing.priceRange) const categorySlug = listing.category?.slug || 'isletme' const mainImageUrl = listing.images && listing.images.length > 0 ? listing.images[0].url : 'https://images.unsplash.com/photo-1555396273-367ea4eb4db5?w=800&auto=format&fit=crop&q=80' return ( {/* Local Approved Seal */} {listing.isLocalApproved && (
YEREL
ONAYLI
)} {/* Image Preview */}
{name}
{/* Content Details */}
{/* Category */}
{categoryName}
{/* Title */}

{name}

{/* Neighborhood */}
{neighborhoodName}
{/* Footer info (price range, rating) */}
{priceSymbols} {listing.rating && (
★ {listing.rating.toFixed(1)}
)}
) }