> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getlaunch.it/llms.txt
> Use this file to discover all available pages before exploring further.

# Helper Components

> Reusable UI components for common functionality

## Paywall Components

<ResponseField name="PaywallAlert" type="component">
  A shadcn/ui alert component that displays subscription/purchase information and opens a pricing modal when clicked.

  <Expandable title="Props">
    <ResponseField name="title" type="string" required>
      The title of the alert. Usually a translation key from the portal namespace.
    </ResponseField>

    <ResponseField name="description" type="string" required>
      The description text shown in the alert. Usually a translation key from the portal namespace.
    </ResponseField>

    <ResponseField name="dialogDescription" type="string" required>
      The description text shown in the pricing modal dialog. Usually a translation key from the portal namespace.
    </ResponseField>

    <ResponseField name="subscription" type="Subscription | null" required>
      The user's current subscription object. Used to highlight the current plan in the pricing modal.
    </ResponseField>

    <ResponseField name="purchases" type="Purchase[]" required>
      Array of the user's purchases. Used to show which one-time purchases have been made.
    </ResponseField>

    <ResponseField name="user" type="User" required>
      The current user object. Used for displaying user-specific information in the pricing modal.
    </ResponseField>
  </Expandable>

  <Expandable title="Example">
    ```tsx theme={null}
    <PaywallAlert
      title={tPortal('noPlan.alert.title')}
      description={tPortal('noPlan.alert.description')}
      dialogDescription={tPortal('noPlan.alert.dialogDescription')}
      subscription={subscription}
      purchases={[]}
      user={user}
    />
    ```
  </Expandable>

  <Expandable title="Features">
    * Displays a shadcn/ui Alert component with customizable title and description
    * Opens a pricing modal when clicked
    * Highlights the user's current subscription plan in the modal
    * Shows which one-time purchases have been made
    * Fully integrated with the i18n translation system
    * Responsive design that works on all screen sizes
  </Expandable>
</ResponseField>
