common.dart 775 B

123456789101112131415161718192021222324
  1. import 'package:flutter/material.dart';
  2. import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
  3. SwitchListTile buildSwitchListTile(
  4. BuildContext context,
  5. AppSettingsService appSettingService,
  6. ValueNotifier<bool> valueNotifier,
  7. AppSettingsEnum settingsEnum, {
  8. required String title,
  9. String? subtitle,
  10. }) {
  11. return SwitchListTile.adaptive(
  12. key: Key(settingsEnum.name),
  13. value: valueNotifier.value,
  14. onChanged: (value) {
  15. valueNotifier.value = value;
  16. appSettingService.setSetting(settingsEnum, value);
  17. },
  18. activeColor: Theme.of(context).primaryColor,
  19. dense: true,
  20. title: Text(title, style: const TextStyle(fontWeight: FontWeight.bold)),
  21. subtitle: subtitle != null ? Text(subtitle) : null,
  22. );
  23. }