1+ import 'package:flutter/material.dart' ;
2+ import 'package:login_page_day_23/animation/FadeAnimation.dart' ;
3+ 4+ class SignupPage extends StatelessWidget {
5+ @override
6+ Widget build (BuildContext context) {
7+ return Scaffold (
8+ resizeToAvoidBottomInset: true ,
9+ backgroundColor: Colors .white,
10+ appBar: AppBar (
11+ elevation: 0 ,
12+ brightness: Brightness .light,
13+ backgroundColor: Colors .white,
14+ leading: IconButton (
15+ onPressed: () {
16+ Navigator .pop (context);
17+ },
18+ icon: Icon (Icons .arrow_back_ios, size: 20 , color: Colors .black,),
19+ ),
20+ ),
21+ body: SingleChildScrollView (
22+ child: Container (
23+ padding: EdgeInsets .symmetric (horizontal: 40 ),
24+ height: MediaQuery .of (context).size.height - 50 ,
25+ width: double .infinity,
26+ child: Column (
27+ mainAxisAlignment: MainAxisAlignment .spaceEvenly,
28+ children: < Widget > [
29+ Column (
30+ children: < Widget > [
31+ FadeAnimation (1 , Text ("Sign up" , style: TextStyle (
32+ fontSize: 30 ,
33+ fontWeight: FontWeight .bold
34+ ),)),
35+ SizedBox (height: 20 ,),
36+ FadeAnimation (1.2 , Text ("Create an account, It's free" , style: TextStyle (
37+ fontSize: 15 ,
38+ color: Colors .grey[700 ]
39+ ),)),
40+ ],
41+ ),
42+ Column (
43+ children: < Widget > [
44+ FadeAnimation (1.2 , makeInput (label: "Email" )),
45+ FadeAnimation (1.3 , makeInput (label: "Password" , obscureText: true )),
46+ FadeAnimation (1.4 , makeInput (label: "Confirm Password" , obscureText: true )),
47+ ],
48+ ),
49+ FadeAnimation (1.5 , Container (
50+ padding: EdgeInsets .only (top: 3 , left: 3 ),
51+ decoration: BoxDecoration (
52+ borderRadius: BorderRadius .circular (50 ),
53+ border: Border (
54+ bottom: BorderSide (color: Colors .black),
55+ top: BorderSide (color: Colors .black),
56+ left: BorderSide (color: Colors .black),
57+ right: BorderSide (color: Colors .black),
58+ )
59+ ),
60+ child: MaterialButton (
61+ minWidth: double .infinity,
62+ height: 60 ,
63+ onPressed: () {},
64+ color: Colors .greenAccent,
65+ elevation: 0 ,
66+ shape: RoundedRectangleBorder (
67+ borderRadius: BorderRadius .circular (50 )
68+ ),
69+ child: Text ("Sign up" , style: TextStyle (
70+ fontWeight: FontWeight .w600,
71+ fontSize: 18
72+ ),),
73+ ),
74+ )),
75+ FadeAnimation (1.6 , Row (
76+ mainAxisAlignment: MainAxisAlignment .center,
77+ children: < Widget > [
78+ Text ("Already have an account?" ),
79+ Text (" Login" , style: TextStyle (
80+ fontWeight: FontWeight .w600, fontSize: 18
81+ ),),
82+ ],
83+ )),
84+ ],
85+ ),
86+ ),
87+ ),
88+ );
89+ }
90+ 91+ Widget makeInput ({label, obscureText = false }) {
92+ return Column (
93+ crossAxisAlignment: CrossAxisAlignment .start,
94+ children: < Widget > [
95+ Text (label, style: TextStyle (
96+ fontSize: 15 ,
97+ fontWeight: FontWeight .w400,
98+ color: Colors .black87
99+ ),),
100+ SizedBox (height: 5 ,),
101+ TextField (
102+ obscureText: obscureText,
103+ decoration: InputDecoration (
104+ contentPadding: EdgeInsets .symmetric (vertical: 0 , horizontal: 10 ),
105+ enabledBorder: OutlineInputBorder (
106+ borderSide: BorderSide (color: Colors .grey[400 ])
107+ ),
108+ border: OutlineInputBorder (
109+ borderSide: BorderSide (color: Colors .grey[400 ])
110+ ),
111+ ),
112+ ),
113+ SizedBox (height: 30 ,),
114+ ],
115+ );
116+ }
117+ }
0 commit comments