feat: submit data bank account

This commit is contained in:
2024-02-15 19:23:57 +07:00
parent 4bad9cd18c
commit 23d189c288
17 changed files with 505 additions and 315 deletions

View File

@@ -10,10 +10,14 @@ class PathAssets {
static const String iconGoogle = 'assets/icons/icon-google.png';
static const String icon1 = 'assets/icons/icon-1.png';
static const String iconConnect = 'assets/icons/icon-connect.png';
static const String iconPortofolioBonds = 'assets/icons/icon-portofolio-bonds.png';
static const String iconPortofolioShares = 'assets/icons/icon-portofolio-shares.png';
static const String iconPortofolioSharia = 'assets/icons/icon-portofolio-sharia.png';
static const String iconPortofolioMoneyMarket = 'assets/icons/icon-portofolio-moneymarket.png';
static const String iconPortofolioBonds =
'assets/icons/icon-portofolio-bonds.png';
static const String iconPortofolioShares =
'assets/icons/icon-portofolio-shares.png';
static const String iconPortofolioSharia =
'assets/icons/icon-portofolio-sharia.png';
static const String iconPortofolioMoneyMarket =
'assets/icons/icon-portofolio-moneymarket.png';
static const String iconShield = 'assets/icons/icon-shield.png';
static const String iconFlag = 'assets/icons/icon-flag.png';
static const String iconKtp1 = 'assets/icons/icon-ktp1.png';
@@ -28,6 +32,7 @@ class PathAssets {
static const String iconBalance = 'assets/icons/icon-balance.png';
static const String iconMoneyReceive = 'assets/icons/icon-money-receive.png';
static const String iconCoins = 'assets/icons/icon-coins.png';
static const String iconQuestion = 'assets/icons/icon-question.png';
/// IMAGE
static const String imgSplashLogo = 'assets/images/splash-logo.png';
@@ -40,7 +45,8 @@ class PathAssets {
static const String imgKtpCropped = 'assets/images/img-ktp-cropped.png';
static const String imgKtpClear = 'assets/images/img-ktp-clear.png';
static const String imgKtpBlur = 'assets/images/img-ktp-blur.png';
static const String imgDashboardAccount = 'assets/images/img-dashboard-account.png';
static const String imgDashboardAccount =
'assets/images/img-dashboard-account.png';
static const String imgCarousel = 'assets/images/img-carousel.png';
static const String imgArticles = 'assets/images/img-articles.png';
static const String imgProduct = 'assets/images/img-product.png';
@@ -49,11 +55,15 @@ class PathAssets {
static const String imgBgSelfie = 'assets/images/img-bg-photo-selfie.png';
static const String imgDataReport = 'assets/images/img-data-report.png';
static const String imgDataAnalysis = 'assets/images/img-data-analysis.png';
static const String imgBusinessFailure = 'assets/images/img-business-failure.png';
static const String imgBusinessFailure =
'assets/images/img-business-failure.png';
static const String imgLeader = 'assets/images/img-leader.png';
static const String imgMoneyIncome = 'assets/images/img-money-income.png';
static const String imgGrowing = 'assets/images/img-growing.png';
static const String imgCat = 'assets/images/img-cat.png';
static const String imgDeer = 'assets/images/img-deer.png';
static const String imgLion = 'assets/images/img-lion.png';
static const String imgGuideBank = 'assets/images/img-guide-bank.png';
static const String imgGuide1 = 'assets/images/img-guide1.png';
static const String imgGuide2 = 'assets/images/img-guide2.png';
}

View File

@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
class TextCaption extends StatelessWidget {
final String title, subtitle;
final TextAlign? textAlignSubtitle;
final TextAlign? textAlign, textAlignSubtitle;
final CrossAxisAlignment? crossAxisAlignment;
const TextCaption({
Key? key,
@@ -11,6 +11,7 @@ class TextCaption extends StatelessWidget {
this.subtitle = '',
this.textAlignSubtitle,
this.crossAxisAlignment,
this.textAlign,
}) : super(key: key);
@override
@@ -23,6 +24,7 @@ class TextCaption extends StatelessWidget {
children: [
Text(
title,
textAlign: textAlign ?? TextAlign.start,
style: const TextStyle(
fontSize: 24,
fontWeight: FontWeight.w700,

View File

@@ -81,123 +81,127 @@ class TextFormView extends StatelessWidget {
if (inputFormatters != null && maxLength != null) {
inputFormatters?.add(LengthLimitingTextInputFormatter(maxLength));
}
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
name.isNotEmpty
? validator != null
? Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
name,
style: const TextStyle(
fontSize: 16,
// color: ColorPalette.greyLight,
),
return Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
name.isNotEmpty
// ? validator != null
? Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
name,
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: ColorPalette.slate800,
),
suffixLable ??
const Text(
"",
style: TextStyle(
fontSize: 16,
color: Colors.red,
),
),
],
)
: Text(
name,
style: const TextStyle(
fontSize: 16,
),
)
: const SizedBox(),
trailingTitleWidget ?? const SizedBox(),
],
),
const SizedBox(height: 8.0),
TextFormField(
focusNode: focusNode,
onTapOutside: (event) => FocusScope.of(context).unfocus(),
minLines: textrea ? 8 : 1,
maxLines: textrea ? null : 1,
initialValue: initialValue,
enabled: enabled,
controller: ctrl,
maxLength: maxLength,
keyboardType: keyboardType,
onTap: onTap,
onEditingComplete: onSubmit,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: fontColorDisabled ?? Colors.black,
suffixLable ??
const Text(
"",
style: TextStyle(
fontSize: 16,
color: Colors.red,
),
),
],
)
: Text(
name,
style: const TextStyle(
fontSize: 16,
),
),
// : const SizedBox(),
trailingTitleWidget ?? const SizedBox(),
],
),
readOnly: readOnly,
validator: validator,
obscureText: obscureText,
onChanged: onChanged,
inputFormatters: inputFormatters ??
[
RemoveEmojiInputFormatter(),
if (maxLength != null)
LengthLimitingTextInputFormatter(maxLength)
],
enableInteractiveSelection: enableInteractiveSelection,
textAlign: isTextAlignCenter ? TextAlign.center : TextAlign.left,
decoration: InputDecoration(
helperText: helperText,
errorStyle: errorStyle,
errorText: errorText,
errorMaxLines: 2,
hintStyle: hintTextStyle ??
const TextStyle(
fontSize: 14,
color: ColorPalette.greyFont,
fontWeight: FontWeight.normal,
const SizedBox(height: 8.0),
TextFormField(
focusNode: focusNode,
onTapOutside: (event) => FocusScope.of(context).unfocus(),
minLines: textrea ? 8 : 1,
maxLines: textrea ? null : 1,
initialValue: initialValue,
enabled: enabled,
controller: ctrl,
maxLength: maxLength,
keyboardType: keyboardType,
onTap: onTap,
onEditingComplete: onSubmit,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: fontColorDisabled ?? Colors.black,
),
readOnly: readOnly,
validator: validator,
obscureText: obscureText,
onChanged: onChanged,
inputFormatters: inputFormatters ??
[
RemoveEmojiInputFormatter(),
if (maxLength != null)
LengthLimitingTextInputFormatter(maxLength)
],
enableInteractiveSelection: enableInteractiveSelection,
textAlign: isTextAlignCenter ? TextAlign.center : TextAlign.left,
decoration: InputDecoration(
helperText: helperText,
errorStyle: errorStyle,
errorText: errorText,
errorMaxLines: 2,
hintStyle: hintTextStyle ??
const TextStyle(
fontSize: 14,
color: ColorPalette.greyFont,
fontWeight: FontWeight.normal,
),
isDense: true,
hintText: hintText,
filled: true,
fillColor: enabled && disableColor == false
? Colors.white
: const Color.fromARGB(255, 233, 236, 239),
disabledBorder: OutlineInputBorder(
borderRadius: _borderRadius,
borderSide: BorderSide(
color: disabledborderColor ?? ColorPalette.greyBorder,
),
isDense: true,
hintText: hintText,
filled: true,
fillColor: enabled && disableColor == false
? Colors.white
: const Color.fromARGB(255, 233, 236, 239),
disabledBorder: OutlineInputBorder(
borderRadius: _borderRadius,
borderSide: BorderSide(
color: disabledborderColor ?? ColorPalette.greyBorder,
),
),
enabledBorder: OutlineInputBorder(
borderRadius: _borderRadius,
borderSide: BorderSide(
color: enabledborderColor ?? ColorPalette.greyBorder,
enabledBorder: OutlineInputBorder(
borderRadius: _borderRadius,
borderSide: BorderSide(
color: enabledborderColor ?? ColorPalette.greyBorder,
),
),
),
focusedBorder: OutlineInputBorder(
borderRadius: _borderRadius,
borderSide: BorderSide(
color: focusedBorderColor ?? ColorPalette.greyBorder,
focusedBorder: OutlineInputBorder(
borderRadius: _borderRadius,
borderSide: BorderSide(
color: focusedBorderColor ?? ColorPalette.greyBorder,
),
),
),
border: OutlineInputBorder(borderRadius: _borderRadius),
suffixIcon: suffixIcon,
prefixIcon: prefixIcon,
suffixIconConstraints: suffixIconConstraints,
prefixIconConstraints: preffixIconConstraints,
prefix: prefix,
contentPadding: contentPadding ?? const EdgeInsets.symmetric(
horizontal: 8.0,
vertical: 16.0,
)
),
)
],
border: OutlineInputBorder(borderRadius: _borderRadius),
suffixIcon: suffixIcon,
prefixIcon: prefixIcon,
suffixIconConstraints: suffixIconConstraints,
prefixIconConstraints: preffixIconConstraints,
prefix: prefix,
contentPadding: contentPadding ??
const EdgeInsets.symmetric(
horizontal: 8.0,
vertical: 16.0,
)),
)
],
),
);
}
}