🗑️ Remove some settings
This commit is contained in:
		@@ -1,13 +1,13 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
	<dict>
 | 
			
		||||
<dict>
 | 
			
		||||
	<key>CADisableMinimumFrameDurationOnPhone</key>
 | 
			
		||||
	<true/>
 | 
			
		||||
	<key>CFBundleDevelopmentRegion</key>
 | 
			
		||||
	<string>$(DEVELOPMENT_LANGUAGE)</string>
 | 
			
		||||
	<key>CFBundleDisplayName</key>
 | 
			
		||||
		<string>Island</string>
 | 
			
		||||
	<string>Solian</string>
 | 
			
		||||
	<key>CFBundleExecutable</key>
 | 
			
		||||
	<string>$(EXECUTABLE_NAME)</string>
 | 
			
		||||
	<key>CFBundleIdentifier</key>
 | 
			
		||||
@@ -15,7 +15,7 @@
 | 
			
		||||
	<key>CFBundleInfoDictionaryVersion</key>
 | 
			
		||||
	<string>6.0</string>
 | 
			
		||||
	<key>CFBundleName</key>
 | 
			
		||||
		<string>island</string>
 | 
			
		||||
	<string>solian</string>
 | 
			
		||||
	<key>CFBundlePackageType</key>
 | 
			
		||||
	<string>APPL</string>
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
@@ -63,5 +63,5 @@
 | 
			
		||||
	<string>Grant access to Photo Library will allow Solian upload photo or video for your post.</string>
 | 
			
		||||
	<key>UIStatusBarHidden</key>
 | 
			
		||||
	<false/>
 | 
			
		||||
	</dict>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
 
 | 
			
		||||
