Skip to content

Commit f53dab3

Browse files
authored
Merge pull request #1 from mobiplus-opensource/feature/initial_auth_screen
Feature/initial auth screen
2 parents 90f57aa + c4d60e1 commit f53dab3

File tree

5 files changed

+111
-168
lines changed

5 files changed

+111
-168
lines changed

lib/assets/images/mobiplus_logo.png

27.7 KB
Loading

lib/main.dart

Lines changed: 4 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,17 @@
11
import 'package:flutter/material.dart';
2+
import 'package:mobiplus_authentication/screens/home.screen.dart';
23

34
void main() {
45
runApp(const MyApp());
56
}
67

78
class MyApp extends StatelessWidget {
89
const MyApp({Key? key}) : super(key: key);
9-
10-
// This widget is the root of your application.
10+
1111
@override
1212
Widget build(BuildContext context) {
1313
return MaterialApp(
14-
title: 'Flutter Demo',
15-
theme: ThemeData(
16-
// This is the theme of your application.
17-
//
18-
// Try running your application with "flutter run". You'll see the
19-
// application has a blue toolbar. Then, without quitting the app, try
20-
// changing the primarySwatch below to Colors.green and then invoke
21-
// "hot reload" (press "r" in the console where you ran "flutter run",
22-
// or simply save your changes to "hot reload" in a Flutter IDE).
23-
// Notice that the counter didn't reset back to zero; the application
24-
// is not restarted.
25-
primarySwatch: Colors.blue,
26-
),
27-
home: const MyHomePage(title: 'Flutter Demo Home Page'),
28-
);
29-
}
30-
}
31-
32-
class MyHomePage extends StatefulWidget {
33-
const MyHomePage({Key? key, required this.title}) : super(key: key);
34-
35-
// This widget is the home page of your application. It is stateful, meaning
36-
// that it has a State object (defined below) that contains fields that affect
37-
// how it looks.
38-
39-
// This class is the configuration for the state. It holds the values (in this
40-
// case the title) provided by the parent (in this case the App widget) and
41-
// used by the build method of the State. Fields in a Widget subclass are
42-
// always marked "final".
43-
44-
final String title;
45-
46-
@override
47-
State<MyHomePage> createState() => _MyHomePageState();
48-
}
49-
50-
class _MyHomePageState extends State<MyHomePage> {
51-
int _counter = 0;
52-
53-
void _incrementCounter() {
54-
setState(() {
55-
// This call to setState tells the Flutter framework that something has
56-
// changed in this State, which causes it to rerun the build method below
57-
// so that the display can reflect the updated values. If we changed
58-
// _counter without calling setState(), then the build method would not be
59-
// called again, and so nothing would appear to happen.
60-
_counter++;
61-
});
62-
}
63-
64-
@override
65-
Widget build(BuildContext context) {
66-
// This method is rerun every time setState is called, for instance as done
67-
// by the _incrementCounter method above.
68-
//
69-
// The Flutter framework has been optimized to make rerunning build methods
70-
// fast, so that you can just rebuild anything that needs updating rather
71-
// than having to individually change instances of widgets.
72-
return Scaffold(
73-
appBar: AppBar(
74-
// Here we take the value from the MyHomePage object that was created by
75-
// the App.build method, and use it to set our appbar title.
76-
title: Text(widget.title),
77-
),
78-
body: Center(
79-
// Center is a layout widget. It takes a single child and positions it
80-
// in the middle of the parent.
81-
child: Column(
82-
// Column is also a layout widget. It takes a list of children and
83-
// arranges them vertically. By default, it sizes itself to fit its
84-
// children horizontally, and tries to be as tall as its parent.
85-
//
86-
// Invoke "debug painting" (press "p" in the console, choose the
87-
// "Toggle Debug Paint" action from the Flutter Inspector in Android
88-
// Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
89-
// to see the wireframe for each widget.
90-
//
91-
// Column has various properties to control how it sizes itself and
92-
// how it positions its children. Here we use mainAxisAlignment to
93-
// center the children vertically; the main axis here is the vertical
94-
// axis because Columns are vertical (the cross axis would be
95-
// horizontal).
96-
mainAxisAlignment: MainAxisAlignment.center,
97-
children: <Widget>[
98-
const Text(
99-
'You have pushed the button this many times:',
100-
),
101-
Text(
102-
'$_counter',
103-
style: Theme.of(context).textTheme.headline4,
104-
),
105-
],
106-
),
107-
),
108-
floatingActionButton: FloatingActionButton(
109-
onPressed: _incrementCounter,
110-
tooltip: 'Increment',
111-
child: const Icon(Icons.add),
112-
), // This trailing comma makes auto-formatting nicer for build methods.
14+
home: const HomeScreen(),
11315
);
11416
}
115-
}
17+
}

