Skip to content

Feature Request: Add displayMode option to presentPaywall #512

Description

@Ermag

Currently, when presenting a paywall using the RevenueCat UI library, its appearance (light or dark mode) is determined solely by the user's system-wide settings. There is no way for the application to override this and enforce a specific theme.

This is particularly problematic for applications that implement their own in-app theme switching. If a user has set the app to dark mode, but their OS is in light mode, the paywall will appear in a light theme, creating a jarring and inconsistent user experience.

I would like to propose adding an optional displayMode parameter to the presentPaywall and presentPaywallIfNeeded functions. This would allow developers to specify whether the paywall should be displayed in light, dark, or be left to the system default.
Here's a suggested implementation for the Capacitor plugin's definitions.ts:

export enum PaywallDisplayMode {
  LIGHT = "light",
  DARK = "dark",
}

export interface PresentPaywallOptions {
  offering?: PurchasesOffering;
  displayCloseButton?: boolean;
  displayMode?: PaywallDisplayMode; // 'light', 'dark', or unset for system default
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions