Merge pull request #47 from WDI-Ideas/jayeshjain25

ui fix
This commit is contained in:
Jayesh jain
2024-06-13 18:52:50 +05:30
committed by GitHub
15 changed files with 153 additions and 78 deletions

View File

@@ -23,13 +23,13 @@ class AppText {
"To get your account please set your info";
static const String countryOfResidence = "Country of residence";
static const String chooseCountry = "Choose country";
static const String phoneNumber = "Phone Number";
static const String phoneNumber = "Phone number";
static const String password = "Password";
static const String enterPassword = "Enter password";
static const String invalidPhoneNo = "Invalid Phone Number";
static const String invalidPhoneNo = "Invalid phone number";
static const String enterPhoneNo = "Enter phone number";
static const String invalidPassword = "Invalid Password";
static const String forgorPassword = "Forgot Password";
static const String invalidPassword = "Invalid password";
static const String forgorPassword = "Forgot password";
//Register
static const String getStartedToday = "Get started today";
@@ -52,17 +52,17 @@ class AppText {
"Select your country of residence and enter your mobile number";
static const String nextText = "Next";
static const String backText = "Back";
static const String firstNameText = "First Name";
static const String lastNameText = "Last Name";
static const String firstNameText = "First name";
static const String lastNameText = "Last name";
static const String emailText = "Email";
static const String repeatPasswordText = "Repeat Password";
static const String min8CharactersSpecialCharctersText =
"Min 8 characters, special characters required";
static const String enterFirstName = "Enter First Name";
static const String enterLastName = "Enter Last Name";
static const String enterEmail = "Enter Email";
static const String cantBeEmptyText = "Can't Be Empty";
static const String passwordMismatch = "Password Mismatch";
static const String enterFirstName = "Enter first name";
static const String enterLastName = "Enter last name";
static const String enterEmail = "Enter email";
static const String cantBeEmptyText = "Can't be empty";
static const String passwordMismatch = "Password mismatch";
static const String iAgreeToThe = "I agree to the ";
static const String termsAndCondition = "Terms & Conditions";
static const String andThe = " and the";
@@ -78,6 +78,7 @@ class AppText {
static const String confirmSelectionText = "Confirm selection";
//Portfolio
static const String portfolioText = "Portfolio Value";
static const String portfolio = "Portfolio Value: ";
static const String investmentamount = "Investment Amount";
static const String currentval = "Current valuation";
@@ -98,7 +99,7 @@ class AppText {
//OTP
static const String checkYourMessages = "Check your messages";
static const String referToSameOtpMessage =
"Please refer to the same OTP message shown below";
"Enter the 6-digit code sent to your mobile";
static const String resendSms = "Resend SMS";
static const String otpVerifiedSucessfully = "OTP Verified Successfully!";
static const String otpVerifiedFailed = "OTP Verification Failed:";
@@ -155,7 +156,8 @@ class AppText {
static const String previewTitle = "Withdrawal confirmation";
static const String info1 =
'Please confirm the withdrawal amount and verify the accuracy of your bank details.';
static const String workingDays = 'Processing times vary from 3-7 working days';
static const String workingDays =
'Processing times vary from 3-7 working days';
static const String balance = 'Wallet balance: ';
static const String withdrawTitle = 'Withdrawal';
static const String depositTitle = 'Deposit';

View File

@@ -49,7 +49,7 @@ class KeyInvestmentSection extends StatelessWidget {
bottom: 12,
),
child: investmentSectionCardText(
AppImages.timeSquareIcon,
imageList[index],
"Nunc vulputate libero et velit interdum",
"ac aliquet odio mattis.",
),
@@ -62,6 +62,13 @@ class KeyInvestmentSection extends StatelessWidget {
}
}
List<String> imageList = [
AppImages.timeSquareIcon,
AppImages.walletIcon,
AppImages.ticketIcon,
AppImages.scannerIcon
];
Widget investmentSectionCardText(
String icon,
String title,

View File

@@ -51,6 +51,26 @@ List<PortfolioModel> portfolioModelList = [
currentValuationUSD: "14,685",
totalReturnPercentage: "10.0%",
),
PortfolioModel(
date: "Jul 10 2025",
title: "Real estate III",
status: "Exited",
investmentAmountSAR: "SAR 10,000",
investmentAmountUSD: "2,670",
currentValuationSAR: "SAR 8,000",
currentValuationUSD: "2,136",
totalReturnPercentage: "20.0%",
),
PortfolioModel(
date: "Jul 10 2025",
title: "Real estate III",
status: "Exited",
investmentAmountSAR: "SAR 10,000",
investmentAmountUSD: "2,670",
currentValuationSAR: "SAR 8,000",
currentValuationUSD: "2,136",
totalReturnPercentage: "20.0%",
),
PortfolioModel(
date: "Jul 10 2025",
title: "Real estate III",

View File

@@ -68,7 +68,7 @@ class PortfolioLayout extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget().text14W700(
AppText.portfolio,
AppText.portfolioText,
clr: const Color(0xFFC9D9CB),
),
Gap(

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gap/gap.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import '../../../../../core/styles/app_text.dart';
import '../../../../../shared/components/text_widget.dart';
@@ -130,7 +131,7 @@ class DetailsSection extends StatelessWidget {
],
),
SizedBox(
height: 8.h,
height: 22.h,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/features/register/presentation/widgets/register_bottom_section.dart';
import 'package:tanami_app/features/register/presentation/widgets/register_form.dart';
import 'package:tanami_app/features/register/presentation/widgets/register_top_section.dart';
@@ -9,13 +10,14 @@ class RegisterLayout extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColor.plainWhite,
body: ListView(
//
children: const [
RegisterTopSection(),
RegisterForm(),
RegisterBottomSection(),
],
));
//
children: const [
RegisterTopSection(),
RegisterForm(),
RegisterBottomSection(),
],
));
}
}

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/features/register/presentation/widgets/register_step_count.dart';
import '../widgets/register_step_bottom_section.dart';
@@ -11,13 +12,14 @@ class RegisterStepLayout extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColor.plainWhite,
body: ListView(
children: const [
RegisterStepTopSection(),
Gap(20),
RegisterStepCount(),
RegisterStepBottomSection(),
],
));
children: const [
RegisterStepTopSection(),
Gap(20),
RegisterStepCount(),
RegisterStepBottomSection(),
],
));
}
}

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:tanami_app/features/register/presentation/widgets/register_user_bottom_section.dart';
import '../../../../core/styles/app_color.dart';
import '../../../../shared/components/appbar_widget.dart';
import '../widgets/register_user_form.dart';
import '../widgets/register_user_top_section.dart';
@@ -11,6 +12,7 @@ class RegisterUserDetailsLayout extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: const AppBarWidget(
height: 75,
titleTxt: "",

View File

@@ -12,7 +12,6 @@ import '../../../../core/routes/routes.dart';
import '../../../../core/styles/app_color.dart';
import '../../../../core/styles/app_text.dart';
import '../../../../shared/components/button_widget.dart';
import '../../../../shared/components/text_widget.dart';
import '../../../countrySelection/presentation/bloc/choose_country_bloc.dart';
import '../bloc/register_bloc.dart';
import '../bloc/register_event.dart';
@@ -88,15 +87,16 @@ class RegisterBottomSection extends StatelessWidget {
);
},
),
const Gap(5),
ButtonWidget().textBtn(
function: () {
radioBloc.resetSelection();
goRouter.pop();
},
text: TextWidget().text14W700(AppText.backText,
clr: AppColor.textLabelColor,
textDecoration: TextDecoration.underline)),
const Gap(10),
ButtonWidget().textBorderBtn(
clr: AppColor.plainWhite,
borderClr: AppColor.txtBorderColor,
function: () {
radioBloc.resetSelection();
goRouter.pop();
},
text: AppText.backText,
)
],
);
}

