Move backup settings to separate widget
This commit is contained in:
parent
cc0d66132c
commit
154b8dd7a0
|
@ -3,7 +3,6 @@ import 'dart:io';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:photos/core/configuration.dart';
|
||||
import 'package:photos/services/billing_service.dart';
|
||||
import 'package:photos/ui/backup_folder_selection_widget.dart';
|
||||
import 'package:photos/ui/loading_widget.dart';
|
||||
import 'package:photos/ui/settings/settings_section_title.dart';
|
||||
import 'package:photos/ui/settings/settings_text_item.dart';
|
||||
|
@ -57,55 +56,6 @@ class AccountSectionWidgetState extends State<AccountSectionWidget> {
|
|||
Platform.isIOS
|
||||
? Padding(padding: EdgeInsets.all(2))
|
||||
: Padding(padding: EdgeInsets.all(4)),
|
||||
GestureDetector(
|
||||
behavior: HitTestBehavior.translucent,
|
||||
onTap: () async {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return AlertDialog(
|
||||
content: const BackupFolderSelectionWidget("backup"),
|
||||
backgroundColor: Color.fromRGBO(8, 18, 18, 1),
|
||||
insetPadding: const EdgeInsets.all(24),
|
||||
contentPadding: const EdgeInsets.all(24),
|
||||
);
|
||||
},
|
||||
barrierColor: Colors.black.withOpacity(0.85),
|
||||
);
|
||||
},
|
||||
child: SettingsTextItem(
|
||||
text: "backed up folders", icon: Icons.navigate_next),
|
||||
),
|
||||
Platform.isIOS
|
||||
? Padding(padding: EdgeInsets.all(2))
|
||||
: Padding(padding: EdgeInsets.all(2)),
|
||||
Divider(height: 4),
|
||||
Platform.isIOS
|
||||
? Padding(padding: EdgeInsets.all(2))
|
||||
: Padding(padding: EdgeInsets.all(4)),
|
||||
Container(
|
||||
height: 36,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text("backup over mobile data"),
|
||||
Switch(
|
||||
value: Configuration.instance.shouldBackupOverMobileData(),
|
||||
onChanged: (value) async {
|
||||
Configuration.instance.setBackupOverMobileData(value);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Platform.isIOS
|
||||
? Padding(padding: EdgeInsets.all(2))
|
||||
: Padding(padding: EdgeInsets.all(4)),
|
||||
Divider(height: 4),
|
||||
Platform.isIOS
|
||||
? Padding(padding: EdgeInsets.all(6))
|
||||
: Padding(padding: EdgeInsets.all(8)),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
|
|
72
lib/ui/settings/backup_section_widget.dart
Normal file
72
lib/ui/settings/backup_section_widget.dart
Normal file
|
@ -0,0 +1,72 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:photos/core/configuration.dart';
|
||||
import 'package:photos/ui/backup_folder_selection_widget.dart';
|
||||
import 'package:photos/ui/settings/settings_section_title.dart';
|
||||
import 'package:photos/ui/settings/settings_text_item.dart';
|
||||
|
||||
class BackupSectionWidget extends StatefulWidget {
|
||||
BackupSectionWidget({Key key}) : super(key: key);
|
||||
|
||||
@override
|
||||
BackupSectionWidgetState createState() => BackupSectionWidgetState();
|
||||
}
|
||||
|
||||
class BackupSectionWidgetState extends State<BackupSectionWidget> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
child: Column(
|
||||
children: [
|
||||
SettingsSectionTitle("backup"),
|
||||
Padding(
|
||||
padding: EdgeInsets.all(4),
|
||||
),
|
||||
GestureDetector(
|
||||
behavior: HitTestBehavior.translucent,
|
||||
onTap: () async {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return AlertDialog(
|
||||
content: const BackupFolderSelectionWidget("backup"),
|
||||
backgroundColor: Color.fromRGBO(8, 18, 18, 1),
|
||||
insetPadding: const EdgeInsets.all(24),
|
||||
contentPadding: const EdgeInsets.all(24),
|
||||
);
|
||||
},
|
||||
barrierColor: Colors.black.withOpacity(0.85),
|
||||
);
|
||||
},
|
||||
child: SettingsTextItem(
|
||||
text: "backed up folders", icon: Icons.navigate_next),
|
||||
),
|
||||
Platform.isIOS
|
||||
? Padding(padding: EdgeInsets.all(2))
|
||||
: Padding(padding: EdgeInsets.all(2)),
|
||||
Divider(height: 4),
|
||||
Platform.isIOS
|
||||
? Padding(padding: EdgeInsets.all(2))
|
||||
: Padding(padding: EdgeInsets.all(4)),
|
||||
Container(
|
||||
height: 36,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text("backup over mobile data"),
|
||||
Switch(
|
||||
value: Configuration.instance.shouldBackupOverMobileData(),
|
||||
onChanged: (value) async {
|
||||
Configuration.instance.setBackupOverMobileData(value);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import 'package:photos/ui/settings/account_section_widget.dart';
|
||||
import 'package:photos/ui/settings/backup_section_widget.dart';
|
||||
import 'package:photos/ui/settings/debug_section_widget.dart';
|
||||
import 'package:photos/ui/settings/info_section_widget.dart';
|
||||
import 'package:photos/ui/settings/security_section_widget.dart';
|
||||
|
@ -28,6 +28,8 @@ class SettingsPage extends StatelessWidget {
|
|||
final List<Widget> contents = [];
|
||||
if (hasLoggedIn) {
|
||||
contents.addAll([
|
||||
BackupSectionWidget(),
|
||||
Padding(padding: EdgeInsets.all(12)),
|
||||
AccountSectionWidget(),
|
||||
Padding(padding: EdgeInsets.all(12)),
|
||||
]);
|
||||
|
|
Loading…
Reference in a new issue