This commit is contained in:
Hamza-Ayed
2023-08-04 15:06:57 +03:00
parent b44928bfb8
commit 5a7c09eb06
227 changed files with 6003 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../controller/auth/login_controller.dart';
class LoginPage extends StatelessWidget {
final controller = Get.put(LoginController());
LoginPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Login'),
),
body: Center(
child: Padding(
padding: const EdgeInsets.all(22),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextFormField(
controller: controller.emailController,
decoration: InputDecoration(
labelText: 'Email',
),
),
TextFormField(
controller: controller.phoneController,
decoration: InputDecoration(
labelText: 'Phone',
),
),
TextFormField(
controller: controller.firstNameController,
decoration: InputDecoration(
labelText: 'First Name',
),
),
TextFormField(
controller: controller.lastNameController,
decoration: InputDecoration(
labelText: 'Last Name',
),
),
ElevatedButton(
onPressed: () {
controller.login();
},
child: Text('Login'),
),
],
),
),
),
);
}
}

View File

@@ -0,0 +1,26 @@
import 'package:flutter/material.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/views/widgets/circle_container.dart';
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColor.secondaryColor,
appBar: AppBar(
elevation: 0,
backgroundColor: AppColor.secondaryColor,
title: Text(
'home',
style: AppStyle.title,
),
),
body: Center(
child: CircleContainer(child: const Icon(Icons.clear)),
),
);
}
}

View File

@@ -0,0 +1,42 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/views/widgets/elevated_btn.dart';
import '../../controller/local/local_controller.dart';
import '../home/home_page.dart';
class Language extends GetView<LocaleController> {
const Language({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Container(
padding: const EdgeInsets.all(15),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text("Choose Language".tr,
style: Theme.of(context).textTheme.headlineLarge),
const SizedBox(height: 20),
MyElevatedButton(
title: 'Ar',
onPressed: () {
controller.changeLang("ar");
Get.offAll(() => HomePage());
},
),
MyElevatedButton(
title: "En",
onPressed: () {
controller.changeLang("en");
Get.offAll(() => HomePage());
},
),
],
)),
),
);
}
}

View File

@@ -0,0 +1,62 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/constant/colors.dart';
class CircleContainer extends StatelessWidget {
final Widget child;
final Color backgroundColor;
final Color borderColor;
CircleContainer({
Key? key,
required this.child,
this.backgroundColor = AppColor.secondaryColor,
this.borderColor = AppColor.accentColor,
}) : super(key: key);
final controller = Get.put(CircleController());
@override
Widget build(BuildContext context) {
return GetBuilder<CircleController>(
builder: ((controller) => GestureDetector(
onTap: () {
controller.changeColor();
},
child: AnimatedContainer(
onEnd: () {
controller.onEnd();
},
duration: const Duration(milliseconds: 300),
width: controller.size,
height: controller.size,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: controller.backgroundColor,
border: Border.all(
color: borderColor,
width: 1,
),
),
child: Center(child: child),
),
)));
}
}
class CircleController extends GetxController {
Color backgroundColor = AppColor.secondaryColor;
double size = 40;
void changeColor() {
backgroundColor = backgroundColor == AppColor.secondaryColor
? AppColor.accentColor
: AppColor.secondaryColor;
size = 60;
update();
}
void onEnd() {
size = 40;
update();
}
}

View File

@@ -0,0 +1,28 @@
import 'package:flutter/material.dart';
import '../../constant/colors.dart';
class MyElevatedButton extends StatelessWidget {
final String title;
final VoidCallback onPressed;
const MyElevatedButton({
Key? key,
required this.title,
required this.onPressed,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return ElevatedButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(AppColor.primaryColor),
),
onPressed: onPressed,
child: Text(
title,
style: const TextStyle(color: AppColor.accentColor),
),
);
}
}