View File

@@ -7,7 +7,6 @@ import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/shared/components/button_widget.dart';
import '../../../../core/styles/app_text.dart';
import '../../../../shared/components/text_widget.dart';
class RegisterStepBottomSection extends StatelessWidget {
const RegisterStepBottomSection({super.key});
@@ -36,17 +35,16 @@ class RegisterStepBottomSection extends StatelessWidget {
),
),
const Gap(16),
ButtonWidget().textBtn(
function: () {
goRouter.goNamed(RouteName.loginScreen, pathParameters: {
"fromScreen": "registerStep",
});
},
text: TextWidget().text14W700(
AppText.loginText,
clr: AppColor.darkGreyColor,
textDecoration: TextDecoration.underline,
))
ButtonWidget().textBorderBtn(
clr: AppColor.plainWhite,
borderClr: AppColor.txtBorderColor,
function: () {
goRouter.goNamed(RouteName.loginScreen, pathParameters: {
"fromScreen": "registerStep",
});
},
text: AppText.loginText,
)
],
),
);

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import '../../../../core/styles/app_color.dart';
import '../widgets/confirm_pin_keypad_section.dart';
import '../widgets/confirm_pin_top_section.dart';
@@ -9,11 +10,12 @@ class ConfirmPinLayout extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColor.plainWhite,
body: ListView(
children: const [
ConfirmPinTopSection(),
ConfirmPinKey(),
],
));
children: const [
ConfirmPinTopSection(),
ConfirmPinKey(),
],
));
}
}

