import React from "react"; import { Rental } from "../types"; import StarRating from "./StarRating"; interface ReviewDetailsModalProps { show: boolean; onClose: () => void; rental: Rental; userType: "renter" | "owner"; } const ReviewDetailsModal: React.FC = ({ show, onClose, rental, userType, }) => { if (!show) return null; const formatDateTime = (dateString: string) => { const date = new Date(dateString).toLocaleDateString(); return date; }; const isRenter = userType === "renter"; return (
Review Details
{/* Header with user info */} {rental.item && (
{rental.item.name}
{formatDateTime(rental.startDateTime)} to{" "} {formatDateTime(rental.endDateTime)}
)} {/* What I Sent Section */} {((isRenter && (rental.itemPrivateMessage || rental.itemReview || rental.itemRating)) || (!isRenter && (rental.renterPrivateMessage || rental.renterReview || rental.renterRating))) && (
What I Sent
{/* My Private Message */} {((isRenter && rental.itemPrivateMessage) || (!isRenter && rental.renterPrivateMessage)) && (
Private Note to {isRenter ? "Owner" : "Renter"}:
{isRenter ? rental.itemPrivateMessage : rental.renterPrivateMessage}
)} {/* My Public Review */} {((isRenter && (rental.itemReview || rental.itemRating)) || (!isRenter && (rental.renterReview || rental.renterRating))) && (
Public Review of {isRenter ? "Item" : "Renter"}:
{((isRenter && rental.itemRating) || (!isRenter && rental.renterRating)) && (
)} {((isRenter && rental.itemReview) || (!isRenter && rental.renterReview)) && (

{isRenter ? rental.itemReview : rental.renterReview}

)}
)}
)} {/* What I Received Section */} {((isRenter && (rental.renterPrivateMessage || rental.renterReview || rental.renterRating)) || (!isRenter && (rental.itemPrivateMessage || rental.itemReview || rental.itemRating))) && (
What I Received
{/* Their Private Message */} {((isRenter && rental.renterPrivateMessage) || (!isRenter && rental.itemPrivateMessage)) && (
Private Note from {isRenter ? "Owner" : "Renter"}:
{isRenter ? rental.renterPrivateMessage : rental.itemPrivateMessage}
)} {/* Their Public Review */} {((isRenter && (rental.renterReview || rental.renterRating)) || (!isRenter && (rental.itemReview || rental.itemRating))) && (
{isRenter ? "Owner's Review of Me:" : "Renter's Review of Item:"}
{((isRenter && rental.renterRating) || (!isRenter && rental.itemRating)) && (
)} {((isRenter && rental.renterReview) || (!isRenter && rental.itemReview)) && (

{isRenter ? rental.renterReview : rental.itemReview}

)}
)}
)} {/* Empty state */} {!rental.itemPrivateMessage && !rental.renterPrivateMessage && !rental.itemReview && !rental.renterReview && !rental.itemRating && !rental.renterRating && (

No review details available.

)}
); }; export default ReviewDetailsModal;