import { appStore } from "@applicaster/zapp-react-native-redux/AppStore";
import { getPlatform } from "@applicaster/zapp-react-native-utils/reactUtils";
import { utilsLogger } from "../logger";

const logger = utilsLogger.addSubsystem("headersUtils");

export const getAppDataHeaders = (screenId: string) => {
  const appData = appStore.get("appData");
  const platform = getPlatform();

  if (!appData) {
    logger.warning({
      message: "appData is not defined",
      data: { appData },
    });

    return {};
  }

  return {
    "x-applicaster-layout-id":
      appData.riversConfigurationId || appData.rivers_configuration_id,
    "x-applicaster-screen-id": screenId,
    "x-applicaster-language-code": appData.languageCode,
    "x-applicaster-version-number": appData.version_name || appData.versionName,
    "x-applicaster-platform": (platform || appData.platform).toLowerCase(),
    "x-applicaster-country-code": appData.countryCode,
    "x-applicaster-signed-device-info-token": appData.signedDeviceInfoToken,
    "x-applicaster-device-make": appData.deviceMake,
    "x-applicaster-device-model": appData.deviceModel,
    "x-applicaster-uuid": appData?.uuid,
  };
};