@@ -53,10 +53,7 @@ final serverUrlProvider = Provider<String>((ref) {
 | 
			
		||||
@freezed
 | 
			
		||||
abstract class AppSettings with _$AppSettings {
 | 
			
		||||
  const factory AppSettings({
 | 
			
		||||
    required bool realmCompactView,
 | 
			
		||||
    required bool mixedFeed,
 | 
			
		||||
    required bool autoTranslate,
 | 
			
		||||
    required bool hideBottomNav,
 | 
			
		||||
    required bool soundEffects,
 | 
			
		||||
    required bool aprilFoolFeatures,
 | 
			
		||||
    required bool enterToSend,
 | 
			
		||||
@@ -69,36 +66,18 @@ class AppSettingsNotifier extends StateNotifier<AppSettings> {
 | 
			
		||||
  AppSettingsNotifier(this.prefs)
 | 
			
		||||
    : super(
 | 
			
		||||
        AppSettings(
 | 
			
		||||
          realmCompactView: prefs.getBool(kAppRealmCompactView) ?? false,
 | 
			
		||||
          mixedFeed: prefs.getBool(kAppMixedFeed) ?? true,
 | 
			
		||||
          autoTranslate: prefs.getBool(kAppAutoTranslate) ?? false,
 | 
			
		||||
          hideBottomNav: prefs.getBool(kAppHideBottomNav) ?? false,
 | 
			
		||||
          soundEffects: prefs.getBool(kAppSoundEffects) ?? true,
 | 
			
		||||
          aprilFoolFeatures: prefs.getBool(kAppAprilFoolFeatures) ?? true,
 | 
			
		||||
          enterToSend: prefs.getBool(kAppEnterToSend) ?? true,
 | 
			
		||||
        ),
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
  void setRealmCompactView(bool value) {
 | 
			
		||||
    prefs.setBool(kAppRealmCompactView, value);
 | 
			
		||||
    state = state.copyWith(realmCompactView: value);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void setMixedFeed(bool value) {
 | 
			
		||||
    prefs.setBool(kAppMixedFeed, value);
 | 
			
		||||
    state = state.copyWith(mixedFeed: value);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void setAutoTranslate(bool value) {
 | 
			
		||||
    prefs.setBool(kAppAutoTranslate, value);
 | 
			
		||||
    state = state.copyWith(autoTranslate: value);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void setHideBottomNav(bool value) {
 | 
			
		||||
    prefs.setBool(kAppHideBottomNav, value);
 | 
			
		||||
    state = state.copyWith(hideBottomNav: value);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void setSoundEffects(bool value) {
 | 
			
		||||
    prefs.setBool(kAppSoundEffects, value);
 | 
			
		||||
    state = state.copyWith(soundEffects: value);
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ T _$identity<T>(T value) => value;
 | 
			
		||||
/// @nodoc
 | 
			
		||||
mixin _$AppSettings {
 | 
			
		||||
 | 
			
		||||
 bool get realmCompactView; bool get mixedFeed; bool get autoTranslate; bool get hideBottomNav; bool get soundEffects; bool get aprilFoolFeatures; bool get enterToSend;
 | 
			
		||||
 bool get autoTranslate; bool get soundEffects; bool get aprilFoolFeatures; bool get enterToSend;
 | 
			
		||||
/// Create a copy of AppSettings
 | 
			
		||||
/// with the given fields replaced by the non-null parameter values.
 | 
			
		||||
@JsonKey(includeFromJson: false, includeToJson: false)
 | 
			
		||||
@@ -26,16 +26,16 @@ $AppSettingsCopyWith<AppSettings> get copyWith => _$AppSettingsCopyWithImpl<AppS
 | 
			
		||||
 | 
			
		||||
@override
 | 
			
		||||
bool operator ==(Object other) {
 | 
			
		||||
  return identical(this, other) || (other.runtimeType == runtimeType&&other is AppSettings&&(identical(other.realmCompactView, realmCompactView) || other.realmCompactView == realmCompactView)&&(identical(other.mixedFeed, mixedFeed) || other.mixedFeed == mixedFeed)&&(identical(other.autoTranslate, autoTranslate) || other.autoTranslate == autoTranslate)&&(identical(other.hideBottomNav, hideBottomNav) || other.hideBottomNav == hideBottomNav)&&(identical(other.soundEffects, soundEffects) || other.soundEffects == soundEffects)&&(identical(other.aprilFoolFeatures, aprilFoolFeatures) || other.aprilFoolFeatures == aprilFoolFeatures)&&(identical(other.enterToSend, enterToSend) || other.enterToSend == enterToSend));
 | 
			
		||||
  return identical(this, other) || (other.runtimeType == runtimeType&&other is AppSettings&&(identical(other.autoTranslate, autoTranslate) || other.autoTranslate == autoTranslate)&&(identical(other.soundEffects, soundEffects) || other.soundEffects == soundEffects)&&(identical(other.aprilFoolFeatures, aprilFoolFeatures) || other.aprilFoolFeatures == aprilFoolFeatures)&&(identical(other.enterToSend, enterToSend) || other.enterToSend == enterToSend));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@override
 | 
			
		||||
int get hashCode => Object.hash(runtimeType,realmCompactView,mixedFeed,autoTranslate,hideBottomNav,soundEffects,aprilFoolFeatures,enterToSend);
 | 
			
		||||
int get hashCode => Object.hash(runtimeType,autoTranslate,soundEffects,aprilFoolFeatures,enterToSend);
 | 
			
		||||
 | 
			
		||||
@override
 | 
			
		||||
String toString() {
 | 
			
		||||
  return 'AppSettings(realmCompactView: $realmCompactView, mixedFeed: $mixedFeed, autoTranslate: $autoTranslate, hideBottomNav: $hideBottomNav, soundEffects: $soundEffects, aprilFoolFeatures: $aprilFoolFeatures, enterToSend: $enterToSend)';
 | 
			
		||||
  return 'AppSettings(autoTranslate: $autoTranslate, soundEffects: $soundEffects, aprilFoolFeatures: $aprilFoolFeatures, enterToSend: $enterToSend)';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -46,7 +46,7 @@ abstract mixin class $AppSettingsCopyWith<$Res>  {
 | 
			
		||||
  factory $AppSettingsCopyWith(AppSettings value, $Res Function(AppSettings) _then) = _$AppSettingsCopyWithImpl;
 | 
			
		||||
@useResult
 | 
			
		||||
$Res call({
 | 
			
		||||
 bool realmCompactView, bool mixedFeed, bool autoTranslate, bool hideBottomNav, bool soundEffects, bool aprilFoolFeatures, bool enterToSend
 | 
			
		||||
 bool autoTranslate, bool soundEffects, bool aprilFoolFeatures, bool enterToSend
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -63,12 +63,9 @@ class _$AppSettingsCopyWithImpl<$Res>
 | 
			
		||||
 | 
			
		||||
/// Create a copy of AppSettings
 | 
			
		||||
/// with the given fields replaced by the non-null parameter values.
 | 
			
		||||
@pragma('vm:prefer-inline') @override $Res call({Object? realmCompactView = null,Object? mixedFeed = null,Object? autoTranslate = null,Object? hideBottomNav = null,Object? soundEffects = null,Object? aprilFoolFeatures = null,Object? enterToSend = null,}) {
 | 
			
		||||
@pragma('vm:prefer-inline') @override $Res call({Object? autoTranslate = null,Object? soundEffects = null,Object? aprilFoolFeatures = null,Object? enterToSend = null,}) {
 | 
			
		||||
  return _then(_self.copyWith(
 | 
			
		||||
realmCompactView: null == realmCompactView ? _self.realmCompactView : realmCompactView // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,mixedFeed: null == mixedFeed ? _self.mixedFeed : mixedFeed // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,autoTranslate: null == autoTranslate ? _self.autoTranslate : autoTranslate // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,hideBottomNav: null == hideBottomNav ? _self.hideBottomNav : hideBottomNav // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
autoTranslate: null == autoTranslate ? _self.autoTranslate : autoTranslate // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,soundEffects: null == soundEffects ? _self.soundEffects : soundEffects // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,aprilFoolFeatures: null == aprilFoolFeatures ? _self.aprilFoolFeatures : aprilFoolFeatures // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,enterToSend: null == enterToSend ? _self.enterToSend : enterToSend // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
@@ -83,13 +80,10 @@ as bool,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class _AppSettings implements AppSettings {
 | 
			
		||||
  const _AppSettings({required this.realmCompactView, required this.mixedFeed, required this.autoTranslate, required this.hideBottomNav, required this.soundEffects, required this.aprilFoolFeatures, required this.enterToSend});
 | 
			
		||||
  const _AppSettings({required this.autoTranslate, required this.soundEffects, required this.aprilFoolFeatures, required this.enterToSend});
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
@override final  bool realmCompactView;
 | 
			
		||||
@override final  bool mixedFeed;
 | 
			
		||||
@override final  bool autoTranslate;
 | 
			
		||||
@override final  bool hideBottomNav;
 | 
			
		||||
@override final  bool soundEffects;
 | 
			
		||||
@override final  bool aprilFoolFeatures;
 | 
			
		||||
@override final  bool enterToSend;
 | 
			
		||||
@@ -104,16 +98,16 @@ _$AppSettingsCopyWith<_AppSettings> get copyWith => __$AppSettingsCopyWithImpl<_
 | 
			
		||||
 | 
			
		||||
@override
 | 
			
		||||
bool operator ==(Object other) {
 | 
			
		||||
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _AppSettings&&(identical(other.realmCompactView, realmCompactView) || other.realmCompactView == realmCompactView)&&(identical(other.mixedFeed, mixedFeed) || other.mixedFeed == mixedFeed)&&(identical(other.autoTranslate, autoTranslate) || other.autoTranslate == autoTranslate)&&(identical(other.hideBottomNav, hideBottomNav) || other.hideBottomNav == hideBottomNav)&&(identical(other.soundEffects, soundEffects) || other.soundEffects == soundEffects)&&(identical(other.aprilFoolFeatures, aprilFoolFeatures) || other.aprilFoolFeatures == aprilFoolFeatures)&&(identical(other.enterToSend, enterToSend) || other.enterToSend == enterToSend));
 | 
			
		||||
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _AppSettings&&(identical(other.autoTranslate, autoTranslate) || other.autoTranslate == autoTranslate)&&(identical(other.soundEffects, soundEffects) || other.soundEffects == soundEffects)&&(identical(other.aprilFoolFeatures, aprilFoolFeatures) || other.aprilFoolFeatures == aprilFoolFeatures)&&(identical(other.enterToSend, enterToSend) || other.enterToSend == enterToSend));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@override
 | 
			
		||||
int get hashCode => Object.hash(runtimeType,realmCompactView,mixedFeed,autoTranslate,hideBottomNav,soundEffects,aprilFoolFeatures,enterToSend);
 | 
			
		||||
int get hashCode => Object.hash(runtimeType,autoTranslate,soundEffects,aprilFoolFeatures,enterToSend);
 | 
			
		||||
 | 
			
		||||
@override
 | 
			
		||||
String toString() {
 | 
			
		||||
  return 'AppSettings(realmCompactView: $realmCompactView, mixedFeed: $mixedFeed, autoTranslate: $autoTranslate, hideBottomNav: $hideBottomNav, soundEffects: $soundEffects, aprilFoolFeatures: $aprilFoolFeatures, enterToSend: $enterToSend)';
 | 
			
		||||
  return 'AppSettings(autoTranslate: $autoTranslate, soundEffects: $soundEffects, aprilFoolFeatures: $aprilFoolFeatures, enterToSend: $enterToSend)';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -124,7 +118,7 @@ abstract mixin class _$AppSettingsCopyWith<$Res> implements $AppSettingsCopyWith
 | 
			
		||||
  factory _$AppSettingsCopyWith(_AppSettings value, $Res Function(_AppSettings) _then) = __$AppSettingsCopyWithImpl;
 | 
			
		||||
@override @useResult
 | 
			
		||||
$Res call({
 | 
			
		||||
 bool realmCompactView, bool mixedFeed, bool autoTranslate, bool hideBottomNav, bool soundEffects, bool aprilFoolFeatures, bool enterToSend
 | 
			
		||||
 bool autoTranslate, bool soundEffects, bool aprilFoolFeatures, bool enterToSend
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -141,12 +135,9 @@ class __$AppSettingsCopyWithImpl<$Res>
 | 
			
		||||
 | 
			
		||||
/// Create a copy of AppSettings
 | 
			
		||||
/// with the given fields replaced by the non-null parameter values.
 | 
			
		||||
@override @pragma('vm:prefer-inline') $Res call({Object? realmCompactView = null,Object? mixedFeed = null,Object? autoTranslate = null,Object? hideBottomNav = null,Object? soundEffects = null,Object? aprilFoolFeatures = null,Object? enterToSend = null,}) {
 | 
			
		||||
@override @pragma('vm:prefer-inline') $Res call({Object? autoTranslate = null,Object? soundEffects = null,Object? aprilFoolFeatures = null,Object? enterToSend = null,}) {
 | 
			
		||||
  return _then(_AppSettings(
 | 
			
		||||
realmCompactView: null == realmCompactView ? _self.realmCompactView : realmCompactView // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,mixedFeed: null == mixedFeed ? _self.mixedFeed : mixedFeed // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,autoTranslate: null == autoTranslate ? _self.autoTranslate : autoTranslate // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,hideBottomNav: null == hideBottomNav ? _self.hideBottomNav : hideBottomNav // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
autoTranslate: null == autoTranslate ? _self.autoTranslate : autoTranslate // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,soundEffects: null == soundEffects ? _self.soundEffects : soundEffects // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,aprilFoolFeatures: null == aprilFoolFeatures ? _self.aprilFoolFeatures : aprilFoolFeatures // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
as bool,enterToSend: null == enterToSend ? _self.enterToSend : enterToSend // ignore: cast_nullable_to_non_nullable
 | 
			
		||||
 
 | 
			
		||||
@@ -241,9 +241,30 @@ class ChatListScreen extends HookConsumerWidget {
 | 
			
		||||
        bottom: TabBar(
 | 
			
		||||
          controller: tabController,
 | 
			
		||||
          tabs: [
 | 
			
		||||
            Tab(text: 'chatTabAll'.tr()),
 | 
			
		||||
            Tab(text: 'chatTabDirect'.tr()),
 | 
			
		||||
            Tab(text: 'chatTabGroup'.tr()),
 | 
			
		||||
            Tab(
 | 
			
		||||
              child: Text(
 | 
			
		||||
                'chatTabAll'.tr(),
 | 
			
		||||
                style: TextStyle(
 | 
			
		||||
                  color: Theme.of(context).appBarTheme.foregroundColor!,
 | 
			
		||||
                ),
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
            Tab(
 | 
			
		||||
              child: Text(
 | 
			
		||||
                'chatTabDirect'.tr(),
 | 
			
		||||
                style: TextStyle(
 | 
			
		||||
                  color: Theme.of(context).appBarTheme.foregroundColor!,
 | 
			
		||||
                ),
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
            Tab(
 | 
			
		||||
              child: Text(
 | 
			
		||||
                'chatTabGroup'.tr(),
 | 
			
		||||
                style: TextStyle(
 | 
			
		||||
                  color: Theme.of(context).appBarTheme.foregroundColor!,
 | 
			
		||||
                ),
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
          ],
 | 
			
		||||
        ),
 | 
			
		||||
        actions: [
 | 
			
		||||
@@ -310,7 +331,19 @@ class ChatListScreen extends HookConsumerWidget {
 | 
			
		||||
        },
 | 
			
		||||
        child: const Icon(Symbols.add),
 | 
			
		||||
      ),
 | 
			
		||||
      body: chats.when(
 | 
			
		||||
      body: Column(
 | 
			
		||||
        children: [
 | 
			
		||||
          Consumer(
 | 
			
		||||
            builder: (context, ref, _) {
 | 
			
		||||
              final summaryState = ref.watch(chatSummaryProvider);
 | 
			
		||||
              return summaryState.maybeWhen(
 | 
			
		||||
                loading: () => const LinearProgressIndicator(),
 | 
			
		||||
                orElse: () => const SizedBox.shrink(),
 | 
			
		||||
              );
 | 
			
		||||
            },
 | 
			
		||||
          ),
 | 
			
		||||
          Expanded(
 | 
			
		||||
            child: chats.when(
 | 
			
		||||
              data:
 | 
			
		||||
                  (items) => RefreshIndicator(
 | 
			
		||||
                    onRefresh:
 | 
			
		||||
@@ -324,7 +357,8 @@ class ChatListScreen extends HookConsumerWidget {
 | 
			
		||||
                              .where(
 | 
			
		||||
                                (item) =>
 | 
			
		||||
                                    selectedTab.value == 0 ||
 | 
			
		||||
                              (selectedTab.value == 1 && item.type == 1) ||
 | 
			
		||||
                                    (selectedTab.value == 1 &&
 | 
			
		||||
                                        item.type == 1) ||
 | 
			
		||||
                                    (selectedTab.value == 2 && item.type != 1),
 | 
			
		||||
                              )
 | 
			
		||||
                              .length,
 | 
			
		||||
@@ -334,8 +368,10 @@ class ChatListScreen extends HookConsumerWidget {
 | 
			
		||||
                                .where(
 | 
			
		||||
                                  (item) =>
 | 
			
		||||
                                      selectedTab.value == 0 ||
 | 
			
		||||
                                (selectedTab.value == 1 && item.type == 1) ||
 | 
			
		||||
                                (selectedTab.value == 2 && item.type != 1),
 | 
			
		||||
                                      (selectedTab.value == 1 &&
 | 
			
		||||
                                          item.type == 1) ||
 | 
			
		||||
                                      (selectedTab.value == 2 &&
 | 
			
		||||
                                          item.type != 1),
 | 
			
		||||
                                )
 | 
			
		||||
                                .toList();
 | 
			
		||||
                        final item = filteredItems[index];
 | 
			
		||||
@@ -343,8 +379,11 @@ class ChatListScreen extends HookConsumerWidget {
 | 
			
		||||
                          room: item,
 | 
			
		||||
                          isDirect: item.type == 1,
 | 
			
		||||
                          onTap: () {
 | 
			
		||||
                      if (context.router.topRoute.name == ChatRoomRoute.name) {
 | 
			
		||||
                        context.router.replace(ChatRoomRoute(id: item.id));
 | 
			
		||||
                            if (context.router.topRoute.name ==
 | 
			
		||||
                                ChatRoomRoute.name) {
 | 
			
		||||
                              context.router.replace(
 | 
			
		||||
                                ChatRoomRoute(id: item.id),
 | 
			
		||||
                              );
 | 
			
		||||
                            } else {
 | 
			
		||||
                              context.router.push(ChatRoomRoute(id: item.id));
 | 
			
		||||
                            }
 | 
			
		||||
@@ -362,6 +401,9 @@ class ChatListScreen extends HookConsumerWidget {
 | 
			
		||||
                    },
 | 
			
		||||
                  ),
 | 
			
		||||
            ),
 | 
			
		||||
          ),
 | 
			
		||||
        ],
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -176,32 +176,6 @@ class SettingsScreen extends HookConsumerWidget {
 | 
			
		||||
                },
 | 
			
		||||
              ),
 | 
			
		||||
            const Divider(),
 | 
			
		||||
            ListTile(
 | 
			
		||||
              minLeadingWidth: 48,
 | 
			
		||||
              title: Text('settingsRealmCompactView').tr(),
 | 
			
		||||
              contentPadding: const EdgeInsets.only(left: 24, right: 17),
 | 
			
		||||
              leading: const Icon(Symbols.view_compact),
 | 
			
		||||
              trailing: Switch(
 | 
			
		||||
                value: settings.realmCompactView,
 | 
			
		||||
                onChanged: (value) {
 | 
			
		||||
                  ref
 | 
			
		||||
                      .read(appSettingsProvider.notifier)
 | 
			
		||||
                      .setRealmCompactView(value);
 | 
			
		||||
                },
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
            ListTile(
 | 
			
		||||
              minLeadingWidth: 48,
 | 
			
		||||
              title: Text('settingsMixedFeed').tr(),
 | 
			
		||||
              contentPadding: const EdgeInsets.only(left: 24, right: 17),
 | 
			
		||||
              leading: const Icon(Symbols.merge),
 | 
			
		||||
              trailing: Switch(
 | 
			
		||||
                value: settings.mixedFeed,
 | 
			
		||||
                onChanged: (value) {
 | 
			
		||||
                  ref.read(appSettingsProvider.notifier).setMixedFeed(value);
 | 
			
		||||
                },
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
            ListTile(
 | 
			
		||||
              minLeadingWidth: 48,
 | 
			
		||||
              title: Text('settingsAutoTranslate').tr(),
 | 
			
		||||
@@ -216,20 +190,6 @@ class SettingsScreen extends HookConsumerWidget {
 | 
			
		||||
                },
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
            ListTile(
 | 
			
		||||
              minLeadingWidth: 48,
 | 
			
		||||
              title: Text('settingsHideBottomNav').tr(),
 | 
			
		||||
              contentPadding: const EdgeInsets.only(left: 24, right: 17),
 | 
			
		||||
              leading: const Icon(Symbols.navigation),
 | 
			
		||||
              trailing: Switch(
 | 
			
		||||
                value: settings.hideBottomNav,
 | 
			
		||||
                onChanged: (value) {
 | 
			
		||||
                  ref
 | 
			
		||||
                      .read(appSettingsProvider.notifier)
 | 
			
		||||
                      .setHideBottomNav(value);
 | 
			
		||||
                },
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
            ListTile(
 | 
			
		||||
              minLeadingWidth: 48,
 | 
			
		||||
              title: Text('settingsSoundEffects').tr(),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user