useDarkMode function

DarkModeResult useDarkMode({
  1. String storageKey = _darkModeStorageKey,
})

Create a reactive dark mode controller with persistence.

Automatically persists preference to localStorage and respects system preferences when set to 'system'.

Also automatically toggles the 'dark' class on the document element.

Implementation

DarkModeResult useDarkMode({String storageKey = _darkModeStorageKey}) {
  final existing = _darkModeControllers[storageKey];
  if (existing != null) {
    return existing;
  }

  final controller = _createDarkModeController(storageKey);
  _darkModeControllers[storageKey] = controller;
  return controller;
}