lib/screens/home.screen.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:mobiplus_authentication/screens/login.screen.dart';
3+
4+
class HomeScreen extends StatelessWidget {
5+
const HomeScreen({Key? key}) : super(key: key);
6+
7+
@override
8+
Widget build(BuildContext context) {
9+
return MaterialApp(
10+
home: Builder(builder: (context) {
11+
return LoginScreen();
12+
}),
13+
);
14+
}
15+
}

lib/screens/login.screen.dart

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import 'package:flutter/cupertino.dart';
2+
import 'package:flutter/material.dart';
3+
4+
class LoginScreen extends StatefulWidget {
5+
@override
6+
State<LoginScreen> createState() {
7+
return LoginScreenStates();
8+
}
9+
}
10+
11+
class LoginScreenStates extends State<LoginScreen> {
12+
@override
13+
Widget build(BuildContext context) {
14+
return MaterialApp(
15+
home: Scaffold(
16+
backgroundColor: Colors.black,
17+
body: LayoutBuilder(builder: (_, constraints) {
18+
return Container(
19+
margin: EdgeInsets.only(top: 50),
20+
child: Column(
21+
children: [
22+
Flexible(
23+
flex: 2,
24+
child: Container(
25+
padding: EdgeInsets.only(top: 20),
26+
alignment: Alignment.center,
27+
child: Expanded(
28+
child: Image(
29+
image:
30+
AssetImage('lib/assets/images/mobiplus_logo.png'),
31+
),
32+
)),
33+
),
34+
Flexible(
35+
flex: 2,
36+
child: Column(
37+
children: [
38+
Container(
39+
width: constraints.maxWidth - 120,
40+
padding: EdgeInsets.only(bottom: 10),
41+
child: ElevatedButtonTheme(
42+
data: ElevatedButtonThemeData(
43+
style: ButtonStyle(
44+
shape: MaterialStateProperty.all<
45+
RoundedRectangleBorder>(
46+
RoundedRectangleBorder(
47+
borderRadius:
48+
BorderRadius.circular(30.0))),
49+
backgroundColor:
50+
MaterialStateProperty.all<Color>(
51+
Color(0xffFF5D00)))),
52+
child: ElevatedButton(
53+
onPressed: () async {},
54+
child: Text('Continuar com Google'),
55+
),
56+
),
57+
),
58+
Container(
59+
width: constraints.maxWidth - 120,
60+
padding: EdgeInsets.only(bottom: 10),
61+
child: ElevatedButtonTheme(
62+
data: ElevatedButtonThemeData(
63+
style: ButtonStyle(
64+
shape: MaterialStateProperty.all<
65+
RoundedRectangleBorder>(
66+
RoundedRectangleBorder(
67+
borderRadius:
68+
BorderRadius.circular(30.0))),
69+
backgroundColor:
70+
MaterialStateProperty.all<Color>(
71+
Color(0xff808080)))),
72+
child: ElevatedButton(
73+
onPressed: () async {},
74+
child: Text('Continuar com Apple'),
75+
),
76+
),
77+
),
78+
],
79+
),
80+
),
81+
],
82+
),
83+
);
84+
}),
85+
),
86+
);
87+
}
88+
}

