All files / client/src/views/event-log EventLogProgramItemMoved.tsx

85.71% Statements 6/7
50% Branches 2/4
100% Functions 3/3
85.71% Lines 6/7

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                      356x     5x   5x 9x     5x 5x                                              
import { ReactElement } from "react";
import { useTranslation } from "react-i18next";
import { Link } from "react-router";
import { EventLogItem } from "shared/types/models/eventLog";
import { useAppSelector } from "client/utils/hooks";
import { getShortWeekdayAndTime } from "shared/utils/timeFormatter";
import { AppRoute } from "client/app/AppRoutes";
 
interface Props {
  eventLogItem: EventLogItem;
}
export const EventLogProgramItemMoved = ({
  eventLogItem,
}: Props): ReactElement => {
  const { t } = useTranslation();
 
  const programItems = useAppSelector(
    (state) => state.allProgramItems.programItems,
  );
 
  const programItem = programItems.find(
    (p) => p.programItemId === eventLogItem.programItemId,
  );
 
  return (
    <div>
      <span>
        {t(`programTypeGenetive.${programItem?.programType ?? "other"}`)}{" "}
        {programItem ? (
          <Link to={`${AppRoute.PROGRAM_ITEM}/${eventLogItem.programItemId}`}>
            {programItem.title}
          </Link>
        ) : (
          eventLogItem.programItemId
        )}{" "}
        {t("eventLogActions.programItemMoved", {
          NEW_STARTING_TIME: getShortWeekdayAndTime(
            eventLogItem.programItemStartTime,
          ),
        })}
      </span>
    </div>
  );
};