merge conflict
This commit is contained in:
commit
368f326123
|
@ -33,6 +33,10 @@ class PathAssets {
|
||||||
static const String iconMoneyReceive = 'assets/icons/icon-money-receive.png';
|
static const String iconMoneyReceive = 'assets/icons/icon-money-receive.png';
|
||||||
static const String iconCoins = 'assets/icons/icon-coins.png';
|
static const String iconCoins = 'assets/icons/icon-coins.png';
|
||||||
static const String iconQuestion = 'assets/icons/icon-question.png';
|
static const String iconQuestion = 'assets/icons/icon-question.png';
|
||||||
|
static const String iconCake = 'assets/icons/icon-cake.png';
|
||||||
|
static const String iconHouse = 'assets/icons/icon-house.png';
|
||||||
|
static const String iconToga = 'assets/icons/icon-toga.png';
|
||||||
|
static const String iconCreatePlan = 'assets/icons/icon-create-plan.png';
|
||||||
static const String iconChecklistOutlined =
|
static const String iconChecklistOutlined =
|
||||||
'assets/icons/icon-ceklis-outline.png';
|
'assets/icons/icon-ceklis-outline.png';
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,10 @@ import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
import 'package:cims_apps/core/utils/size_config.dart';
|
import 'package:cims_apps/core/utils/size_config.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class ButtonBack extends StatelessWidget {
|
class BackButtonView extends StatelessWidget {
|
||||||
final EdgeInsets? margin;
|
final EdgeInsets? margin;
|
||||||
final void Function()? onPress;
|
final void Function()? onPress;
|
||||||
const ButtonBack({super.key, this.margin, this.onPress});
|
const BackButtonView({super.key, this.margin, this.onPress});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -16,7 +16,7 @@ class ButtonBack extends StatelessWidget {
|
||||||
style: IconButton.styleFrom(
|
style: IconButton.styleFrom(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shape: const CircleBorder(
|
shape: const CircleBorder(
|
||||||
side: BorderSide(color: ColorPalette.slate200)
|
side: BorderSide(color: ColorPalette.slate200)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
onPressed: onPress ?? () => Navigator.pop(context),
|
onPressed: onPress ?? () => Navigator.pop(context),
|
42
lib/application/component/custom_app_bar/custom_app_bar.dart
Normal file
42
lib/application/component/custom_app_bar/custom_app_bar.dart
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||||
|
final Widget? leading;
|
||||||
|
final String title;
|
||||||
|
final List<Widget>? trailing;
|
||||||
|
final double height;
|
||||||
|
|
||||||
|
const CustomAppBar({
|
||||||
|
Key? key,
|
||||||
|
required this.height,
|
||||||
|
this.leading,
|
||||||
|
required this.title,
|
||||||
|
this.trailing,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 24),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border(bottom: BorderSide(color: ColorPalette.slate200))
|
||||||
|
),
|
||||||
|
child: AppBar(
|
||||||
|
toolbarHeight: 70,
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
surfaceTintColor: Colors.white,
|
||||||
|
automaticallyImplyLeading: false,
|
||||||
|
leadingWidth: 40,
|
||||||
|
leading: leading ?? BackButtonView(),
|
||||||
|
title: Text(title),
|
||||||
|
centerTitle: true,
|
||||||
|
actions: trailing ?? [],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Size get preferredSize => Size.fromHeight(height);
|
||||||
|
}
|
46
lib/application/component/goal_investing_view.dart
Normal file
46
lib/application/component/goal_investing_view.dart
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class GoalInvest {
|
||||||
|
String icon;
|
||||||
|
String title;
|
||||||
|
|
||||||
|
GoalInvest(this.icon, this.title);
|
||||||
|
}
|
||||||
|
|
||||||
|
class GoalInvestingView extends StatelessWidget {
|
||||||
|
const GoalInvestingView({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
List<GoalInvest> listGoalInvest = [
|
||||||
|
GoalInvest(PathAssets.iconToga, 'Education'),
|
||||||
|
GoalInvest(PathAssets.iconCake, 'Marriage'),
|
||||||
|
GoalInvest(PathAssets.iconHouse, 'Old age days'),
|
||||||
|
GoalInvest(PathAssets.iconCreatePlan, 'Create Plan'),
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('Your Goal in Investing'),
|
||||||
|
GestureDetector(
|
||||||
|
child: Icon(Icons.close_rounded),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
...listGoalInvest.asMap().entries.map((e) {
|
||||||
|
return ListTile(
|
||||||
|
leading: Image.asset(e.value.icon),
|
||||||
|
title: Text(e.value.title),
|
||||||
|
trailing: Icon(Icons.chevron_right_rounded),
|
||||||
|
);
|
||||||
|
})
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
109
lib/application/component/numeric_pad/numeric_pad.dart
Normal file
109
lib/application/component/numeric_pad/numeric_pad.dart
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
|
import 'package:cims_apps/core/utils/size_config.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class NumericPad extends StatelessWidget {
|
||||||
|
final Function(String) onNumberSelected;
|
||||||
|
final bool isPin;
|
||||||
|
const NumericPad({super.key, required this.onNumberSelected, this.isPin = false});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
numberWidget('1'),
|
||||||
|
dividerGradient(false, Alignment.bottomCenter, Alignment.topCenter),
|
||||||
|
numberWidget('2'),
|
||||||
|
dividerGradient(false, Alignment.bottomCenter, Alignment.topCenter),
|
||||||
|
numberWidget('3')
|
||||||
|
],
|
||||||
|
),
|
||||||
|
dividerGradient(true, Alignment.centerLeft, Alignment.centerRight),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
numberWidget('4'),
|
||||||
|
dividerGradient(false, Alignment.center, Alignment.center, fullColor: true),
|
||||||
|
numberWidget('5'),
|
||||||
|
dividerGradient(false, Alignment.center, Alignment.center, fullColor: true),
|
||||||
|
numberWidget('6')
|
||||||
|
],
|
||||||
|
),
|
||||||
|
dividerGradient(true, Alignment.centerLeft, Alignment.centerRight),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
isPin ? spaceWidget() : numberWidget('0'),
|
||||||
|
dividerGradient(false, Alignment.topCenter, Alignment.bottomCenter),
|
||||||
|
numberWidget(isPin ? '0' : '000'),
|
||||||
|
dividerGradient(false, Alignment.topCenter, Alignment.bottomCenter),
|
||||||
|
removeWidget()
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget dividerGradient(bool isHorizontal, AlignmentGeometry gradientFrom, AlignmentGeometry gradientTo, {bool fullColor = false}) {
|
||||||
|
return Container(
|
||||||
|
width: isHorizontal ? SizeConfig.width : 1,
|
||||||
|
height: isHorizontal ? 1 : SizeConfig.height * 0.11,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
gradient: LinearGradient(
|
||||||
|
colors: [
|
||||||
|
if(isHorizontal) ...[
|
||||||
|
ColorPalette.slate200.withOpacity(0)
|
||||||
|
],
|
||||||
|
ColorPalette.slate200,
|
||||||
|
fullColor ? ColorPalette.slate200 : ColorPalette.slate200.withOpacity(0)
|
||||||
|
],
|
||||||
|
begin: gradientFrom,
|
||||||
|
end: gradientTo
|
||||||
|
)
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget spaceWidget() {
|
||||||
|
return Expanded(
|
||||||
|
child: SizedBox()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget numberWidget(String number) {
|
||||||
|
return Expanded(
|
||||||
|
child: GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
onNumberSelected(number);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: SizeConfig.height * .028),
|
||||||
|
child: Text(
|
||||||
|
number,
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 28,
|
||||||
|
fontWeight: FontWeight.bold
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget removeWidget() {
|
||||||
|
return Expanded(
|
||||||
|
child: Icon(
|
||||||
|
Icons.highlight_remove,
|
||||||
|
size: 28,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
import 'package:cims_apps/application/component/text_form/text_form_view.dart';
|
import 'package:cims_apps/application/component/text_form/text_form_view.dart';
|
||||||
|
@ -61,7 +61,7 @@ class _LoginViewState extends State<LoginView> {
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
ButtonBack(),
|
BackButtonView(),
|
||||||
const Text('Sign In'),
|
const Text('Sign In'),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: SizeConfig.width * 0.1,
|
width: SizeConfig.width * 0.1,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
|
import 'package:cims_apps/application/component/numeric_pad/numeric_pad.dart';
|
||||||
import 'package:cims_apps/application/component/text_form/text_form_view.dart';
|
import 'package:cims_apps/application/component/text_form/text_form_view.dart';
|
||||||
import 'package:cims_apps/application/component/text_title/text_title.dart';
|
import 'package:cims_apps/application/component/text_title/text_title.dart';
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
|
@ -35,6 +36,7 @@ class PhoneNumberView extends StatelessWidget {
|
||||||
inputFormatters: [
|
inputFormatters: [
|
||||||
FilteringTextInputFormatter.deny(RegExp(r'^0'))
|
FilteringTextInputFormatter.deny(RegExp(r'^0'))
|
||||||
],
|
],
|
||||||
|
contentPadding: EdgeInsets.all(1),
|
||||||
prefixIcon: Container(
|
prefixIcon: Container(
|
||||||
width: SizeConfig.width * .23,
|
width: SizeConfig.width * .23,
|
||||||
padding:
|
padding:
|
||||||
|
@ -108,6 +110,10 @@ class PhoneNumberView extends StatelessWidget {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
),
|
||||||
|
NumericPad(
|
||||||
|
onNumberSelected: (p0) {
|
||||||
|
},
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/list_tile/list_tile_view.dart';
|
import 'package:cims_apps/application/component/list_tile/list_tile_view.dart';
|
||||||
import 'package:cims_apps/application/component/text_caption/text_caption.dart';
|
import 'package:cims_apps/application/component/text_caption/text_caption.dart';
|
||||||
|
@ -28,7 +28,7 @@ class ConfirmBankAccount extends StatelessWidget {
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
const ButtonBack(),
|
const BackButtonView(),
|
||||||
const Text('Registration'),
|
const Text('Registration'),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: SizeConfig.width * 0.1,
|
width: SizeConfig.width * 0.1,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
import 'package:cims_apps/application/component/text_caption/text_caption.dart';
|
import 'package:cims_apps/application/component/text_caption/text_caption.dart';
|
||||||
|
@ -93,7 +93,7 @@ class GuideScreen extends StatelessWidget {
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
const ButtonBack(),
|
const BackButtonView(),
|
||||||
const Text('Guide'),
|
const Text('Guide'),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: SizeConfig.width * 0.1,
|
width: SizeConfig.width * 0.1,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
|
@ -37,7 +37,7 @@ class _QuestionViewState extends State<QuestionView> {
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
ButtonBack(),
|
BackButtonView(),
|
||||||
const Text('Risk Profile', textAlign: TextAlign.center),
|
const Text('Risk Profile', textAlign: TextAlign.center),
|
||||||
SizedBox(width: SizeConfig.width * 0.1)
|
SizedBox(width: SizeConfig.width * 0.1)
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
|
@ -26,7 +26,7 @@ class ResultsView extends StatelessWidget {
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
ButtonBack(),
|
BackButtonView(),
|
||||||
const Text('Risk Profile', textAlign: TextAlign.center),
|
const Text('Risk Profile', textAlign: TextAlign.center),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: SizeConfig.width * 0.1
|
width: SizeConfig.width * 0.1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
|
@ -22,7 +22,7 @@ class RiskProfileView extends StatelessWidget {
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
ButtonBack(),
|
BackButtonView(),
|
||||||
const Text('Risk Profile', textAlign: TextAlign.center),
|
const Text('Risk Profile', textAlign: TextAlign.center),
|
||||||
SizedBox(width: SizeConfig.width * 0.1)
|
SizedBox(width: SizeConfig.width * 0.1)
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
import 'package:cims_apps/core/route/route.dart';
|
import 'package:cims_apps/core/route/route.dart';
|
||||||
|
@ -86,7 +86,7 @@ class _SubmissionParentState extends State<SubmissionParent> {
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
const ButtonBack(),
|
const BackButtonView(),
|
||||||
const Text('Registration'),
|
const Text('Registration'),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: SizeConfig.width * 0.1,
|
width: SizeConfig.width * 0.1,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
import 'package:cims_apps/features/dashboard/dashboard_account/view/homepage/homepage_view.dart';
|
import 'package:cims_apps/features/dashboard/dashboard_account/view/homepage/homepage_view.dart';
|
||||||
|
import 'package:cims_apps/features/dashboard/dashboard_account/view/plan/plan_view.dart';
|
||||||
import 'package:cims_apps/features/dashboard/dashboard_account/view/portfolio/portfolio_view.dart';
|
import 'package:cims_apps/features/dashboard/dashboard_account/view/portfolio/portfolio_view.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
@ -18,9 +19,7 @@ class _BottomNavigationViewState extends State<BottomNavigationView> {
|
||||||
///TODO: masukan pagenya dilistWidget ini
|
///TODO: masukan pagenya dilistWidget ini
|
||||||
List<Widget> listWidget = [
|
List<Widget> listWidget = [
|
||||||
HomeView(),
|
HomeView(),
|
||||||
Container(
|
PlanView(),
|
||||||
color: Colors.redAccent,
|
|
||||||
),
|
|
||||||
Container(),
|
Container(),
|
||||||
PortofolioView(),
|
PortofolioView(),
|
||||||
Container(),
|
Container(),
|
||||||
|
@ -32,8 +31,8 @@ class _BottomNavigationViewState extends State<BottomNavigationView> {
|
||||||
label: 'Home',
|
label: 'Home',
|
||||||
),
|
),
|
||||||
BottomNavigationBarItem(
|
BottomNavigationBarItem(
|
||||||
icon: Icon(Icons.search),
|
icon: Icon(Icons.file_open),
|
||||||
label: 'Search',
|
label: 'Plan',
|
||||||
),
|
),
|
||||||
BottomNavigationBarItem(
|
BottomNavigationBarItem(
|
||||||
icon: Icon(Icons.compare_arrows),
|
icon: Icon(Icons.compare_arrows),
|
||||||
|
@ -51,20 +50,24 @@ class _BottomNavigationViewState extends State<BottomNavigationView> {
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: listWidget[_selectedIndex],
|
body: listWidget[_selectedIndex],
|
||||||
bottomNavigationBar: BottomNavigationBar(
|
bottomNavigationBar: Padding(
|
||||||
onTap: (value) {
|
padding: const EdgeInsets.symmetric(vertical: 12),
|
||||||
setState(() {
|
child: BottomNavigationBar(
|
||||||
_selectedIndex = value;
|
elevation: 0,
|
||||||
});
|
onTap: (value) {
|
||||||
},
|
setState(() {
|
||||||
currentIndex: _selectedIndex,
|
_selectedIndex = value;
|
||||||
items: listNavigation,
|
});
|
||||||
type: BottomNavigationBarType.fixed,
|
},
|
||||||
showUnselectedLabels: true,
|
currentIndex: _selectedIndex,
|
||||||
selectedItemColor: ColorPalette.primary,
|
items: listNavigation,
|
||||||
unselectedItemColor: Colors.black,
|
type: BottomNavigationBarType.fixed,
|
||||||
selectedLabelStyle: const TextStyle(color: ColorPalette.primary),
|
showUnselectedLabels: true,
|
||||||
unselectedLabelStyle: const TextStyle(color: Colors.black),
|
selectedItemColor: ColorPalette.primary,
|
||||||
|
unselectedItemColor: Colors.black,
|
||||||
|
selectedLabelStyle: const TextStyle(color: ColorPalette.primary),
|
||||||
|
unselectedLabelStyle: const TextStyle(color: Colors.black),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
import 'package:cims_apps/application/component/text_title/text_title.dart';
|
import 'package:cims_apps/application/component/text_title/text_title.dart';
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
|
@ -53,7 +53,7 @@ class _InvestTypeViewState extends State<InvestTypeView> {
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
const ButtonBack(),
|
const BackButtonView(),
|
||||||
TextTitle(title: widget.title, color: Colors.white),
|
TextTitle(title: widget.title, color: Colors.white),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: SizeConfig.width * 0.1,
|
width: SizeConfig.width * 0.1,
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
import 'package:cims_apps/application/component/custom_app_bar/custom_app_bar.dart';
|
||||||
|
import 'package:cims_apps/application/component/goal_investing_view.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class PlanView extends StatelessWidget {
|
||||||
|
const PlanView({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
appBar: CustomAppBar(height: 70, title: 'Investment Plan'),
|
||||||
|
body: SingleChildScrollView(
|
||||||
|
padding: EdgeInsets.all(24),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
GoalInvestingView()
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
import 'package:cims_apps/application/assets/path_assets.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_back.dart';
|
import 'package:cims_apps/application/component/button/back_button_view.dart';
|
||||||
import 'package:cims_apps/application/component/button/button_view.dart';
|
import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_view.dart';
|
import 'package:cims_apps/application/component/image/image_view.dart';
|
||||||
import 'package:cims_apps/application/component/text_form/text_form_view.dart';
|
import 'package:cims_apps/application/component/text_form/text_form_view.dart';
|
||||||
|
@ -112,7 +112,7 @@ class _ProductViewState extends State<ProductView> {
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
ButtonBack(),
|
BackButtonView(),
|
||||||
Wrap(
|
Wrap(
|
||||||
spacing: 12,
|
spacing: 12,
|
||||||
children: [
|
children: [
|
||||||
|
|
Loading…
Reference in New Issue
Block a user