pubspec.yaml

Lines changed: 4 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,27 @@
11
name: mobiplus_authentication
22
description: A new Flutter project.
3+
publish_to: 'none'
34

4-
# The following line prevents the package from being accidentally published to
5-
# pub.dev using `flutter pub publish`. This is preferred for private packages.
6-
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
7-
8-
# The following defines the version and build number for your application.
9-
# A version number is three numbers separated by dots, like 1.2.43
10-
# followed by an optional build number separated by a +.
11-
# Both the version and the builder number may be overridden in flutter
12-
# build by specifying --build-name and --build-number, respectively.
13-
# In Android, build-name is used as versionName while build-number used as versionCode.
14-
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
15-
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
16-
# Read more about iOS versioning at
17-
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
18-
version: 1.0.0+1
5+
version: 0.1.0+1
196

207
environment:
218
sdk: ">=2.15.1 <3.0.0"
229

23-
# Dependencies specify other packages that your package needs in order to work.
24-
# To automatically upgrade your package dependencies to the latest versions
25-
# consider running `flutter pub upgrade --major-versions`. Alternatively,
26-
# dependencies can be manually updated by changing the version numbers below to
27-
# the latest version available on pub.dev. To see which dependencies have newer
28-
# versions available, run `flutter pub outdated`.
2910
dependencies:
3011
flutter:
3112
sdk: flutter
3213

33-
34-
# The following adds the Cupertino Icons font to your application.
35-
# Use with the CupertinoIcons class for iOS style icons.
3614
cupertino_icons: ^1.0.2
3715

3816
dev_dependencies:
3917
flutter_test:
4018
sdk: flutter
4119

42-
# The "flutter_lints" package below contains a set of recommended lints to
43-
# encourage good coding practices. The lint set provided by the package is
44-
# activated in the `analysis_options.yaml` file located at the root of your
45-
# package. See that file for information about deactivating specific lint
46-
# rules and activating additional ones.
4720
flutter_lints: ^1.0.0
4821

49-
# For information on the generic Dart part of this file, see the
50-
# following page: https://dart.dev/tools/pub/pubspec
51-
52-
# The following section is specific to Flutter.
5322
flutter:
5423

55-
# The following line ensures that the Material Icons font is
56-
# included with your application, so that you can use the icons in
57-
# the material Icons class.
5824
uses-material-design: true
5925

60-
# To add assets to your application, add an assets section, like this:
61-
# assets:
62-
# - images/a_dot_burr.jpeg
63-
# - images/a_dot_ham.jpeg
64-
65-
# An image asset can refer to one or more resolution-specific "variants", see
66-
# https://flutter.dev/assets-and-images/#resolution-aware.
67-
68-
# For details regarding adding assets from package dependencies, see
69-
# https://flutter.dev/assets-and-images/#from-packages
70-
71-
# To add custom fonts to your application, add a fonts section here,
72-
# in this "flutter" section. Each entry in this list should have a
73-
# "family" key with the font family name, and a "fonts" key with a
74-
# list giving the asset and other descriptors for the font. For
75-
# example:
76-
# fonts:
77-
# - family: Schyler
78-
# fonts:
79-
# - asset: fonts/Schyler-Regular.ttf
80-
# - asset: fonts/Schyler-Italic.ttf
81-
# style: italic
82-
# - family: Trajan Pro
83-
# fonts:
84-
# - asset: fonts/TrajanPro.ttf
85-
# - asset: fonts/TrajanPro_Bold.ttf
86-
# weight: 700
87-
#
88-
# For details regarding fonts from package dependencies,
89-
# see https://flutter.dev/custom-fonts/#from-packages
26+
assets:
27+
- lib/assets/images/mobiplus_logo.png

0 commit comments

Comments
 (0)