123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- import 'dart:io';
- import 'package:flutter/material.dart';
- import 'package:photos/core/configuration.dart';
- import "package:photos/generated/l10n.dart";
- import 'package:photos/theme/ente_theme.dart';
- import 'package:photos/ui/components/buttons/icon_button_widget.dart';
- import 'package:photos/ui/components/captioned_text_widget.dart';
- import 'package:photos/ui/components/divider_widget.dart';
- import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
- import 'package:photos/ui/components/menu_section_description_widget.dart';
- import 'package:photos/ui/components/title_bar_title_widget.dart';
- import 'package:photos/ui/components/title_bar_widget.dart';
- import 'package:photos/ui/components/toggle_switch_widget.dart';
- class BackupSettingsScreen extends StatelessWidget {
- const BackupSettingsScreen({super.key});
- @override
- Widget build(BuildContext context) {
- final colorScheme = getEnteColorScheme(context);
- return Scaffold(
- body: CustomScrollView(
- primary: false,
- slivers: <Widget>[
- TitleBarWidget(
- flexibleSpaceTitle: TitleBarTitleWidget(
- title: S.of(context).backupSettings,
- ),
- actionIcons: [
- IconButtonWidget(
- icon: Icons.close_outlined,
- iconButtonType: IconButtonType.secondary,
- onTap: () {
- Navigator.pop(context);
- Navigator.pop(context);
- },
- ),
- ],
- ),
- SliverList(
- delegate: SliverChildBuilderDelegate(
- (context, index) {
- return Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16),
- child: Padding(
- padding: const EdgeInsets.symmetric(vertical: 20),
- child: Column(
- mainAxisSize: MainAxisSize.min,
- children: [
- Column(
- children: [
- MenuItemWidget(
- captionedTextWidget: CaptionedTextWidget(
- title: S.of(context).backupOverMobileData,
- ),
- menuItemColor: colorScheme.fillFaint,
- trailingWidget: ToggleSwitchWidget(
- value: () => Configuration.instance
- .shouldBackupOverMobileData(),
- onChanged: () async {
- await Configuration.instance
- .setBackupOverMobileData(
- !Configuration.instance
- .shouldBackupOverMobileData(),
- );
- },
- ),
- singleBorderRadius: 8,
- alignCaptionedTextToLeft: true,
- isBottomBorderRadiusRemoved: true,
- isGestureDetectorDisabled: true,
- ),
- DividerWidget(
- dividerType: DividerType.menuNoIcon,
- bgColor: colorScheme.fillFaint,
- ),
- MenuItemWidget(
- captionedTextWidget: CaptionedTextWidget(
- title: S.of(context).backupVideos,
- ),
- menuItemColor: colorScheme.fillFaint,
- trailingWidget: ToggleSwitchWidget(
- value: () =>
- Configuration.instance.shouldBackupVideos(),
- onChanged: () => Configuration.instance
- .setShouldBackupVideos(
- !Configuration.instance.shouldBackupVideos(),
- ),
- ),
- singleBorderRadius: 8,
- alignCaptionedTextToLeft: true,
- isTopBorderRadiusRemoved: true,
- isGestureDetectorDisabled: true,
- ),
- ],
- ),
- const SizedBox(height: 24),
- Platform.isIOS
- ? Column(
- children: [
- MenuItemWidget(
- captionedTextWidget: CaptionedTextWidget(
- title: S.of(context).disableAutoLock,
- ),
- menuItemColor: colorScheme.fillFaint,
- trailingWidget: ToggleSwitchWidget(
- value: () => Configuration.instance
- .shouldKeepDeviceAwake(),
- onChanged: () {
- return Configuration.instance
- .setShouldKeepDeviceAwake(
- !Configuration.instance
- .shouldKeepDeviceAwake(),
- );
- },
- ),
- singleBorderRadius: 8,
- alignCaptionedTextToLeft: true,
- isGestureDetectorDisabled: true,
- ),
- MenuSectionDescriptionWidget(
- content:
- S.of(context).deviceLockExplanation,
- )
- ],
- )
- : const SizedBox.shrink(),
- ],
- ),
- ),
- );
- },
- childCount: 1,
- ),
- ),
- ],
- ),
- );
- }
- }
|