feat:login page done

This commit is contained in:
jahongireshonqulov
2025-10-28 19:41:05 +05:00
parent 4c652c2b47
commit cdec9980af
16 changed files with 324 additions and 67 deletions

View File

@@ -1,12 +1,10 @@
import '../../../../food_delivery_client.dart';
class AppButton extends StatelessWidget {
const AppButton({
super.key,
required this.name,
required this.onPressed,
this.onPressed,
this.margin,
this.backgroundColor,
this.borderRadius,
@@ -16,10 +14,11 @@ class AppButton extends StatelessWidget {
this.action,
this.trailing,
this.mainAxisAlignment,
this.isLoading = false,
});
final String name;
final VoidCallback onPressed;
final VoidCallback? onPressed;
final EdgeInsets? margin;
final Color? backgroundColor;
final Color? textColor;
@@ -28,6 +27,7 @@ class AppButton extends StatelessWidget {
final double? height;
final Widget? action;
final Widget? trailing;
final bool isLoading;
final MainAxisAlignment? mainAxisAlignment;
@override
@@ -45,16 +45,28 @@ class AppButton extends StatelessWidget {
color: backgroundColor ?? AppColors.c000000,
borderRadius: BorderRadius.circular(borderRadius ?? 0),
),
child: Row(
mainAxisAlignment: mainAxisAlignment ?? MainAxisAlignment.center,
children: [
action ?? AppUtils.kSizedBox,
Text(name, style: AppTextStyles.size16Bold.copyWith(
color: AppColors.cFFFFFF
)),
trailing ?? AppUtils.kSizedBox,
],
),
child: isLoading
? Center(
child: CircularProgressIndicator.adaptive(
padding: EdgeInsets.all(2),
valueColor: AlwaysStoppedAnimation(AppColors.cFFFFFF),
backgroundColor: AppColors.cFFFFFF,
),
)
: Row(
mainAxisAlignment:
mainAxisAlignment ?? MainAxisAlignment.center,
children: [
action ?? AppUtils.kSizedBox,
Text(
name,
style: AppTextStyles.size16Bold.copyWith(
color: AppColors.cFFFFFF,
),
),
trailing ?? AppUtils.kSizedBox,
],
),
),
);
}

View File

@@ -17,7 +17,10 @@ class AppTextFormField extends StatelessWidget {
this.obscureText = false,
required this.controller,
this.prefixIcon,
this.prefixSvgPath, this.focusNode,
this.prefixSvgPath,
this.focusNode,
this.borderRadius,
this.height,
});
final int? maxLines;
@@ -37,57 +40,57 @@ class AppTextFormField extends StatelessWidget {
late final Widget? prefixIcon;
final String? prefixSvgPath;
final FocusNode? focusNode;
final BorderRadius? borderRadius;
final double? height;
@override
Widget build(BuildContext context) {
return TextFormField(
enabled: true,
autofocus: true,
maxLines: maxLines ?? 1,
minLines: minLines ?? 1,
onChanged: onChanged,
focusNode: focusNode,
inputFormatters: inputFormatters,
keyboardType: keyBoardType,
style: textStyle ?? AppTextStyles.size16Regular,
onTap: onTap,
textAlign: textAlign ?? TextAlign.start,
controller: controller,
validator: validator,
autovalidateMode: AutovalidateMode.onUserInteraction,
decoration: InputDecoration(
return SizedBox(
height: height ?? 44,
child: TextFormField(
enabled: true,
filled: true,
fillColor: fillColor ?? AppColors.cEEEEEE,
hintText: hintText,
hintStyle: hintTextStyle,
prefixIconConstraints: BoxConstraints(
minHeight: 0,
maxHeight: 24,
maxWidth: 34,
minWidth: 0,
),
prefixIcon: prefixIcon?.paddingOnly(left: 10).paddingAll(3),
contentPadding: EdgeInsets.symmetric(vertical: 12, horizontal: 12),
border: OutlineInputBorder(
borderRadius: AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
errorBorder: OutlineInputBorder(
borderRadius: AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
enabledBorder: OutlineInputBorder(
borderRadius: AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
focusedBorder: OutlineInputBorder(
borderRadius: AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
disabledBorder: OutlineInputBorder(
borderRadius: AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
autofocus: true,
maxLines: maxLines ?? 1,
minLines: minLines ?? 1,
onChanged: onChanged,
focusNode: focusNode,
inputFormatters: inputFormatters,
keyboardType: keyBoardType,
style: textStyle ?? AppTextStyles.size16Regular,
onTap: onTap,
textAlign: textAlign ?? TextAlign.start,
controller: controller,
validator: validator,
autovalidateMode: AutovalidateMode.onUserInteraction,
decoration: InputDecoration(
enabled: true,
filled: true,
fillColor: fillColor ?? AppColors.cEEEEEE,
hintText: hintText,
hintStyle: hintTextStyle,
prefixIconConstraints: BoxConstraints(minHeight: 24, minWidth: 0),
prefixIcon: prefixIcon?.paddingOnly(left: 10).paddingAll(3),
contentPadding: EdgeInsets.symmetric(vertical: 12, horizontal: 12),
border: OutlineInputBorder(
borderRadius: borderRadius ?? AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
errorBorder: OutlineInputBorder(
borderRadius: borderRadius ?? AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
enabledBorder: OutlineInputBorder(
borderRadius: borderRadius ?? AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
focusedBorder: OutlineInputBorder(
borderRadius: borderRadius ?? AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
disabledBorder: OutlineInputBorder(
borderRadius: borderRadius ?? AppUtils.kBorderRadius40,
borderSide: BorderSide.none,
),
),
),
);