Make the sign up button more obvious

This commit is contained in:
Vishnu Mohandas 2020-11-10 20:25:28 +05:30
parent dbd3e55f44
commit f4001de35a
4 changed files with 112 additions and 46 deletions

View file

@ -3,9 +3,19 @@ import 'package:flutter/widgets.dart';
final nothingToSeeHere = Center(child: Text("Nothing to see here! 👀"));
RaisedButton button(String text, {VoidCallback onPressed}) {
RaisedButton button(
String text, {
double fontSize = 14,
VoidCallback onPressed,
}) {
return RaisedButton(
child: Text(text),
child: Text(
text,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: fontSize,
),
),
onPressed: onPressed,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),

View file

@ -4,15 +4,10 @@ import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:page_transition/page_transition.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/event_bus.dart';
import 'package:photos/events/user_authenticated_event.dart';
import 'package:photos/models/collection.dart';
import 'package:photos/models/selected_files.dart';
import 'package:photos/services/collections_service.dart';
import 'package:photos/ui/create_collection_page.dart';
import 'package:photos/ui/email_entry_page.dart';
import 'package:photos/ui/passphrase_entry_page.dart';
import 'package:photos/ui/passphrase_reentry_page.dart';
import 'package:photos/ui/settings_page.dart';
import 'package:photos/ui/share_collection_widget.dart';
import 'package:photos/utils/dialog_util.dart';
@ -53,26 +48,14 @@ class GalleryAppBarWidget extends StatefulWidget
class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
final _logger = Logger("GalleryAppBar");
StreamSubscription _userAuthEventSubscription;
@override
void initState() {
widget.selectedFiles.addListener(() {
setState(() {});
});
_userAuthEventSubscription =
Bus.instance.on<UserAuthenticatedEvent>().listen((event) {
setState(() {});
});
super.initState();
}
@override
void dispose() {
_userAuthEventSubscription.cancel();
super.dispose();
}
@override
Widget build(BuildContext context) {
if (widget.selectedFiles.files.isEmpty) {
@ -119,32 +102,6 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
},
));
}
} else {
actions.add(IconButton(
icon: Icon(Icons.sync_disabled),
onPressed: () {
var page;
if (Configuration.instance.getToken() == null) {
page = EmailEntryPage();
} else {
// No key
if (Configuration.instance.getKeyAttributes() != null) {
// Yet to set or decrypt the key
page = PassphraseReentryPage();
} else {
// Never had a key
page = PassphraseEntryPage();
}
}
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return page;
},
),
);
},
));
}
return actions;
}

View file

@ -23,6 +23,7 @@ import 'package:photos/ui/memories_widget.dart';
import 'package:photos/services/user_service.dart';
import 'package:photos/ui/shared_collections_gallery.dart';
import 'package:logging/logging.dart';
import 'package:photos/ui/sign_in_header_widget.dart';
import 'package:uni_links/uni_links.dart';
class HomeWidget extends StatefulWidget {
@ -41,6 +42,7 @@ class _HomeWidgetState extends State<HomeWidget> {
final _sharedCollectionGallery = SharedCollectionGallery();
final _selectedFiles = SelectedFiles();
final _memoriesWidget = MemoriesWidget();
final _signInHeader = SignInHeader();
final PageController _pageController = PageController();
GlobalKey<ConvexAppBarState> _appBarKey = GlobalKey<ConvexAppBarState>();
@ -150,7 +152,12 @@ class _HomeWidgetState extends State<HomeWidget> {
onRefresh: SyncService.instance.sync,
tagPrefix: "home_gallery",
selectedFiles: _selectedFiles,
headerWidget: _memoriesWidget,
headerWidget: Column(
children: [
_signInHeader,
_memoriesWidget,
],
),
);
} else if (snapshot.hasError) {
return Center(child: Text(snapshot.error.toString()));

View file

@ -0,0 +1,92 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/event_bus.dart';
import 'package:photos/events/user_authenticated_event.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/ui/email_entry_page.dart';
import 'package:photos/ui/passphrase_entry_page.dart';
import 'package:photos/ui/passphrase_reentry_page.dart';
class SignInHeader extends StatefulWidget {
const SignInHeader({Key key}) : super(key: key);
@override
_SignInHeaderState createState() => _SignInHeaderState();
}
class _SignInHeaderState extends State<SignInHeader> {
StreamSubscription _userAuthEventSubscription;
@override
void initState() {
_userAuthEventSubscription =
Bus.instance.on<UserAuthenticatedEvent>().listen((event) {
setState(() {});
});
super.initState();
}
@override
void dispose() {
_userAuthEventSubscription.cancel();
super.dispose();
}
@override
Widget build(BuildContext context) {
if (Configuration.instance.hasConfiguredAccount()) {
return Container();
}
return Container(
padding: EdgeInsets.all(8),
child: Column(
children: [
Text(
"Preserve Your Memories",
style: TextStyle(
fontSize: 16,
),
),
Container(
width: double.infinity,
height: 64,
padding: EdgeInsets.all(8),
child: button(
"Sign In",
fontSize: 18,
onPressed: () {
var page;
if (Configuration.instance.getToken() == null) {
page = EmailEntryPage();
} else {
// No key
if (Configuration.instance.getKeyAttributes() != null) {
// Yet to set or decrypt the key
page = PassphraseReentryPage();
} else {
// Never had a key
page = PassphraseEntryPage();
}
}
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return page;
},
),
);
},
),
),
Padding(padding: EdgeInsets.all(4)),
Divider(
height: 2,
),
],
),
);
}
}