start minimal

This commit is contained in:
Mohamed Nouffer
2023-06-02 10:50:56 +05:30
parent 08332d45d4
commit a358f65853
54 changed files with 467 additions and 1327 deletions

View File

@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import 'package:rogapp/theme/pallete.dart';
class AuthTextField extends StatelessWidget {
final TextEditingController controller;
final String hinttext;
final bool isObsque;
const AuthTextField({super.key, required this.controller, required this.hinttext, this.isObsque = false});
@override
Widget build(BuildContext context) {
return TextFormField(
controller: controller,
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(5),
borderSide: const BorderSide(
color: Pallete.BLUE_COLOR,
width: 2
)
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(5),
borderSide: const BorderSide(
color: Pallete.BROWN_COLOR,
)
),
contentPadding: const EdgeInsets.all(22),
hintText: hinttext,
hintStyle: const TextStyle(
fontSize: 18,
)
),
);
}
}

View File

@ -0,0 +1,30 @@
import 'package:rogapp/theme/theme.dart';
import 'package:flutter/material.dart';
class RoundedSmallButton extends StatelessWidget {
final VoidCallback onTap;
final String label;
final Color backgroundColor;
final Color textColor;
const RoundedSmallButton({
super.key,
required this.onTap,
required this.label,
this.backgroundColor = Pallete.WHITE_COLOR,
this.textColor = Pallete.BACKGROUND_COLOR,
});
@override
Widget build(BuildContext context) {
return InkWell(
onTap: onTap,
child: Chip(
label: Text(label, style: TextStyle(color: textColor, fontSize: 16),),
backgroundColor: backgroundColor,
labelPadding:const EdgeInsets.symmetric(horizontal: 10, vertical: 3),
),
);
}
}

View File

@ -0,0 +1,5 @@
import 'package:get/get.dart';
class LoginController extends GetxController{
}

View File

@ -0,0 +1,67 @@
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:rogapp/common/ui/widgets/uis.dart';
import 'package:rogapp/routes/app_pages.dart';
import 'package:rogapp/screens/auth/common/uis/auth_text_field.dart';
import 'package:rogapp/screens/auth/common/uis/rounded_small_button.dart';
import 'package:rogapp/theme/theme.dart';
class LoginScreen extends StatelessWidget {
final emailController = TextEditingController();
final passwordController = TextEditingController();
LoginScreen({super.key});
void login(){
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: UIs.appBar(),
body: Center(
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Container(
height: MediaQuery.of(context).size.height/6,
decoration: const BoxDecoration(
image:DecorationImage(image: AssetImage('assets/images/login_image.jpg'))
),
),
const SizedBox(height: 5,),
AuthTextField(controller: emailController, hinttext: 'Email',),
const SizedBox(height: 25,),
AuthTextField(controller: passwordController, hinttext: 'Password',),
const SizedBox(height: 40,),
Align(
alignment: Alignment.topRight,
child: RoundedSmallButton(onTap: login, label: 'Done',),
),
const SizedBox(height: 40,),
RichText(
text: TextSpan(
text: "Don't have an account?",
style: const TextStyle(fontSize: 16, color: Pallete.BROWN_COLOR),
children: [
TextSpan(
text: " Signup",
style: const TextStyle(color: Pallete.BLUE_COLOR, fontSize: 16),
recognizer: TapGestureRecognizer()..onTap = (){
Get.toNamed(AppPages.S_REGISTER);
},
),
]
)
)
],
),
),
),
)
);
}
}

View File

@ -0,0 +1,10 @@
import 'package:flutter/material.dart';
class RegisterScreen extends StatelessWidget {
const RegisterScreen({super.key});
@override
Widget build(BuildContext context) {
return Container();
}
}

View File

View File

View File

@ -0,0 +1,10 @@
import 'package:flutter/material.dart';
class HomeScreen extends StatelessWidget {
const HomeScreen({super.key});
@override
Widget build(BuildContext context) {
return Placeholder();
}
}