import { parseTimeToSeconds } from "@applicaster/zapp-react-native-utils/appUtils/playerManager/OverlayObserver/utils";
import { toNumberWithDefaultZero } from "@applicaster/zapp-react-native-utils/numberUtils";
import { loggerLiveImageComponent } from "./loggerHelper";

const { log_error } = loggerLiveImageComponent;

type AutoplaySettings = {
  start: number | null;
  end: number | null;
};

export const parseTime = (time: string): number => {
  const seconds = toNumberWithDefaultZero(parseTimeToSeconds(time));

  return Math.max(seconds, 0);
};

export const getAutoplaySettings = (item: ZappEntry): AutoplaySettings => {
  const autoplay_settings = item?.extensions?.autoplay_settings;

  let start: number | null = null;
  let end: number | null = null;

  if (autoplay_settings) {
    const { start_time, end_time } = autoplay_settings;

    try {
      start = start_time ? parseTime(start_time) : null;
      end = end_time ? parseTime(end_time) : null;

      if (start && end && start >= end) {
        end = null;
      }
    } catch (error) {
      log_error(`PlayerLiveImageComponent: ${error}`);
    }
  }

  return { start, end };
};
