SettingsPaneProviding

Adopt to contribute a settings pane to the Droplets shop detail page and to embedded settings surfaces.

@MainActor protocol SettingsPaneProviding : Droplet

Root a pane in DropletSettingsPane and build it from the DroppyKit settings kit (DropletSettingsCard, DropletToggleRow, settingsUnifiedPickerRow(title:subtitle:icon:iconColor:options:accessibilityLabel:groupPosition:isEnabled:isSelected:action:content:) and friends) so it renders as the native grouped form Droppy's own settings pages are built from. See Settings panes.

  • Important: Droppy draws the top of your droplet's page itself: your icon, your name, your summary and the maker badge. Start the pane with its first setting. Never open it with a card, hero or title carrying your icon or your name: it shows twice. The Droplet Store's validator refuses a pane that does.
  • Note: Maturity: Stable. Covered by the 1.0 compatibility promise. Host support: mounted. Your pane is the body of your droplet's own page in Droppy's Settings, under the same hero and chrome one of Droppy's own gets. See Host support.

Properties

settingsSearchEntries

@MainActor var settingsSearchEntries: [SettingsSearchEntry] { get }

Entries for the host's settings search. Defaults to none.

Methods

makeSettingsPane(context:)

@MainActor func makeSettingsPane(context: SettingsPaneContext) -> AnyView

Builds the settings pane. Called on demand; may be called multiple times per session, so return a fresh view each time and keep state in the droplet, not the view.