use-partner-stack.ts•873 B
import { ApEdition, ApFlagId } from '@activepieces/shared';
import { flagsHooks } from './flags-hooks';
interface Growsumo {
  data: {
    email: string;
    name: string;
    customer_key: string;
  };
  createSignup: () => void;
}
declare global {
  interface Window {
    growsumo: Growsumo;
  }
}
export const usePartnerStack = () => {
  const { data: edition } = flagsHooks.useFlag<ApEdition>(ApFlagId.EDITION);
  const reportSignup = (email: string, firstName: string) => {
    const hasPartnerCookie = document.cookie
      .split('; ')
      .some((c) => c.startsWith('_ps'));
    if (edition !== ApEdition.CLOUD || !hasPartnerCookie) return;
    window.growsumo.data.email = email;
    window.growsumo.data.name = firstName;
    window.growsumo.data.customer_key = `ps_cus_key_${email}`;
    window.growsumo.createSignup();
  };
  return { reportSignup };
};