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 feb59b7..b17021c 100644
--- a/lib/core/routes/route_name.dart
+++ b/lib/core/routes/route_name.dart
@@ -61,4 +61,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 73c2dc3..ed6891d 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';
@@ -193,6 +194,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 1959a24..d6be32b 100644
--- a/lib/core/styles/app_text.dart
+++ b/lib/core/styles/app_text.dart
@@ -189,4 +189,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