View File

@@ -2,28 +2,32 @@ import 'package:flutter/material.dart';
import 'package:tanami_app/features/securePin/presentation/widgets/pin_keypad_section.dart';
import 'package:tanami_app/features/securePin/presentation/widgets/pin_top_section.dart';
import '../../../../core/styles/app_color.dart';
class PinLayout extends StatelessWidget {
final String fromScreen;
const PinLayout({super.key, required this.fromScreen});
@override
Widget build(BuildContext context) {
return Scaffold(body: LayoutBuilder(builder: (context, constraints) {
return SingleChildScrollView(
child: ConstrainedBox(
constraints: BoxConstraints(
minHeight: constraints.maxHeight,
),
child: Column(
children: [
PinTopSection(fromScreen: fromScreen),
PinKey(
fromScreen: fromScreen,
return Scaffold(
backgroundColor: AppColor.plainWhite,
body: LayoutBuilder(builder: (context, constraints) {
return SingleChildScrollView(
child: ConstrainedBox(
constraints: BoxConstraints(
minHeight: constraints.maxHeight,
),
],
),
),
);
}));
child: Column(
children: [
PinTopSection(fromScreen: fromScreen),
PinKey(
fromScreen: fromScreen,
),
],
),
),
);
}));
}
}

View File

@@ -77,7 +77,7 @@ class ConfirmPinKey extends StatelessWidget {
context.read<PinBloc>().add(BackspacePressed());
},
child: Container(
margin: const EdgeInsets.all(10),
margin: const EdgeInsets.all(12),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: Colors.black12),
@@ -94,7 +94,7 @@ class ConfirmPinKey extends StatelessWidget {
context.read<PinBloc>().add(NumberPressed(number));
},
child: Container(
margin: const EdgeInsets.all(10),
margin: const EdgeInsets.all(12),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: Colors.black12),

View File

@@ -88,7 +88,7 @@ class PinKey extends StatelessWidget {
),
)
: const SizedBox(),
const Gap(30),
const Gap(20),
GridView.builder(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
@@ -106,7 +106,7 @@ class PinKey extends StatelessWidget {
context.read<PinBloc>().add(BackspacePressed());
},
child: Container(
margin: const EdgeInsets.all(10),
margin: const EdgeInsets.all(12),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: Colors.black12),
@@ -123,7 +123,7 @@ class PinKey extends StatelessWidget {
context.read<PinBloc>().add(NumberPressed(number));
},
child: Container(
margin: const EdgeInsets.all(10),
margin: const EdgeInsets.all(12),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: Colors.black12),

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:tanami_app/core/styles/app_color.dart';
import 'package:tanami_app/shared/components/text_widget.dart';
@@ -15,6 +16,40 @@ class ButtonWidget {
}
//Elevated Button
Widget textBorderBtn({
required String text,
required Color clr,
Color? txtClr,
Color? borderClr,
required VoidCallback function,
}) {
return InkWell(
onTap: function,
child: Container(
margin: const EdgeInsets.symmetric(
horizontal: 16,
),
width: 1.sw,
height: 56.h,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(30),
color: clr,
border: Border.all(
width: 1,
color: borderClr!,
)),
child: Center(
child: TextWidget().text14W700(
text,
clr: txtClr ?? AppColor.plainBlack,
textDecoration: TextDecoration.underline,
),
),
),
);
}
//Elevated Button
Widget elevatedBtn({
required String text,
required Color clr,