<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
import { useLaunchDataStore } from '@auto-launch/state/launch-data';
import { INSIGHTS_HOST } from '@constants';
import { reqDataBasics } from '@shared/lib/data';

const headers = {
	'Content-type': 'application/json',
	Accept: 'application/json',
	'X-Extendify': 'true',
};

const { urlParams } = window.extLaunchData;
export const checkIn = ({
	stage,
	siteProfile = {},
	sitePlugins = [],
	siteStyle = {},
} = {}) => {
	const { type, category, structure, objective } = siteProfile;
	const { siteId, partnerId, homeUrl, wpLanguage } = reqDataBasics;
	const attempt = useLaunchDataStore.getState()?.attempt || 1;

	const payload = JSON.stringify({
		...reqDataBasics,
		autoLaunch: true,
		stage,
		attempt,
		skippedDescription: Boolean(urlParams?.title || urlParams?.description),
		insightsId: siteId,
		hostpartner: partnerId,
		siteURL: homeUrl,
		language: wpLanguage,
		sitePlugins: sitePlugins?.map((p) => p?.name),
		urlParameters: urlParams,
		siteStyle,
		style: siteStyle?.colorPalette,
		siteProfile,
		siteType: type,
		siteCategory: category,
		siteStructure: structure,
		siteObjective: objective,
		extra: {
			userAgent: window?.navigator?.userAgent,
			vendor: window?.navigator?.vendor || 'unknown',
			platform:
				window?.navigator?.userAgentData?.platform ||
				window?.navigator?.platform ||
				'unknown',
			mobile: window?.navigator?.userAgentData?.mobile,
			width: window.innerWidth,
			height: window.innerHeight,
			screenHeight: window.screen.height,
			screenWidth: window.screen.width,
			orientation: window.screen.orientation?.type,
			touchSupport: 'ontouchstart' in window || navigator.maxTouchPoints > 0,
		},
	});

	return fetch(`${INSIGHTS_HOST}/api/v1/launch`, {
		method: 'POST',
		headers,
		body: payload,
		keepalive: true,
	});
};
