| import { Check, CheckCheck, Clock } from "lucide-react"; | |
| interface MessageStatusIconProps { | |
| status?: string; | |
| seenAt?: string; | |
| } | |
| export function MessageStatusIcon({ status, seenAt }: MessageStatusIconProps) { | |
| if (status === "sending") | |
| return ( | |
| <span className="inline-flex items-center text-gray-300" title="Sending..."> | |
| <Clock className="w-3 h-3" /> | |
| </span> | |
| ); | |
| if (status === "sent") | |
| return ( | |
| <span className="inline-flex items-center text-gray-300" title="Sent"> | |
| <Check className="w-3.5 h-3.5" /> | |
| </span> | |
| ); | |
| if (status === "delivered") | |
| return ( | |
| <span className="inline-flex items-center text-gray-300" title="Delivered"> | |
| <CheckCheck className="w-3.5 h-3.5" /> | |
| </span> | |
| ); | |
| if (status === "seen") | |
| return ( | |
| <span | |
| className="inline-flex items-center text-blue-400" | |
| title={seenAt ? `Seen ${new Date(seenAt).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })}` : "Seen"} | |
| > | |
| <CheckCheck className="w-3.5 h-3.5" /> | |
| </span> | |
| ); | |
| return null; | |
| } |
Xet Storage Details
- Size:
- 1.1 kB
- Xet hash:
- 4f231dcd1aa554a7a591d15cdbb3d0e8eebdc30d65650a4c64171e5408414de2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.