mirror of
https://github.com/revanced/revanced-manager.git
synced 2025-06-12 12:47:37 +02:00
feat: Add a toggle for alternative sources (#1686)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
This commit is contained in:
@ -2,8 +2,6 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:revanced_manager/gen/strings.g.dart';
|
||||
import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_manage_api_url.dart';
|
||||
import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_manage_sources.dart';
|
||||
import 'package:revanced_manager/ui/widgets/settingsView/settings_auto_update_patches.dart';
|
||||
import 'package:revanced_manager/ui/widgets/settingsView/settings_enable_patches_selection.dart';
|
||||
import 'package:revanced_manager/ui/widgets/settingsView/settings_require_suggested_app_version.dart';
|
||||
@ -26,8 +24,6 @@ class SAdvancedSection extends StatelessWidget {
|
||||
SRequireSuggestedAppVersion(),
|
||||
SVersionCompatibilityCheck(),
|
||||
SUniversalPatches(),
|
||||
SManageSourcesUI(),
|
||||
SManageApiUrlUI(),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
22
lib/ui/widgets/settingsView/settings_data_section.dart
Normal file
22
lib/ui/widgets/settingsView/settings_data_section.dart
Normal file
@ -0,0 +1,22 @@
|
||||
// ignore_for_file: prefer_const_constructors
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:revanced_manager/gen/strings.g.dart';
|
||||
import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_manage_api_url.dart';
|
||||
import 'package:revanced_manager/ui/widgets/settingsView/settings_section.dart';
|
||||
import 'package:revanced_manager/ui/widgets/settingsView/settings_use_alternative_sources.dart';
|
||||
|
||||
class SDataSection extends StatelessWidget {
|
||||
const SDataSection({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SettingsSection(
|
||||
title: t.settingsView.dataSectionTitle,
|
||||
children: const <Widget>[
|
||||
SManageApiUrlUI(),
|
||||
SUseAlternativeSources(),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:revanced_manager/gen/strings.g.dart';
|
||||
import 'package:revanced_manager/ui/views/settings/settingsFragment/settings_manage_sources.dart';
|
||||
import 'package:revanced_manager/ui/views/settings/settings_viewmodel.dart';
|
||||
import 'package:revanced_manager/ui/widgets/shared/haptics/haptic_switch_list_tile.dart';
|
||||
|
||||
class SUseAlternativeSources extends StatefulWidget {
|
||||
const SUseAlternativeSources({super.key});
|
||||
|
||||
@override
|
||||
State<SUseAlternativeSources> createState() => _SUseAlternativeSourcesState();
|
||||
}
|
||||
|
||||
final _settingsViewModel = SettingsViewModel();
|
||||
|
||||
class _SUseAlternativeSourcesState extends State<SUseAlternativeSources> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
HapticSwitchListTile(
|
||||
contentPadding: const EdgeInsets.symmetric(horizontal: 20.0),
|
||||
title: Text(
|
||||
t.settingsView.useAlternativeSources,
|
||||
style: const TextStyle(
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
subtitle: Text(t.settingsView.useAlternativeSourcesHint),
|
||||
value: _settingsViewModel.isUsingAlternativeSources(),
|
||||
onChanged: (value) {
|
||||
_settingsViewModel.useAlternativeSources(value);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
if (_settingsViewModel.isUsingAlternativeSources())
|
||||
const SManageSourcesUI(),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user