Update "Free up space" screen

This commit is contained in:
vishnukvmd 2022-06-09 15:17:34 +05:30
parent d84ee01193
commit 591bceaf7b

View file

@ -2,7 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:intl/intl.dart';
import 'package:logging/logging.dart';
import 'package:photos/ente_theme_data.dart';
import 'package:photos/models/backup_status.dart';
import 'package:photos/ui/common/gradientButton.dart';
import 'package:photos/utils/data_util.dart';
import 'package:photos/utils/delete_file_util.dart';
@ -42,97 +44,117 @@ class _FreeSpacePageState extends State<FreeSpacePage> {
fontSize: 14,
height: 1.3,
color: Theme.of(context).colorScheme.onSurface.withOpacity(0.8),
fontWeight: FontWeight.w500,
);
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
"assets/backed_up_gallery.png",
height: 160,
),
Padding(padding: EdgeInsets.all(24)),
Padding(
padding: const EdgeInsets.only(left: 36, right: 40),
child: Row(
children: [
Icon(
Icons.cloud_done_outlined,
color: Color.fromRGBO(45, 194, 98, 1.0),
),
Padding(padding: EdgeInsets.all(10)),
Expanded(
child: Text(
count == 1
? formattedCount.toString() +
" file on this device has been backed up safely"
: formattedCount.toString() +
" files on this device have been backed up safely",
style: informationTextStyle,
),
),
],
final isLightMode =
MediaQuery.of(context).platformBrightness == Brightness.light;
return Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Stack(
alignment: Alignment.center,
children: [
isLightMode
? Image.asset(
'assets/loading_photos_light.png',
color: Colors.white.withOpacity(0.4),
colorBlendMode: BlendMode.modulate,
)
: Image.asset('assets/loading_photos_dark.png'),
Image.asset(
"assets/backed_up_gallery.png",
height: 160,
),
),
Padding(padding: EdgeInsets.all(12)),
Padding(
padding: const EdgeInsets.only(left: 36, right: 40),
child: Row(
children: [
Icon(
Icons.delete_outline,
color: Color.fromRGBO(45, 194, 98, 1.0),
],
),
Padding(
padding: const EdgeInsets.only(left: 36, right: 40),
child: Row(
children: [
Icon(
Icons.cloud_done_outlined,
color: Color.fromRGBO(45, 194, 98, 1.0),
),
Padding(padding: EdgeInsets.all(10)),
Expanded(
child: Text(
count == 1
? formattedCount.toString() +
" file on this device has been backed up safely"
: formattedCount.toString() +
" files on this device have been backed up safely",
style: informationTextStyle,
),
Padding(padding: EdgeInsets.all(10)),
Expanded(
child: Text(
(count == 1 ? "It" : "They") +
" can be deleted from this device to free up " +
formatBytes(status.size),
style: informationTextStyle,
),
),
],
),
),
],
),
Padding(padding: EdgeInsets.all(12)),
Padding(
padding: const EdgeInsets.only(left: 36, right: 40),
child: Row(
children: [
Icon(
Icons.devices,
color: Color.fromRGBO(45, 194, 98, 1.0),
),
Padding(padding: EdgeInsets.all(12)),
Padding(
padding: const EdgeInsets.only(left: 36, right: 40),
child: Row(
children: [
Icon(
Icons.delete_outline,
color: Color.fromRGBO(45, 194, 98, 1.0),
),
Padding(padding: EdgeInsets.all(10)),
Expanded(
child: Text(
(count == 1 ? "It" : "They") +
" can be deleted from this device to free up " +
formatBytes(status.size),
style: informationTextStyle,
),
Padding(padding: EdgeInsets.all(10)),
Expanded(
child: Text(
"You can still access " +
(count == 1 ? "it" : "them") +
" on ente as long as you have an active subscription",
style: informationTextStyle,
),
),
],
),
),
Padding(padding: EdgeInsets.all(12)),
Padding(
padding: const EdgeInsets.only(left: 36, right: 40),
child: Row(
children: [
Icon(
Icons.devices,
color: Color.fromRGBO(45, 194, 98, 1.0),
),
Padding(padding: EdgeInsets.all(10)),
Expanded(
child: Text(
"You can still access " +
(count == 1 ? "it" : "them") +
" on ente as long as you have an active subscription",
style: informationTextStyle,
),
],
),
),
],
),
Padding(padding: EdgeInsets.all(32)),
Container(
width: double.infinity,
constraints: BoxConstraints(
minHeight: 64,
),
padding: const EdgeInsets.fromLTRB(60, 0, 60, 0),
child: ElevatedButton(
child: Text("Free up " + formatBytes(status.size)),
onPressed: () async {
await _freeStorage(status);
},
),
),
Padding(padding: EdgeInsets.all(24)),
Container(
width: double.infinity,
constraints: BoxConstraints(
minHeight: 64,
),
],
),
padding: const EdgeInsets.fromLTRB(60, 0, 60, 0),
child: GradientButton(
child: Text(
"Free up " + formatBytes(status.size),
style: gradientButtonTextTheme(),
),
linearGradientColors: const [
Color(0xFF2CD267),
Color(0xFF1DB954),
],
onTap: () async {
await _freeStorage(status);
},
),
),
Padding(padding: EdgeInsets.all(24)),
],
);
}