import { userSignUpData } from "@/redux/reducer/authSlice"; import { formatChatMessageTime, formatMessageDate, formatPriceAbbreviated, t, } from "@/utils"; import { getMessagesApi } from "@/utils/api"; import { Fragment, useEffect, useRef, useState } from "react"; import { useSelector } from "react-redux"; import { Skeleton } from "@/components/ui/skeleton"; import { Loader2, ChevronUp } from "lucide-react"; import dynamic from "next/dynamic"; const SendMessage = dynamic(() => import("./SendMessage"), { ssr: false }); import GiveReview from "./GiveReview"; import { getNotification } from "@/redux/reducer/globalStateSlice"; import CustomImage from "@/components/Common/CustomImage"; import { cn } from "@/lib/utils"; // Skeleton component for chat messages const ChatMessagesSkeleton = () => { return (
{/* Skeleton for date separator */} {/* Received message skeletons */}
{/* Sent message skeletons */}
{/* Image message skeleton */}
{/* Audio message skeleton */}
{/* Another message skeleton */}
{/* Another message skeleton */}
); }; const renderMessageContent = (message, isCurrentUser) => { const baseTextClass = isCurrentUser ? "text-white bg-primary p-2 rounded-md w-fit" : "text-black bg-border p-2 rounded-md w-fit"; const audioStyles = isCurrentUser ? "border-primary" : "border-border"; switch (message.message_type) { case "audio": return (