setToPremade method

Future<void> setToPremade({
  1. int settingsId = 0,
})

Set Playground settings and FCS theme to selected premade config.

Implementation

Future<void> setToPremade({int settingsId = 0}) async {
  //
  // 0) Playground defaults.
  //
  // First reset all settings to defaults so we start with a clean slate.
  // But we do not change theme mode, we keep it. Also we will not notify
  // any listeners yet, we do that once when all settings have been set.
  // If there is no matching settings ID, settings are just rest to defaults.
  await resetAllToDefaults(resetMode: false, doNotify: false);

  // 1) Material 3 default.
  if (settingsId == 1) {
    // Blend mode and levels.
    setBlendLevel(0, false);
    setBlendLevelDark(0, false);
    setBlendOnLevel(0, false);
    setBlendOnLevelDark(0, false);
    // Seed generation - Basic M3 default.
    setUseKeyColors(true, false);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(false, false);
    setInteractionEffects(false, false);
    setTintedDisabledControls(false, false);
    // Set SnackBar to M3.
    setSnackBarSchemeColor(SchemeColor.inverseSurface, false);
    setSnackBarElevation(6, false);
    // Set TextField to M3
    await setTextFieldToM3(false);
    // Set Navigators to M3
    await setNavigationBarToM3(false);
    await setNavigationRailToM3(false);
    // Set tooltip to M3 like
    setTooltipRadius(4, false);
    setTooltipOpacity(0.9, false);
    // Not entirely correct color with defaults, but best we can do with
    // ColorScheme based colors. Most likely this is what it should be in M3,
    // but Flutter does not implement it yet, it still uses M2 defaults in M3.
    setTooltipSchemeColor(SchemeColor.inverseSurface, false);
  }
  // 2) Primary navigators.
  else if (settingsId == 2) {
    // Legacy swap OFF.
    setSwapLegacyColors(false, false);
    // Set blend modes and levels.
    setSurfaceModeLight(FlexSurfaceMode.highBackgroundLowScaffold, false);
    setSurfaceModeDark(FlexSurfaceMode.highBackgroundLowScaffold, false);
    setBlendLevel(2, false);
    setBlendLevelDark(8, false);
    setBlendLightOnColors(false, false);
    setBlendDarkOnColors(true, false);
    setBlendOnLevel(10, false);
    setBlendOnLevelDark(8, false);
    // Seed generation - Turn it OFF.
    setUseKeyColors(false, false);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Text theme blends: ON light, ON dark
    setBlendLightTextTheme(true, false);
    setBlendDarkTextTheme(true, false);
    // OutlinedButton settings
    setOutlinedButtonOutlineSchemeColor(SchemeColor.primary, false);
    setOutlinedButtonPressedBorderWidth(2, false);
    // ToggleButtons settings
    setToggleButtonsBorderSchemeColor(SchemeColor.primary, false);
    // SegmentedButton settings
    setSegmentedButtonSchemeColor(SchemeColor.primary, false);
    setSegmentedButtonBorderSchemeColor(SchemeColor.primary, false);
    // Set toggles colored
    setUnselectedToggleIsColored(true, false);
    // Slider Settings
    setSliderValueTinted(true, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorBackgroundAlphaLight(21, false);
    setInputDecoratorBackgroundAlphaDark(43, false);
    setInputDecoratorPrefixIconSchemeColor(SchemeColor.primary, false);
    setInputDecoratorBorderRadius(12, false);
    setInputDecoratorUnfocusedHasBorder(false, false);
    // Menus and Popup
    setPopupMenuBorderRadius(6, false);
    setPopupMenuElevation(8, false);
    setMenuRadius(6, false);
    setMenuElevation(8, false);
    setMenuBarRadius(0, false);
    setMenuBarElevation(1, false);
    // Drawer settings
    setDrawerIndicatorSchemeColor(SchemeColor.primary, false);
    // BottomNavigationBar
    setBottomNavBarMuteUnselected(false, false);
    // NavigationBar settings
    setNavBarMuteUnselected(false, false);
    setNavBarSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorOpacity(1.0, false);
    // NavigationRail settings
    setNavRailMuteUnselected(false, false);
    setNavRailSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorOpacity(1.0, false);
  }
  // 3) Fabulous 12.
  else if (settingsId == 3) {
    // The default radius to 12 for all.
    setDefaultRadius(12, false);
    // Legacy swap OFF.
    setSwapLegacyColors(false, false);
    // Set blend modes and levels.
    setSurfaceModeLight(FlexSurfaceMode.highScaffoldLowSurface, false);
    setSurfaceModeDark(FlexSurfaceMode.highScaffoldLowSurface, false);
    setBlendLevel(1, false);
    setBlendLevelDark(2, false);
    setBlendOnLevel(8, false);
    setBlendOnLevelDark(10, false);
    // Seed generation - Turn it ON, use all 3 main seeds. Vivid algo.
    setUseKeyColors(true, false);
    setUseSecondary(true, false);
    setUseTertiary(true, false);
    setKeepPrimary(true, false);
    setUsedFlexToneSetup(7, false); // <== Jolly config.
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Text theme blends
    setBlendLightTextTheme(false, false);
    setBlendDarkTextTheme(true, false);
    // Elevated button
    setElevatedButtonSchemeColor(SchemeColor.onPrimaryContainer, false);
    setElevatedButtonSecondarySchemeColor(SchemeColor.primaryContainer, false);
    // OutlinedButton settings
    setOutlinedButtonOutlineSchemeColor(SchemeColor.primary, false);
    // ToggleButtons settings
    setToggleButtonsBorderSchemeColor(SchemeColor.primary, false);
    // SegmentedButton settings
    setSegmentedButtonSchemeColor(SchemeColor.primary, false);
    setSegmentedButtonBorderSchemeColor(SchemeColor.primary, false);
    // Set toggles colored
    setUnselectedToggleIsColored(true, false);
    // Slider Settings
    setSliderValueTinted(true, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorBackgroundAlphaLight(31, false);
    setInputDecoratorBackgroundAlphaDark(43, false);
    setInputDecoratorPrefixIconSchemeColor(SchemeColor.primary, false);
    setInputDecoratorPrefixIconDarkSchemeColor(SchemeColor.primary, false);
    setInputDecoratorUnfocusedHasBorder(false, false);
    setInputDecoratorFocusedBorderWidth(1.0, false);
    // FAB settings
    setFabUseShape(true, false);
    setFabAlwaysCircular(true, false);
    setFabSchemeColor(SchemeColor.tertiary, false);
    // Menus and Popup
    setPopupMenuBorderRadius(8, false);
    setPopupMenuElevation(3, false);
    setMenuRadius(8, false);
    setMenuElevation(3, false);
    setMenuBarRadius(0, false);
    setMenuBarElevation(2, false);
    setMenuBarShadowColor(Colors.transparent, false);
    // Drawer settings
    setDrawerIndicatorSchemeColor(SchemeColor.primary, false);
    setDrawerIndicatorBorderRadius(12, false);
    // BottomNavigationBar
    setBottomNavBarMuteUnselected(false, false);
    // NavigationBar settings
    setNavBarMuteUnselected(false, false);
    setNavBarSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorOpacity(1.0, false);
    setNavBarIndicatorBorderRadius(12, false);
    // NavigationRail settings
    setNavRailMuteUnselected(false, false);
    setNavRailBackgroundSchemeColor(SchemeColor.surface);
    setNavRailSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorOpacity(1.0, false);
    setNavRailIndicatorBorderRadius(12, false);
  }
  // 4) Material 3 does M2
  else if (settingsId == 4) {
    // The default radius to 12 for all.
    setDefaultRadius(4, false);
    // No legacy swap, this is M2 emulation.
    setSwapLegacyColors(false, false);
    // Set blend modes and levels.
    setBlendLightOnColors(false, false);
    setBlendDarkOnColors(false, false);
    setBlendLevel(0, false);
    setBlendLevelDark(0, false);
    setBlendOnLevel(0, false);
    setBlendOnLevelDark(0, false);
    // Elevation tint and shadows, we keep it in dark mode.
    setAdaptiveRemoveElevationTintLight(AdaptiveTheme.all, false);
    setAdaptiveElevationShadowsBackLight(AdaptiveTheme.all, false);
    setAdaptiveAppBarScrollUnderOffLight(AdaptiveTheme.all, false);
    setAdaptiveRemoveElevationTintDark(AdaptiveTheme.off, false);
    setAdaptiveElevationShadowsBackDark(AdaptiveTheme.all, false);
    setAdaptiveAppBarScrollUnderOffDark(AdaptiveTheme.all, false);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(false, false);
    setTintedDisabledControls(false, false);
    // Text theme blends
    setBlendLightTextTheme(false, false);
    setBlendDarkTextTheme(false, false);
    // AppBar settings
    setAppBarStyleLight(FlexAppBarStyle.primary, false);
    setAppBarStyleDark(FlexAppBarStyle.material, false);
    setAppBarElevationLight(4, false);
    setAppBarElevationDark(4, false);
    setAppBarScrolledUnderElevationLight(4.0, false);
    setAppBarScrolledUnderElevationDark(4.0, false);
    setBottomAppBarElevationLight(8, false);
    setBottomAppBarElevationDark(8, false);
    // TabBar
    setTabBarStyle(FlexTabBarStyle.forAppBar, false);
    setTabBarDividerColor(Colors.transparent, false);
    setTabBarIndicatorSize(TabBarIndicatorSize.tab, false);
    setTabBarIndicatorWeight(2, false);
    setTabBarIndicatorTopRadius(0, false);
    // Elevated button - Make look like it used to in M2.
    setElevatedButtonSchemeColor(SchemeColor.onPrimary, false);
    setElevatedButtonSecondarySchemeColor(SchemeColor.primary, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorSchemeColorLight(SchemeColor.onSurface, false);
    setInputDecoratorSchemeColorDark(SchemeColor.onSurface, false);
    setInputDecoratorBackgroundAlphaLight(13, false);
    setInputDecoratorBackgroundAlphaDark(20, false);
    setInputDecoratorBorderSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorBorderSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorUnfocusedBorderIsColored(false, false);
    // FAB settings
    setFabUseShape(true, false);
    setFabAlwaysCircular(true, false);
    // With real M3 schemes this looks bad, but it is M2 color mapping.
    setFabSchemeColor(SchemeColor.secondary, false);
    // Chip settings
    setChipSchemeColor(SchemeColor.primary, false);
    setChipBorderRadius(20, false);
    // Menus and Popup
    setPopupMenuElevation(8, false);
    setMenuElevation(8, false);
    setMenuBarRadius(0, false);
    setMenuBarElevation(1, false);
    // Tooltips
    setTooltipRadius(4, false);
    // Dialog settings
    setDialogElevation(24, false);
    setDatePickerHeaderBackgroundSchemeColor(SchemeColor.primary, false);
    // Set SnackBar to M2/M3 style.
    setSnackBarSchemeColor(SchemeColor.inverseSurface, false);
    // Drawer settings
    setDrawerElevation(16, false);
    setDrawerWidth(304, false);
    // BottomSheet
    setBottomSheetElevation(10, false);
    setBottomSheetModalElevation(20, false);
    // BottomNavigationBar
    setBottomNavigationBarElevation(8, false);
    setBottomNavBarSelectedSchemeColor(SchemeColor.primary, false);
    setBottomNavBarMuteUnselected(true, false);
    // NavigationBar settings
    setNavBarIndicatorSchemeColor(SchemeColor.secondary, false);
    setNavBarBackgroundSchemeColor(SchemeColor.surfaceVariant, false);
    setNavBarSelectedIconSchemeColor(SchemeColor.onSurface, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.onSurface, false);
    setNavBarUnselectedSchemeColor(SchemeColor.onSurface, false);
    setNavBarElevation(0, false);
    setNavBarMuteUnselected(true, false);
    // NavigationRail settings
    setNavRailSelectedIconSchemeColor(SchemeColor.onSurface, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.onSurface, false);
    setNavRailUnselectedSchemeColor(SchemeColor.onSurface, false);
    setNavRailIndicatorSchemeColor(SchemeColor.secondary, false);
    setNavRailMuteUnselected(true, false);
  }
  // 5) High contrast
  else if (settingsId == 5) {
    // Legacy swap
    setSwapLegacyColors(true, false);
    // Set blend modes and levels.
    setSurfaceModeLight(FlexSurfaceMode.highScaffoldLowSurface, false);
    setSurfaceModeDark(FlexSurfaceMode.highScaffoldLowSurface, false);
    setBlendLevel(22, false);
    setBlendLevelDark(18, false);
    setLightIsWhite(true, false);
    setDarkIsTrueBlack(true, false);
    // Seed generation - Turn it ON, use all 3 main seeds. Vivid algo.
    setUseKeyColors(true, false);
    setUseSecondary(true, false);
    setUseTertiary(true, false);
    setUsedFlexToneSetup(6, false); // <== Ultra contrast.
    setKeepPrimary(true, false);
    setKeepSecondary(true, false);
    setKeepTertiary(true, false);
    setOnMainsUseBWLight(true, false);
    setOnMainsUseBWDark(false, false);
    setOnSurfacesUseBWLight(true, false);
    setOnSurfacesUseBWDark(false, false);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Text theme blends
    setBlendLightTextTheme(false, false);
    setBlendDarkTextTheme(false, false);
    // AppBar settings
    setAppBarStyleLight(FlexAppBarStyle.background, false);
    setAppBarStyleDark(FlexAppBarStyle.background, false);
    setBottomAppBarElevationLight(1, false);
    setBottomAppBarElevationDark(2, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorBackgroundAlphaLight(21, false);
    setInputDecoratorBackgroundAlphaDark(43, false);
    setInputDecoratorPrefixIconSchemeColor(SchemeColor.primary, false);
    setInputDecoratorPrefixIconDarkSchemeColor(SchemeColor.primary, false);
    setInputDecoratorBorderRadius(8, false);
    setInputDecoratorUnfocusedHasBorder(false, false);
    // FAB settings
    setFabSchemeColor(SchemeColor.tertiary, false);
    // Elevated button
    setElevatedButtonSchemeColor(SchemeColor.onPrimaryContainer, false);
    setElevatedButtonSecondarySchemeColor(SchemeColor.primaryContainer, false);
    // SegmentedButton settings
    setSegmentedButtonSchemeColor(SchemeColor.primary, false);
    // Menus and Popup
    setPopupMenuBorderRadius(6, false);
    setPopupMenuElevation(4, false);
    setMenuRadius(6, false);
    setMenuElevation(4, false);
    setMenuBarRadius(0, false);
    setMenuBarElevation(1, false);
    // Dialogs
    setDialogElevation(3, false);
    setDialogBorderRadius(20, false);
    // SnackBar
    setSnackBarSchemeColor(SchemeColor.inverseSurface, false);
    // BottomSheet
    setBottomSheetElevation(2, false);
    setBottomSheetModalElevation(3, false);
    setBottomSheetBorderRadius(20, false);
    // Drawer settings
    setDrawerIndicatorSchemeColor(SchemeColor.primary, false);
    // BottomNavigationBar
    setBottomNavBarMuteUnselected(false, false);
    setBottomNavBarBackgroundSchemeColor(SchemeColor.surfaceVariant, false);
    // NavigationBar settings
    setNavBarBackgroundSchemeColor(SchemeColor.background, false);
    setNavBarMuteUnselected(false, false);
    setNavBarSelectedIconSchemeColor(SchemeColor.background, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavBarElevation(1, false);
    setNavBarIndicatorSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorOpacity(1.0, false);
    // NavigationRail settings
    setNavRailMuteUnselected(false, false);
    setNavRailSelectedIconSchemeColor(SchemeColor.background, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorOpacity(1.0, false);
  }
  // 6) One shade
  else if (settingsId == 6) {
    // Legacy swap
    setSwapLegacyColors(false, false);
    setUsedColors(1, false);
    // Set blend modes and levels.
    setSurfaceModeLight(FlexSurfaceMode.highBackgroundLowScaffold, false);
    setSurfaceModeDark(FlexSurfaceMode.highBackgroundLowScaffold, false);
    setBlendLevel(1, false);
    setBlendLevelDark(4, false);
    setBlendOnLevel(10, false);
    setBlendOnLevelDark(10, false);
    // Seed generation - Turn it ON, use all 3 main seeds. Vivid algo.
    setUseKeyColors(true, false);
    setUseSecondary(true, false);
    setUseTertiary(true, false);
    setUsedFlexToneSetup(9, false); // One hue
    setKeepPrimary(true, false);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Text theme blends
    setBlendLightTextTheme(false, false);
    setBlendDarkTextTheme(true, false);
    // AppBar settings
    setAppBarStyleLight(FlexAppBarStyle.background, false);
    setAppBarStyleDark(FlexAppBarStyle.background, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorBackgroundAlphaLight(21, false);
    setInputDecoratorBackgroundAlphaDark(43, false);
    setInputDecoratorPrefixIconSchemeColor(SchemeColor.primary, false);
    setInputDecoratorPrefixIconDarkSchemeColor(SchemeColor.primary, false);
    setInputDecoratorBorderRadius(8, false);
    setInputDecoratorUnfocusedHasBorder(false, false);
    // Elevated button
    setElevatedButtonSchemeColor(SchemeColor.onPrimaryContainer, false);
    setElevatedButtonSecondarySchemeColor(SchemeColor.primaryContainer, false);
    // SegmentedButton settings
    setSegmentedButtonSchemeColor(SchemeColor.primary, false);
    // Menus and Popup
    setPopupMenuBorderRadius(6, false);
    setPopupMenuElevation(4, false);
    setMenuRadius(6, false);
    setMenuElevation(4, false);
    setMenuBarRadius(0, false);
    setMenuBarElevation(1, false);
    // Dialogs
    setDialogElevation(3, false);
    setDialogBorderRadius(20, false);
    // Drawer settings
    setDrawerIndicatorSchemeColor(SchemeColor.primary, false);
    // BottomNavigationBar
    setBottomNavBarMuteUnselected(false, false);
    // NavigationBar settings
    setNavBarBackgroundSchemeColor(SchemeColor.background, false);
    setNavBarMuteUnselected(false, false);
    setNavBarSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavBarElevation(0, false);
    // setNavBarUnselectedSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorOpacity(1.0, false);
    // NavigationRail settings
    setNavRailMuteUnselected(false, false);
    setNavRailSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorOpacity(1.0, false);
  }
  // 7) Platform adaptive.
  else if (settingsId == 7) {
    // The default radius to default for standard and 10 for adaptive.
    setDefaultRadius(null, false);
    setDefaultRadiusAdaptive(10, false);
    setAdaptiveRadius(AdaptiveTheme.excludeWebAndroidFuchsia, false);
    // Legacy swap OFF.
    setSwapLegacyColors(false, false);
    // Set blend modes and levels.
    setSurfaceModeLight(FlexSurfaceMode.highBackgroundLowScaffold, false);
    setSurfaceModeDark(FlexSurfaceMode.highBackgroundLowScaffold, false);
    setBlendLevel(1, false);
    setBlendLevelDark(2, false);
    setBlendOnLevel(6, false);
    setBlendOnLevelDark(8, false);
    // Seed generation - Turn it OFF, use all 3 main seeds is set ON.
    setUseKeyColors(false, false);
    setUseSecondary(true, false);
    setUseTertiary(true, false);
    setKeepPrimary(true, false);
    setUsedFlexToneSetup(7, false); // <== Jolly config.
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Elevation tint and shadows, we keep elevation tint in dark mode, it
    // is very useful there. We also add elevation shadows back in dark
    // mode on all platforms, they are barely visible there anyway but
    // may help with contrast a bit.
    setAdaptiveRemoveElevationTintLight(AdaptiveTheme.excludeWebAndroidFuchsia, false);
    setAdaptiveElevationShadowsBackLight(AdaptiveTheme.excludeWebAndroidFuchsia, false);
    setAdaptiveAppBarScrollUnderOffLight(AdaptiveTheme.excludeWebAndroidFuchsia, false);
    setAdaptiveRemoveElevationTintDark(AdaptiveTheme.off, false);
    setAdaptiveElevationShadowsBackDark(AdaptiveTheme.all, false);
    setAdaptiveAppBarScrollUnderOffDark(AdaptiveTheme.excludeWebAndroidFuchsia, false);
    // Text theme blends
    setBlendLightTextTheme(false, false);
    setBlendDarkTextTheme(false, false);
    // AppBar settings
    setAppBarStyleLight(FlexAppBarStyle.background, false);
    setAppBarStyleDark(FlexAppBarStyle.background, false);
    setAppBarElevationLight(0, false);
    setAppBarElevationDark(0, false);
    setAppBarScrolledUnderElevationLight(1, false);
    setAppBarScrolledUnderElevationDark(3, false);
    setBottomAppBarElevationLight(2, false);
    setBottomAppBarElevationDark(2, false);
    // Elevated button
    setElevatedButtonSchemeColor(SchemeColor.onPrimaryContainer, false);
    setElevatedButtonSecondarySchemeColor(SchemeColor.primaryContainer, false);
    // OutlinedButton settings
    setOutlinedButtonOutlineSchemeColor(SchemeColor.primary, false);
    // ToggleButtons settings
    setToggleButtonsBorderSchemeColor(SchemeColor.primary, false);
    // SegmentedButton settings
    setSegmentedButtonSchemeColor(SchemeColor.primary, false);
    setSegmentedButtonBorderSchemeColor(SchemeColor.primary, false);
    // Set toggles colored
    setUnselectedToggleIsColored(true, false);
    // Slider Settings
    setSliderValueTinted(true, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorBackgroundAlphaLight(19, false);
    setInputDecoratorBackgroundAlphaDark(22, false);
    setInputDecoratorPrefixIconSchemeColor(SchemeColor.primary, false);
    setInputDecoratorPrefixIconDarkSchemeColor(SchemeColor.primary, false);
    setInputDecoratorUnfocusedHasBorder(false, false);
    setInputDecoratorFocusedBorderWidth(1.0, false);
    // FAB settings
    setFabUseShape(true, false);
    setFabAlwaysCircular(true, false);
    setFabSchemeColor(SchemeColor.tertiary, false);
    // Menus and Popup
    setPopupMenuBorderRadius(6, false);
    setPopupMenuElevation(3, false);
    setMenuRadius(6, false);
    setMenuElevation(3, false);
    setMenuBarRadius(0, false);
    setMenuBarElevation(1, false);
    setMenuBarShadowColor(Colors.transparent, false);
    // Drawer settings
    setDrawerElevation(1, false);
    setDrawerIndicatorSchemeColor(SchemeColor.primary, false);
    // BottomSheet
    setBottomSheetBorderRadius(18, false);
    setBottomSheetElevation(2, false);
    setBottomSheetModalElevation(4, false);
    // Card
    setCardBorderRadius(14, false);
    // Dialogs
    setDialogBorderRadius(18, false);
    // BottomNavigationBar
    setBottomNavBarMuteUnselected(false, false);
    // NavigationBar settings
    setNavBarElevation(1, false);
    setNavBarMuteUnselected(false, false);
    setNavBarSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorOpacity(1.0, false);
    // NavigationRail settings
    setNavRailElevation(0, false);
    setNavRailMuteUnselected(false, false);
    setNavRailBackgroundSchemeColor(SchemeColor.surface);
    setNavRailSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorOpacity(1.0, false);
  }
  // 8) Colorful Scaffold.
  else if (settingsId == 8) {
    // Legacy swap ON.
    setSwapLegacyColors(true, false);
    // Set blend modes and levels.
    setSurfaceModeLight(FlexSurfaceMode.highScaffoldLowSurface, false);
    setSurfaceModeDark(FlexSurfaceMode.highScaffoldLowSurface, false);
    setBlendLevel(10, false);
    setBlendLevelDark(15, false);
    setBlendLightOnColors(true, false);
    setBlendDarkOnColors(true, false);
    setBlendOnLevel(20, false);
    setBlendOnLevelDark(40, false);
    // Seed generation - Turn it ON, use prim and tertiary light, prim dark.
    setUseKeyColors(true, false);
    setUseSecondary(false, false);
    setUseTertiary(true, false);
    setUsedFlexToneSetup(1, false); // M3 default.
    setKeepPrimary(true, false);
    setKeepTertiary(true, false);
    setKeepDarkPrimary(true, true);
    // Border widths
    setThickBorderWidth(2, false);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Text theme blends: ON light, ON dark
    setBlendLightTextTheme(true, false);
    setBlendDarkTextTheme(true, false);
    // AppBar settings
    setAppBarStyleLight(FlexAppBarStyle.background, false);
    setAppBarStyleDark(FlexAppBarStyle.background, false);
    setAppBarScrolledUnderElevationLight(8, false);
    setBottomAppBarElevationLight(1, false);
    setBottomAppBarElevationDark(2, false);
    // Elevated button
    setElevatedButtonSchemeColor(SchemeColor.onPrimaryContainer, false);
    setElevatedButtonSecondarySchemeColor(SchemeColor.primaryContainer, false);
    // OutlinedButton settings
    setOutlinedButtonOutlineSchemeColor(SchemeColor.primary, false);
    // ToggleButtons settings
    setToggleButtonsBorderSchemeColor(SchemeColor.primary, false);
    // SegmentedButton settings
    setSegmentedButtonSchemeColor(SchemeColor.primary, false);
    setSegmentedButtonBorderSchemeColor(SchemeColor.primary, false);
    // Set Chip
    setChipBorderRadius(10, false);
    // Set toggles colored
    setUnselectedToggleIsColored(true, false);
    // Slider Settings
    setSliderValueTinted(true, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorBackgroundAlphaLight(15, false);
    setInputDecoratorBackgroundAlphaDark(22, false);
    setInputDecoratorPrefixIconSchemeColor(SchemeColor.primary, false);
    setInputDecoratorBorderRadius(10, false);
    // Menus and Popup
    setPopupMenuBorderRadius(6, false);
    setPopupMenuElevation(6, false);
    setMenuRadius(6, false);
    setMenuElevation(6, false);
    setMenuBarRadius(0, false);
    setMenuBarElevation(1, false);
    // Drawer settings
    setDrawerIndicatorSchemeColor(SchemeColor.primary, false);
    setDrawerWidth(280, false);
    // BottomNavigationBar
    setBottomNavBarMuteUnselected(false, false);
    // NavigationBar settings
    setNavBarMuteUnselected(false, false);
    setNavBarSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorSchemeColor(SchemeColor.primary, false);
    setNavBarIndicatorOpacity(1.0, false);
    setNavBarElevation(2, false);
    setNavBarHeight(70, false);
    // NavigationRail settings
    setNavRailMuteUnselected(false, false);
    setNavRailSelectedIconSchemeColor(SchemeColor.onPrimary, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorSchemeColor(SchemeColor.primary, false);
    setNavRailIndicatorOpacity(1.0, false);
  }
  // 9) Computed theme
  else if (settingsId == 9) {
    // Legacy swap
    setSwapLegacyColors(false, false);
    setUsedColors(7, false); // Use primary, secondary and Tertiary
    // Set blend modes and levels.
    setSurfaceModeLight(FlexSurfaceMode.highScaffoldLowSurface, false);
    setSurfaceModeDark(FlexSurfaceMode.highScaffoldLowSurface, false);
    setBlendLevel(4, false);
    setBlendLevelDark(10, false);
    setBlendLightOnColors(false, false);
    setBlendDarkOnColors(true, false);
    setBlendOnLevel(10, false);
    setBlendOnLevelDark(20, false);
    // Set computed dark theme
    setUseToDarkMethod(true, false);
    setToDarkSwapPrimaryAndContainer(false, false);
    setDarkMethodLevel(40, false);
    setUseM3ErrorColors(true, true);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Border widths
    setThickBorderWidth(2, false);
    // Effects: M2 Divider, interaction effects, tinted disable.
    setUseM2StyleDividerInM3(true, false);
    setInteractionEffects(true, false);
    setTintedDisabledControls(true, false);
    // Text theme blends: ON light, ON dark
    setBlendLightTextTheme(true, false);
    setBlendDarkTextTheme(true, false);
    // AppBar settings
    setAppBarStyleLight(FlexAppBarStyle.background, false);
    setAppBarStyleDark(FlexAppBarStyle.background, false);
    setAppBarScrolledUnderElevationLight(8, false);
    setBottomAppBarElevationLight(1, false);
    setBottomAppBarElevationDark(2, false);
    // Elevated button
    setElevatedButtonSchemeColor(SchemeColor.onPrimaryContainer, false);
    setElevatedButtonSecondarySchemeColor(SchemeColor.primaryContainer, false);
    // Set TextField Settings via InputDecorator
    setInputDecoratorBorderRadius(8, false);
    setInputDecoratorSchemeColorLight(SchemeColor.primary, false);
    setInputDecoratorSchemeColorDark(SchemeColor.primary, false);
    setInputDecoratorBackgroundAlphaLight(12, false);
    setInputDecoratorBackgroundAlphaDark(48, false);
    setInputDecoratorPrefixIconSchemeColor(SchemeColor.primary, false);
    setInputDecoratorPrefixIconDarkSchemeColor(SchemeColor.primary, false);
    setInputDecoratorUnfocusedHasBorder(false, false);
    // Drawer settings
    setDrawerWidth(290, false);
    setDrawerElevation(1, false);
    // BottomNavigationBar
    setBottomNavBarMuteUnselected(false, false);
    setBottomNavBarSelectedSchemeColor(SchemeColor.secondary, false);
    // NavigationBar settings
    setNavBarSelectedIconSchemeColor(SchemeColor.onSecondaryContainer, false);
    setNavBarSelectedLabelSchemeColor(SchemeColor.onSecondaryContainer, false);
    setNavBarIndicatorSchemeColor(SchemeColor.secondaryContainer, false);
    setNavBarIndicatorOpacity(1.0, false);
    setNavBarElevation(1, false);
    setNavBarHeight(72, false);
    // NavigationRail settings
    setNavRailSelectedIconSchemeColor(SchemeColor.onSecondaryContainer, false);
    setNavRailSelectedLabelSchemeColor(SchemeColor.onSecondaryContainer, false);
    setNavRailIndicatorSchemeColor(SchemeColor.secondaryContainer, false);
    setNavRailIndicatorOpacity(1.0, false);
  }
  // All settings have been modified, now notify listeners.
  notifyListeners();
}