diff --git a/assets/images/invest_screen/svg/scanner.svg b/assets/images/invest_screen/svg/scanner.svg
new file mode 100644
index 0000000..e8062fd
--- /dev/null
+++ b/assets/images/invest_screen/svg/scanner.svg
@@ -0,0 +1,7 @@
+
diff --git a/assets/images/invest_screen/svg/shield_done.svg b/assets/images/invest_screen/svg/shield_done.svg
new file mode 100644
index 0000000..b717469
--- /dev/null
+++ b/assets/images/invest_screen/svg/shield_done.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/invest_screen/svg/ticket.svg b/assets/images/invest_screen/svg/ticket.svg
new file mode 100644
index 0000000..9d29f0c
--- /dev/null
+++ b/assets/images/invest_screen/svg/ticket.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/invest_screen/svg/time_square.svg b/assets/images/invest_screen/svg/time_square.svg
new file mode 100644
index 0000000..595e77c
--- /dev/null
+++ b/assets/images/invest_screen/svg/time_square.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/invest_screen/svg/wallet.svg b/assets/images/invest_screen/svg/wallet.svg
new file mode 100644
index 0000000..003542b
--- /dev/null
+++ b/assets/images/invest_screen/svg/wallet.svg
@@ -0,0 +1,6 @@
+
diff --git a/lib/core/routes/route_name.dart b/lib/core/routes/route_name.dart
index 13a7870..2c02344 100644
--- a/lib/core/routes/route_name.dart
+++ b/lib/core/routes/route_name.dart
@@ -64,4 +64,7 @@ class RouteName {
//change password
static const String changePasswordScreen = "changePasswordScreen";
+
+ //invest
+ static const String investDetailScreen = "investDetailScreen";
}
diff --git a/lib/core/routes/routes.dart b/lib/core/routes/routes.dart
index 3625a83..490fcc2 100644
--- a/lib/core/routes/routes.dart
+++ b/lib/core/routes/routes.dart
@@ -3,6 +3,7 @@
import 'package:go_router/go_router.dart';
import 'package:tanami_app/core/routes/route_name.dart';
import 'package:tanami_app/features/MainScreens/Academy/presentation/pages/academy_details_screen.dart';
+import 'package:tanami_app/features/MainScreens/Invest/presentation/pages/invest_details_screen.dart';
import 'package:tanami_app/features/MainScreens/Portfolio/presentation/pages/portfolio_details_screen.dart';
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/walletDetails.dart';
@@ -217,6 +218,13 @@ final goRouter = GoRouter(
return const ChangePasswordScreen();
},
),
+ GoRoute(
+ name: RouteName.investDetailScreen,
+ path: RouteName.investDetailScreen,
+ builder: (context, state) {
+ return const InvestDetailsScreen();
+ },
+ ),
],
),
],
diff --git a/lib/core/styles/app_color.dart b/lib/core/styles/app_color.dart
index 8a54af0..c75199a 100644
--- a/lib/core/styles/app_color.dart
+++ b/lib/core/styles/app_color.dart
@@ -83,4 +83,11 @@ class AppColor {
//Delete Account Color
static const Color descriptionText = Color(0xFFC6C6C6);
+
+ //Invest Color
+ static const Color investKycCardColor = Color(0xFFEEF5FA);
+ static const Color investKycBorderColor = Color(0xFFB0D3EF);
+ static const Color investKycBoxShadow1Color = Color(0xFF90D4FF);
+ static const Color investKycBoxShadow2Color = Color(0xA0DAF0FF);
+ static const Color investTextColor = Color(0xFF066123);
}
diff --git a/lib/core/styles/app_images.dart b/lib/core/styles/app_images.dart
index 4099df1..4e8f49c 100644
--- a/lib/core/styles/app_images.dart
+++ b/lib/core/styles/app_images.dart
@@ -102,4 +102,14 @@ class AppImages {
//Language
static const String infoIcon =
'assets/images/language_screen/png/info_icon.png';
+
+ //Invest
+ static const String investIcon =
+ 'assets/images/invest_screen/svg/shield_done.svg';
+ static const String scannerIcon =
+ 'assets/images/invest_screen/svg/scanner.svg';
+ static const String ticketIcon = 'assets/images/invest_screen/svg/ticket.svg';
+ static const String walletIcon = 'assets/images/invest_screen/svg/wallet.svg';
+ static const String timeSquareIcon =
+ 'assets/images/invest_screen/svg/time_square.svg';
}
diff --git a/lib/core/styles/app_text.dart b/lib/core/styles/app_text.dart
index 9ed6ab8..8ffa8ec 100644
--- a/lib/core/styles/app_text.dart
+++ b/lib/core/styles/app_text.dart
@@ -121,7 +121,6 @@ class AppText {
static const String declineText = "Decline";
//Forgot Password
-
static const String restorePasswordText = "Restore password";
static const String toRestorePasswordPleaseEnterPhoneNumber =
"To restore password please enter phone number";
@@ -132,6 +131,30 @@ class AppText {
static const String walletTitle = "Wallet balance";
static const String day = "Today";
static const String onHold = "On hold";
+ static const String walletDetailsTitle = "Details";
+ static const String withdrawalScreenTitle = 'Enter bank details';
+ static const String status = "Status";
+ static const String paymentMethod = "Payment Method";
+ static const String accountName = "Account Name";
+ static const String accountHolderName =
+ 'Account Holder Name/Beneficiary Name';
+ static const String iban = "IBAN";
+ static const String beneficiaryAddress = "Beneficiary Address";
+ static const String bankName = "Bank Name";
+ static const String branchAddress = "Branch Address";
+ static const String SWIFTcode = "SWIFT/BIC code";
+ static const String refid = "Reference ID";
+ 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 balance = 'Wallet balance: ';
+ static const String withdrawTitle = 'Withdrawal';
+ static const String withdrawDetails = 'Withdrawal details';
+ static const String required = 'Fields with * are required';
+ static const String withdrawAmt = 'Total Withdrawal amount:';
+ static const String info2 = 'Payment can include transfer fee from your bank';
+ static const String next = 'Next';
+ static const String submit = 'Submit request';
//Settings
static const String settingsText = "Settings";
@@ -158,6 +181,10 @@ class AppText {
static const String noText = "No";
static const String yesText = "Yes";
static const String pinUpdatedSucess = "Pin updated Sucessfully !";
+ static const String passwordUpdatedSucess = "Password updated Sucessfully !";
+ static const String changePasswordText = "Change Password";
+ static const String newPasswordText = "New Password";
+ static const String currentPsswordText = "Current Password";
//Contact Admin
static const String byPhoneText = "By phone";
@@ -186,4 +213,19 @@ class AppText {
static const String theRequestWillBeProcessed =
"The request will be processed within 72 hours";
static const closeText = "Close";
+
+ //Invest
+ static const String investText = "Invest";
+ static const String availableText = "Available";
+ static const String closedText = "Closed";
+ static const String completeYourVerification = "Complete your verification";
+ static const String verifyYourAccountInUnderMinutesToStartInvestingToday =
+ "Verify your account in under 10 minutes to start investing today!";
+ static const String closingDateText = "Closing Date";
+ static const String fundedText = "funded";
+ static const String sponsorNameText = "Sponsor name";
+ static const String estimatedReturnText = "Estimated return";
+ static const String holdingPeriodText = "Holding period";
+ static const String minimumInvestmentText = "Minimum investment";
+ static const String keyMeritsIOfnvestmentText = "Key Merits of Investment";
}
diff --git a/lib/features/MainScreens/Invest/presentation/bloc/tab_bloc.dart b/lib/features/MainScreens/Invest/presentation/bloc/tab_bloc.dart
new file mode 100644
index 0000000..a953b48
--- /dev/null
+++ b/lib/features/MainScreens/Invest/presentation/bloc/tab_bloc.dart
@@ -0,0 +1,25 @@
+import 'package:bloc/bloc.dart';
+
+import 'tab_event.dart';
+import 'tab_state.dart';
+
+class TabBloc extends Bloc {
+ TabBloc() : super(const TabState()) {
+ on(_onLoadAvailableItems);
+ on(_onLoadClosedItems);
+ }
+
+ void _onLoadAvailableItems(LoadAvailableItems event, Emitter emit) {
+ // Simulate fetching available items
+ final availableItems =
+ List.generate(10, (index) => 'Available Item $index');
+ emit(state.copyWith(availableItems: availableItems));
+ }
+
+ void _onLoadClosedItems(LoadClosedItems event, Emitter emit) {
+ // Simulate fetching closed items
+ final closedItems =
+ List.generate(10, (index) => 'Closed Item $index');
+ emit(state.copyWith(closedItems: closedItems));
+ }
+}
diff --git a/lib/features/MainScreens/Invest/presentation/bloc/tab_event.dart b/lib/features/MainScreens/Invest/presentation/bloc/tab_event.dart
new file mode 100644
index 0000000..427e302
--- /dev/null
+++ b/lib/features/MainScreens/Invest/presentation/bloc/tab_event.dart
@@ -0,0 +1,12 @@
+import 'package:equatable/equatable.dart';
+
+abstract class TabEvent extends Equatable {
+ const TabEvent();
+
+ @override
+ List