Make the sign up button more obvious
This commit is contained in:
parent
dbd3e55f44
commit
f4001de35a
4 changed files with 112 additions and 46 deletions
|
@ -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),
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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()));
|
||||
|
|
92
lib/ui/sign_in_header_widget.dart
Normal file
92
lib/ui/sign_in_header_widget.dart
Normal 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,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue