// app/detail/[id]/page.jsx import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { getListingById } from "@/service/ListingService"; import { Anchor, Cog, Compass, DoorOpen, Hash, Layers, Layout, Package, Palette, Ruler, Scale, Search, Settings2, Wrench, Zap } from "lucide-react"; import { Separator } from "@/components/ui/separator"; import Link from "next/link"; import { Calendar, Gauge, Settings, Fuel, MapPin, Phone, Mail, User } from "lucide-react"; import ListingMediaViewer from "@/components/listing/listingMediaViewer"; export default async function ListingDetailPage({ params }) { const { id } = await params; let listing; try { listing = await getListingById(id); } catch (error) { //error UI return (

Truck Not Found

The truck you're looking for doesn't exist or has been removed.

); } const formatMileage = (mileage) => { return new Intl.NumberFormat('en-US').format(mileage); }; const formatPrice = (price) => { return new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(price); }; return (
{/* Left Column - Images and Details */}
{/* Main Image */}
{/* Vehicle Details */} {listing.title}
{/* Common Fields */}
Year
{listing.year || "N/A"}
Location
{[listing.address, listing.city, listing.state, listing.country] .filter(Boolean) .join(", ") || "N/A"}
{/* TRUCK FIELDS */} {listing.type === "TRUCK" && ( <>
Mileage
{formatMileage(listing.truckMileage) || "N/A"}
VIN
{listing.truckVinNumber || "N/A"}
Horse Power
{listing.truckHorsePower || "N/A"}
Stock Number
{listing.truckStockNumber || "N/A"}
Engine Manufacturer
{listing.truckEngineManufacturer || "N/A"}
Engine
{listing.engine || "N/A"}
Transmission - Speed
{`${listing.transmission} - ${listing.transmissionSpeed}` || "N/A"}
Driver Side
{listing.truckDriverSide || "N/A"}
Class
{listing.truckClassName || "N/A"}
GVWR
{listing.truckClassGvwr || "N/A"}
Fuel Type
{listing.truckFuelType || "N/A"}
)} {/* TRAILER FIELDS */} {listing.type === "TRAILER" && ( <>
Trailer Type
{listing.trailerType || "N/A"}
VIN
{listing.trailerVinNumber || "N/A"}
Stock Number
{listing.trailerStockNumber || "N/A"}
Length
{listing.trailerLength || "N/A"}
Width
{listing.trailerWidth || "N/A"}
Color
{listing.trailerColor || "N/A"}
Height
{listing.trailerHeight || "N/A"}
Composition
{listing.trailerComposition || "N/A"}
Number of Axles
{listing.trailerNumberOfAxles || "N/A"}
Axle Configuration
{listing.trailerAxleConfiguration || "N/A"}
Hitch
{listing.trailerHitch || "N/A"}
Floor Type
{listing.trailerFloorType || "N/A"}
Number of Side Doors
{listing.trailerNumberOfSideDoors || "N/A"}
Rear Opening
{listing.trailerRearOpening || "N/A"}
Trailer Weight (lbs)
{listing.trailerWeightLbs || "N/A"}
Capacity (lbs)
{listing.trailerCapacityLbs || "N/A"}
)}
{/* Description */} Description

{listing.description}

{/* Right Column - Pricing and Contact */}
{/* Price and CTA */}
{formatPrice(listing.price)}
{listing.plan.planName !== "Basic" && ( )}
{/* Seller Information */} Seller Information
{listing.seller.name}
{listing.plan.planName !== "Basic" && (
{[listing.seller.countryCode, listing.seller.phone].filter(Boolean).join("-") || "N/A"}
)}
{listing.seller.email}
{[listing.seller.address, listing.seller.city, listing.seller.state, listing.seller.country] .filter(Boolean) .join(", ") || "N/A"}
{/* Quick Facts */} Quick Facts
Category {listing.categoryName}
Maker {listing.makerName}
Model {listing.modelName}
Trim {listing.trimName}
Year {listing.year}
); }