diff --git a/assets/images/arrow_dropdown_icon.png b/assets/images/arrow_dropdown_icon.png new file mode 100644 index 00000000..98a94f64 Binary files /dev/null and b/assets/images/arrow_dropdown_icon.png differ diff --git a/assets/images/close_icon.png b/assets/images/close_icon.png new file mode 100644 index 00000000..84df5ff3 Binary files /dev/null and b/assets/images/close_icon.png differ diff --git a/assets/images/hospital_icon.png b/assets/images/hospital_icon.png new file mode 100644 index 00000000..07efa724 Binary files /dev/null and b/assets/images/hospital_icon.png differ diff --git a/assets/images/img.init b/assets/images/img.init deleted file mode 100644 index e69de29b..00000000 diff --git a/assets/images/login_btn_arrow_icon.png b/assets/images/login_btn_arrow_icon.png new file mode 100644 index 00000000..4fc877e2 Binary files /dev/null and b/assets/images/login_btn_arrow_icon.png differ diff --git a/assets/images/login_icon.png b/assets/images/login_icon.png new file mode 100644 index 00000000..bc158303 Binary files /dev/null and b/assets/images/login_icon.png differ diff --git a/assets/images/password_icon.png b/assets/images/password_icon.png new file mode 100644 index 00000000..94c82cb3 Binary files /dev/null and b/assets/images/password_icon.png differ diff --git a/assets/images/user_id_icon.png b/assets/images/user_id_icon.png new file mode 100644 index 00000000..283beb2f Binary files /dev/null and b/assets/images/user_id_icon.png differ diff --git a/assets/images/verification_faceid_icon.png b/assets/images/verification_faceid_icon.png new file mode 100644 index 00000000..408930e2 Binary files /dev/null and b/assets/images/verification_faceid_icon.png differ diff --git a/assets/images/verification_faceid_lg_icon.png b/assets/images/verification_faceid_lg_icon.png new file mode 100644 index 00000000..dc206911 Binary files /dev/null and b/assets/images/verification_faceid_lg_icon.png differ diff --git a/assets/images/verification_fingerprint_icon.png b/assets/images/verification_fingerprint_icon.png new file mode 100644 index 00000000..32174f4c Binary files /dev/null and b/assets/images/verification_fingerprint_icon.png differ diff --git a/assets/images/verification_fingerprint_lg_icon.png b/assets/images/verification_fingerprint_lg_icon.png new file mode 100644 index 00000000..559c0671 Binary files /dev/null and b/assets/images/verification_fingerprint_lg_icon.png differ diff --git a/assets/images/verification_sms_icon.png b/assets/images/verification_sms_icon.png new file mode 100644 index 00000000..96b4810b Binary files /dev/null and b/assets/images/verification_sms_icon.png differ diff --git a/assets/images/verification_sms_lg_icon.png b/assets/images/verification_sms_lg_icon.png new file mode 100644 index 00000000..9c316230 Binary files /dev/null and b/assets/images/verification_sms_lg_icon.png differ diff --git a/assets/images/verification_whatsapp_icon.png b/assets/images/verification_whatsapp_icon.png new file mode 100644 index 00000000..5f6034e5 Binary files /dev/null and b/assets/images/verification_whatsapp_icon.png differ diff --git a/assets/images/verification_whatsapp_lg_icon.png b/assets/images/verification_whatsapp_lg_icon.png new file mode 100644 index 00000000..115a2e6d Binary files /dev/null and b/assets/images/verification_whatsapp_lg_icon.png differ diff --git a/assets/images/verified_icon.png b/assets/images/verified_icon.png new file mode 100644 index 00000000..28b5ab3d Binary files /dev/null and b/assets/images/verified_icon.png differ diff --git a/assets/images/welcome_login_icon.png b/assets/images/welcome_login_icon.png new file mode 100644 index 00000000..811b13c2 Binary files /dev/null and b/assets/images/welcome_login_icon.png differ diff --git a/lib/main.dart b/lib/main.dart index 5a7af455..153956d4 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,6 @@ +import './screens/auth/login_screen.dart'; import 'package:flutter/material.dart'; +import 'package:hexcolor/hexcolor.dart'; void main() => runApp(MyApp()); @@ -9,103 +11,10 @@ class MyApp extends StatelessWidget { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, - ), - home: MyHomePage(title: 'Flutter Demo Home Page'), - ); - } -} - -class MyHomePage extends StatefulWidget { - MyHomePage({Key key, this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - _MyHomePageState createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also a layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.display1, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. + primarySwatch: Colors.blue, + primaryColor: Hexcolor('#B8382C'), + buttonColor:Hexcolor('#B8382C')), + home: Loginsreen(), ); } } diff --git a/lib/screens/auth/login_screen.dart b/lib/screens/auth/login_screen.dart new file mode 100644 index 00000000..34c2935a --- /dev/null +++ b/lib/screens/auth/login_screen.dart @@ -0,0 +1,171 @@ +import 'package:flutter/material.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class Loginsreen extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + body: SingleChildScrollView( + child: Container( + margin: EdgeInsetsDirectional.fromSTEB(30, 0, 0, 0), + alignment: Alignment.topLeft, + child: + Column(crossAxisAlignment: CrossAxisAlignment.start, children: < + Widget>[ + Column( + children: [ + Container( + margin: EdgeInsetsDirectional.fromSTEB(0, 50, 0, 0), + child: Image.asset( + 'assets/images/login_icon.png', + fit: BoxFit.cover, + ), + ), + SizedBox( + height: 10, + ), + Text( + "LOGIN", + style: TextStyle(fontSize: 30, fontWeight: FontWeight.w800), + ) + ], + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + height: 10, + ), + Text( + "Welcome to", + style: TextStyle(fontSize: 24), + ), + Text( + 'Dr Sulaiman Al Habib', + style: TextStyle( + fontSize: 24, color: Theme.of(context).primaryColor), + ), + Text( + "Doctor App", + style: TextStyle( + fontSize: 26, color: Theme.of(context).primaryColor), + ) + ], + ), + Container( + width: 320, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + height: 20, + ), + TextFormField( + decoration: InputDecoration( + prefixIcon: Image.asset('assets/images/user_id_icon.png'), + hintText: 'Enter ID', + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(20)), + borderSide: BorderSide(color: Hexcolor('#CCCCCC')), + ), + focusedBorder: OutlineInputBorder( + borderRadius: + BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide(color:Theme.of(context).primaryColor), + ) + //BorderRadius.all(Radius.circular(20)); + ), + validator: (value) { + if (value.isEmpty) { + return 'Please enter some text'; + } + return null; + }, + ), + SizedBox( + height: 20, + ), + TextFormField( + decoration: InputDecoration( + prefixIcon: Image.asset('assets/images/password_icon.png'), + hintText: 'Enter Password', + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(20)), + borderSide: BorderSide(color: Hexcolor('#CCCCCC')), + ), + focusedBorder: OutlineInputBorder( + borderRadius: + BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide(color:Theme.of(context).primaryColor), + ) + //BorderRadius.all(Radius.circular(20)); + ), + validator: (value) { + if (value.isEmpty) { + return 'Please enter some text'; + } + return null; + }, + ), + SizedBox( + height: 20, + ), + TextFormField( + decoration: InputDecoration( + prefixIcon: Image.asset('assets/images/hospital_icon.png'), + hintText: 'Select Project', + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(20)), + borderSide: BorderSide(color: Hexcolor('#CCCCCC')), + ), + focusedBorder: OutlineInputBorder( + borderRadius: + BorderRadius.all(Radius.circular(10.0)), + borderSide: BorderSide(color:Theme.of(context).primaryColor), + ) + //BorderRadius.all(Radius.circular(20)); + ), + validator: (value) { + if (value.isEmpty) { + return 'Please enter some text'; + } + return null; + }, + ), + SizedBox( + height: 20, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text("Remember me", style: TextStyle(fontSize: 16)), + RaisedButton( + onPressed: () {}, + textColor: Colors.white, + padding: const EdgeInsets.all(0.0), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + side: BorderSide(color: Hexcolor('#CCCCCC'))), + child: Container( + decoration: const BoxDecoration( + borderRadius: + BorderRadius.all(Radius.circular(10)), + ), + padding: const EdgeInsets.all(10.0), + height: 42, + width: 134, + child: const Text('LOG IN', + style: TextStyle(fontSize: 20)), + ), + ) + ], + ), + ], + ), + ), + ])), + ), + ); + } +} diff --git a/pubspec.lock b/pubspec.lock index fcf67635..947e42fa 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -74,6 +74,13 @@ packages: description: flutter source: sdk version: "0.0.0" + hexcolor: + dependency: "direct main" + description: + name: hexcolor + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" image: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 9bb3f0da..a6a6a5f8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,6 +19,7 @@ environment: dependencies: flutter: sdk: flutter + hexcolor: ^1.0.1 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. @@ -41,8 +42,11 @@ flutter: uses-material-design: true # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg + assets: + - assets/images/login_icon.png + - assets/images/hospital_icon.png + - assets/images/password_icon.png + - assets/images/user_id_icon.png # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see