# leadin/11.0.7/scripts/iframe/useBackgroundApp.ts

HubSpot All-In-One Marketing – Forms, Popups, Live Chat, version 11.0.7. 30 lines.

- Page: https://pluginprobe.com/plugins/leadin/11.0.7/code/scripts/iframe/useBackgroundApp.ts
- Raw: https://pluginprobe.com/plugins/leadin/11.0.7/raw/scripts/iframe/useBackgroundApp.ts
- Modified: 2024-03-06T11:43:04+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/leadin/11.0.7/code/scripts/iframe/useBackgroundApp.ts#L10-L20`.

```typescript
import { createContext, useContext } from 'react';
import {
  deviceId,
  hubspotBaseUrl,
  locale,
  portalId,
} from '../constants/leadinConfig';
import { Message } from './messageMiddleware';

export const BackgroudAppContext = createContext<any>(null);

export function useBackgroundAppContext() {
  return useContext(BackgroudAppContext);
}

export function usePostBackgroundMessage() {
  const app = useBackgroundAppContext();

  return (message: Message) => {
    app.postMessage(message);
  };
}

export function usePostAsyncBackgroundMessage(): (
  message: Message
) => Promise<any> {
  const app = useBackgroundAppContext();
  return (message: Message) => app.postAsyncMessage(message);
}

```
