Skip to content

feat(app): inject external theme and feature config into the embedded app#1439

Closed
SERDUN wants to merge 1 commit into
feat/embedded-preview-firebase-freefrom
feat/embedded-host-injection
Closed

feat(app): inject external theme and feature config into the embedded app#1439
SERDUN wants to merge 1 commit into
feat/embedded-preview-firebase-freefrom
feat/embedded-host-injection

Conversation

@SERDUN

@SERDUN SERDUN commented Jun 23, 2026

Copy link
Copy Markdown
Member

Overview

Stacked on #1438 (Firebase-free embeddedPreview bootstrap). Lets an embedder — the configurator's realtime preview — drive the live appearance and feature/login/tab config of the embedded app.

  • RootApp/App accept external ThemeSettings / ThemeMode / FeatureAccess streams (+ initial seeds).
  • App subscribes to the theme streams and applies them via AppThemeSettingsChanged / AppThemeModeChanged (no prefs write); subscriptions are cancelled on dispose.
  • RootApp's FeatureAccess StreamProvider source is swapped to the external stream, with the external initial as the first-frame seed.

Why

Second half of the embedded-host support for the realtime-preview epic (split from #1437). Depends on #1438 for the embeddedPreview flag / Firebase-free bootstrap.

Stacked on #1438 — review/merge that first; this PR's base is feat/embedded-preview-firebase-free and will retarget to develop once #1438 lands.

Notes

  • Standalone behaviour unchanged: all external streams default to null.
  • flutter analyze lib green.

… app

Stacked on the embeddedPreview bootstrap. RootApp/App accept external
ThemeSettings/ThemeMode/FeatureAccess streams (+ initial seeds) so an embedder
(the configurator's realtime preview) can drive the live appearance and
feature/login/tab config of the embedded app.

- App subscribes to the external theme streams and applies them via
  AppThemeSettingsChanged/AppThemeModeChanged (no prefs write); subscriptions
  are cancelled on dispose.
- RootApp's FeatureAccess StreamProvider source is swapped to the external
  stream (with the external initial as the first-frame seed) when provided.

Standalone behaviour is unchanged: all external streams default to null.
@SERDUN

SERDUN commented Jun 23, 2026

Copy link
Copy Markdown
Member Author

Closing — reworking the embedded-host support into a cleaner single abstraction.

@SERDUN SERDUN closed this Jun 23, 2026
@SERDUN SERDUN deleted the feat/embedded-host-injection branch June 23, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant