Skip to main content

Interface: ThemeFeatures

Defined in: packages/sdk/src/types/generated/common.ts:32

Capabilities a theme supports.

Lets the builder adapt its UI to the active theme — e.g. hide the Pages tab for a theme that doesn't render CMS pages, or the locale picker for one without i18n. Declared statically per theme in lib/themes.py for hard-coded themes, and in the gravityrail.config.json manifest for source-site themes (resolved per site).

Properties

admin?

optional admin: boolean

Defined in: packages/sdk/src/types/generated/common.ts:48

Operator/admin-facing surface rather than a public/member site


apiAccess?

optional apiAccess: boolean

Defined in: packages/sdk/src/types/generated/common.ts:42

Exposes a runtime API to the rendered site (e.g. grFetch)


auth?

optional auth: boolean

Defined in: packages/sdk/src/types/generated/common.ts:44

Supports authenticated (logged-in) members at all


darkMode?

optional darkMode: ThemeFeaturesDarkMode

Defined in: packages/sdk/src/types/generated/common.ts:40

Color-scheme support


dynamicPages?

optional dynamicPages: boolean

Defined in: packages/sdk/src/types/generated/common.ts:34

Renders CMS-style pages (the Pages tab)


i18n?

optional i18n: boolean

Defined in: packages/sdk/src/types/generated/common.ts:36

Renders localized content for multiple locales


locales?

optional locales: string[] | null

Defined in: packages/sdk/src/types/generated/common.ts:38

Locales the theme constrains itself to; null means it follows the site's configured locales.


scopes?

optional scopes: string[]

Defined in: packages/sdk/src/types/generated/common.ts:50

Permission scopes the theme relies on to function


signup?

optional signup: boolean

Defined in: packages/sdk/src/types/generated/common.ts:46

Supports public self-service signup (implies auth)