diff --git a/apps/widget/src/components/Common/Container/Container.tsx b/apps/widget/src/components/Common/Container/Container.tsx index 23c6d0ee8..d902bf83a 100644 --- a/apps/widget/src/components/Common/Container/Container.tsx +++ b/apps/widget/src/components/Common/Container/Container.tsx @@ -23,7 +23,7 @@ export function Container({ children }: PropsWithChildren<{}>) { const { projectId = '' } = useParams<{ projectId: string }>(); const [showWidget, setShowWidget] = useState(false); const [primaryPayload, setPrimaryPayload] = useState(); - const [secondaryPayload, setSecondaryPayload] = useState({ primaryColor: colors.primary }); + const [secondaryPayload, setSecondaryPayload] = useState({ host: '', primaryColor: colors.primary }); const { isAuthenticated, refetch } = useAuthentication({ api, projectId }); useEffect(() => { @@ -125,6 +125,7 @@ export function Container({ children }: PropsWithChildren<{}>) { > []; + host: string; // api-context api: ApiService; // impler-context @@ -35,6 +36,7 @@ export function Provider(props: PropsWithChildren) { children, primaryColor, schema, + host, } = props; return ( @@ -46,7 +48,14 @@ export function Provider(props: PropsWithChildren) { authHeaderValue={authHeaderValue} > - + {children} diff --git a/apps/widget/src/hooks/Phase3/usePhase3.ts b/apps/widget/src/hooks/Phase3/usePhase3.ts index 75ecba000..e272fa26a 100644 --- a/apps/widget/src/hooks/Phase3/usePhase3.ts +++ b/apps/widget/src/hooks/Phase3/usePhase3.ts @@ -16,7 +16,7 @@ const defaultPage = 1; export function usePhase3({ onNext }: IUsePhase3Props) { const { api } = useAPIState(); - const { uploadInfo, setUploadInfo } = useAppState(); + const { uploadInfo, setUploadInfo, host } = useAppState(); const [page, setPage] = useState(defaultPage); const [totalPages, setTotalPages] = useState(defaultPage); @@ -32,12 +32,12 @@ export function usePhase3({ onNext }: IUsePhase3Props) { onSuccess(uploadData) { logAmplitudeEvent('RECORDS', { type: 'invalid', - host: location.host, + host, records: uploadData.invalidRecords, }); logAmplitudeEvent('RECORDS', { type: 'valid', - host: location.host, + host, records: uploadData.totalRecords - uploadData.invalidRecords, }); setUploadInfo(uploadData); diff --git a/apps/widget/src/store/app.context.tsx b/apps/widget/src/store/app.context.tsx index 6b762a7e6..18d6ce887 100644 --- a/apps/widget/src/store/app.context.tsx +++ b/apps/widget/src/store/app.context.tsx @@ -11,7 +11,7 @@ interface AppContextProviderProps const AppContext = createContext(null); -const AppContextProvider = ({ children, primaryColor, title, data, schema, output }: AppContextProviderProps) => { +const AppContextProvider = ({ children, primaryColor, title, data, schema, output, host }: AppContextProviderProps) => { const [importConfig, setImportConfig] = useState({} as IImportConfig); const [templateInfo, setTemplateInfo] = useState({} as ITemplate); const [uploadInfo, setUploadInfo] = useState({} as IUpload); @@ -26,6 +26,7 @@ const AppContextProvider = ({ children, primaryColor, title, data, schema, outpu void; + host: string; primaryColor: string; schema?: string; output?: string; diff --git a/libs/embed/src/embed.ts b/libs/embed/src/embed.ts index 2097e0cb9..c9da9a7de 100644 --- a/libs/embed/src/embed.ts +++ b/libs/embed/src/embed.ts @@ -78,7 +78,10 @@ class Impler { this.iframe?.contentWindow?.postMessage( { type: EventTypesEnum.SHOW_WIDGET, - value: payload, + value: { + ...payload, + host: location.host, + }, }, '*' ); diff --git a/libs/shared/src/types/widget/widget.types.ts b/libs/shared/src/types/widget/widget.types.ts index 1945d0083..6b1ac7956 100644 --- a/libs/shared/src/types/widget/widget.types.ts +++ b/libs/shared/src/types/widget/widget.types.ts @@ -2,6 +2,7 @@ export interface IInitPayload { accessToken?: string; } export interface IShowPayload { + host: string; extra?: string; templateId?: string; authHeaderValue?: string;