Skip to main content

Interface: PropellerInfra

Defined in: context/PropellerContext.tsx:84

Composite of Tier 1 deps + Tier 2 scope. Preserved as the public PropellerInfra shape so existing consumers (useInfraProps, useResolvedProps, card components) keep working unchanged.

userMode is derived from user + shopMode; B2B-gated UI should read this rather than re-deriving from isContact(user).

Extends​

Properties​

companyId​

companyId: number | undefined

Defined in: context/PropellerContext.tsx:60

Active company ID for the current session; undefined for non-company users.

Inherited from​

PropellerScope.companyId


configuration​

configuration: unknown

Defined in: context/PropellerContext.tsx:39

Free-form configuration bag forwarded to components.

Inherited from​

PropellerDeps.configuration


currency​

currency: string

Defined in: context/PropellerContext.tsx:37

Currency symbol used by display components. Default: '€'.

Inherited from​

PropellerDeps.currency


graphqlClient​

graphqlClient: GraphQLClient

Defined in: context/PropellerContext.tsx:30

The GraphQL client the consumer constructed. Exposed for code that needs to pass it back into SDK helpers (rare — most code should use services).

Inherited from​

PropellerDeps.graphqlClient


imgComponent?​

optional imgComponent?: ComponentType<ImgComponentProps>

Defined in: context/PropellerContext.tsx:41

Replaces the <img> every component renders. Excludes PSP logos.

Inherited from​

PropellerDeps.imgComponent


includeTax​

includeTax: boolean

Defined in: context/PropellerContext.tsx:64

When true, display components show tax-inclusive prices.

Inherited from​

PropellerScope.includeTax


isAuthenticated?​

optional isAuthenticated?: boolean

Defined in: context/PropellerContext.tsx:58

Whether a session exists, independent of whether user has loaded yet. Hosts paint from a cached hint before the profile arrives, so user is null for an authenticated visitor for the first frames; without this, semi-closed surfaces flash their logged-out state. Optional — omitting it keeps the previous behaviour.

Inherited from​

PropellerScope.isAuthenticated


language​

language: string

Defined in: context/PropellerContext.tsx:62

Active language code (e.g. 'NL').

Inherited from​

PropellerScope.language


portalMode​

portalMode: string

Defined in: context/PropellerContext.tsx:66

Portal access mode (e.g. 'open', 'semi-closed').

Inherited from​

PropellerScope.portalMode


services​

services: Services

Defined in: context/PropellerContext.tsx:35

The Services bundle ({ product, cart, user, ... }) wired to graphqlClient. Build it via createServices(graphqlClient).

Inherited from​

PropellerDeps.services


shopMode?​

optional shopMode?: ShopMode

Defined in: context/PropellerContext.tsx:73

Shop mode declared in propeller.json. Combined with user to derive userMode on the composite context. Defaults to 'hybrid' when omitted so existing call sites keep their current branching semantics (any logged-in Contact → b2b surface).

Inherited from​

PropellerScope.shopMode


user​

user: Contact | Customer | null

Defined in: context/PropellerContext.tsx:50

The authenticated user, or null when browsing anonymously.

Inherited from​

PropellerScope.user


userMode​

userMode: UserMode

Defined in: context/PropellerContext.tsx:85