Skip to content

Commit

Permalink
fix(project): adjust minor things
Browse files Browse the repository at this point in the history
  • Loading branch information
olavoparno committed Aug 11, 2020
1 parent d9cfedf commit e3f642d
Showing 1 changed file with 21 additions and 29 deletions.
50 changes: 21 additions & 29 deletions src/index.tsx
Original file line number Diff line number Diff line change
@@ -1,37 +1,28 @@
import * as React from 'react';
import { useAppendHeadScript } from './useAppendHeadScript';

type TInitHotjar = {
hotjarId: string;
hotjarVersion: string;
shouldLog?: boolean;
};

type TUserInfo = {
userInfo: {
id: string;
};
shouldLog?: boolean;
};

type TUseHotjar = {
initHotjar: ({
hotjarId,
hotjarVersion,
shouldLog,
}: TInitHotjar) => Promise<boolean>;
identityHotjar: ({ userInfo }: TUserInfo) => Promise<boolean>;
initHotjar: (
hotjarId: string,
hotjarVersion: string,
shouldLog?: boolean
) => Promise<boolean>;
identityHotjar: (
userId: string,
userInfo: string,
shouldLog?: boolean
) => Promise<boolean>;
};

export function useHotjar(): TUseHotjar {
const { appendHeadScript } = useAppendHeadScript();

const initHotjar = React.useCallback(
async ({
hotjarId,
hotjarVersion,
shouldLog = true,
}: TInitHotjar): Promise<boolean> => {
async (
hotjarId: string,
hotjarVersion: string,
shouldLog = true
): Promise<boolean> => {
const hotjarScript = `(function(h,o,t,j,a,r){h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};h._hjSettings={hjid:${hotjarId},hjsv:${hotjarVersion}};a=o.getElementsByTagName('head')[0];r=o.createElement('script');r.async=1;r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;a.appendChild(r);})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');`;
const isHotjarAppended = await appendHeadScript({
scriptText: hotjarScript,
Expand All @@ -46,12 +37,13 @@ export function useHotjar(): TUseHotjar {
);

const identityHotjar = React.useCallback(
async ({ userInfo, shouldLog = true }: TUserInfo): Promise<boolean> => {
async (
userId: string,
userInfo: string,
shouldLog = true
): Promise<boolean> => {
try {
const { id, ...restUserInfo } = userInfo;
const hotjarIdentityScript = `var userId="${id}" || null;window.hj("identify",userId,{${JSON.stringify(
restUserInfo
)}});`;
const hotjarIdentityScript = `var userId="${userId}" || null;window.hj("identify",userId,{${userInfo}}});`;
const isIdentified = await appendHeadScript({
scriptText: hotjarIdentityScript,
scriptId: 'identity-script',
Expand Down

0 comments on commit e3f642d

Please sign in to comment.