All files / app/features/messages/requests HostRequestStatusText.tsx

0% Statements 0/31
0% Branches 0/16
0% Functions 0/1
0% Lines 0/31

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72                                                                                                                                               
import { Typography } from "@mui/material";
import { useTranslation } from "i18n";
import { MESSAGES } from "i18n/namespaces";
import { HostRequestStatus } from "proto/conversations_pb";
import { theme } from "theme";
 
interface HostRequestStatusTextProps {
  isHost: boolean;
  requestStatus: HostRequestStatus;
  isPast: boolean;
}
 
export default function HostRequestStatusText({
  isHost,
  requestStatus,
  isPast,
}: HostRequestStatusTextProps) {
  const { t } = useTranslation(MESSAGES);
 
  let statusText = "";
  Iif (requestStatus === HostRequestStatus.HOST_REQUEST_STATUS_PENDING) {
    statusText = isPast
      ? t("host_request_item.expired")
      : t("host_request_item.pending");
  }
 
  if (isHost) {
    switch (requestStatus) {
      case HostRequestStatus.HOST_REQUEST_STATUS_ACCEPTED:
        statusText = t("host_request_item.host_status.accepted");
        break;
      case HostRequestStatus.HOST_REQUEST_STATUS_CANCELLED:
        statusText = t("host_request_item.host_status.cancelled");
        break;
      case HostRequestStatus.HOST_REQUEST_STATUS_CONFIRMED:
        statusText = t("host_request_item.host_status.confirmed");
        break;
      case HostRequestStatus.HOST_REQUEST_STATUS_REJECTED:
        statusText = t("host_request_item.host_status.rejected");
        break;
    }
  } else {
    switch (requestStatus) {
      case HostRequestStatus.HOST_REQUEST_STATUS_ACCEPTED:
        statusText = t("host_request_item.surfer_status.accepted");
        break;
      case HostRequestStatus.HOST_REQUEST_STATUS_CANCELLED:
        statusText = t("host_request_item.surfer_status.cancelled");
        break;
      case HostRequestStatus.HOST_REQUEST_STATUS_CONFIRMED:
        statusText = t("host_request_item.surfer_status.confirmed");
        break;
      case HostRequestStatus.HOST_REQUEST_STATUS_REJECTED:
        statusText = t("host_request_item.surfer_status.rejected");
        break;
    }
  }
 
  Iif (isPast) {
    statusText = statusText + ` (${t("host_request_status.past")})`;
  }
 
  return (
    <Typography
      variant="body2"
      color={isPast ? theme.palette.grey[500] : "default"}
    >
      {statusText}
    </Typography>
  );
}