serveReloadableArtisanalAppInBrowser function

Future<BrowserTerminalHostServer> serveReloadableArtisanalAppInBrowser({
  1. required ReloadWidgetBuilder homeBuilder,
  2. required ReloadController controller,
  3. InternetAddress? address,
  4. int port = 8080,
  5. String pagePath = '/',
  6. String webSocketPath = '/ws',
  7. String browserTitle = 'Artisanal Widget Host',
  8. String? pageHtml,
  9. String? title,
  10. Theme? theme,
  11. Theme? darkTheme,
  12. ThemeMode themeMode = ThemeMode.system,
  13. Theme themeBuilder()?,
  14. ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities,
  15. ProgramOptions? options,
})

Serves a reloadable ArtisanalApp in the browser.

All connected sessions share controller, so reload() or restart() broadcasts across every active browser client.

Implementation

Future<hosts.BrowserTerminalHostServer> serveReloadableArtisanalAppInBrowser({
  required ReloadWidgetBuilder homeBuilder,
  required ReloadController controller,
  io.InternetAddress? address,
  int port = 8080,
  String pagePath = '/',
  String webSocketPath = '/ws',
  String browserTitle = 'Artisanal Widget Host',
  String? pageHtml,
  String? title,
  Theme? theme,
  Theme? darkTheme,
  ThemeMode themeMode = ThemeMode.system,
  Theme Function()? themeBuilder,
  ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities,
  runtime.ProgramOptions? options,
}) {
  return serveArtisanalAppInBrowser(
    address: address,
    port: port,
    pagePath: pagePath,
    webSocketPath: webSocketPath,
    browserTitle: browserTitle,
    pageHtml: pageHtml,
    options: options,
    appBuilder: () => ArtisanalApp(
      title: title,
      theme: theme,
      darkTheme: darkTheme,
      themeMode: themeMode,
      themeBuilder: themeBuilder,
      imageAutoMode: imageAutoMode,
      home: ReloadHost(
        controller: controller,
        builder: homeBuilder,
      ),
    ),
  );
}