io api settings api
This commit is contained in:
1
assets/images/invest_screen/svg/google_pay.svg
Normal file
1
assets/images/invest_screen/svg/google_pay.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px"><path fill="#FFC107" d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"/><path fill="#FF3D00" d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"/><path fill="#4CAF50" d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"/><path fill="#1976D2" d="M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"/></svg>
|
||||
|
After Width: | Height: | Size: 988 B |
@@ -223,10 +223,10 @@
|
||||
"choosePaymentMethodText": "اختر طريقة الدفع",
|
||||
"balanceText": "الرصيد",
|
||||
"applePayText": "Apple Pay",
|
||||
"gPayText": "Gpay Pay",
|
||||
"gPayText": "جوجل الدفع",
|
||||
"bankTransferText": "حول الأموال مباشرة من حسابك المصرفي إلى محفظة تانامي الخاصة بك.",
|
||||
"instantTransferFundsApplePayText": "تحويل فوري للأموال باستخدام Apple Pay!",
|
||||
"instantTransferFundsGpayPayText": "تحويل فوري للأموال باستخدام Gpay Pay!",
|
||||
"instantTransferFundsGpayPayText": "تحويل فوري للأموال باستخدام Google Pay!",
|
||||
"retailInvestirCanInvestMaxText": "يمكن للمستثمرين التجزئة استثمار حد أقصى قدره 200,000 ريال سعودي في هذه الفرصة.",
|
||||
"upgradeYourInvestorStatusToIncreaseText": "قم بترقية حالة المستثمر الخاصة بك لزيادة حد الاستثمار الخاص بك.",
|
||||
"currentExchangeText": "سعر الصرف الحالي",
|
||||
@@ -327,7 +327,8 @@
|
||||
"securityDesc5": "لدينا فريق دعم عملاء مخصص لمساعدتك. يمكنك الاتصال بنا من خلال قسم الاتصال داخل التطبيق، أو عبر البريد الإلكتروني، أو الهاتف. نسعى لتقديم دعم سريع ومفيد لمعالجة أي أسئلة أو مخاوف قد تكون لديك.",
|
||||
"websiteText" : "موقع إلكتروني",
|
||||
"toRestorePasswordYouWillBeLoggedOut" : "لاستعادة كلمة المرور، سيتم تسجيل خروجك من التطبيق",
|
||||
"noDataAvailable" : "لا تتوافر بيانات"
|
||||
"noDataAvailable" : "لا تتوافر بيانات",
|
||||
"payWithGpayText": "ادفع باستخدام Google Pay"
|
||||
|
||||
}
|
||||
|
||||
@@ -139,6 +139,7 @@
|
||||
"next": "Next",
|
||||
"depositNoti": "Create deposit notification",
|
||||
"payWithAppleText": "Pay with Apple Pay",
|
||||
"payWithGpayText": "Pay with Google Pay",
|
||||
"submit": "Submit request",
|
||||
"Submit": "Submit",
|
||||
"submitDeposit": "Submit deposit",
|
||||
@@ -223,10 +224,10 @@
|
||||
"choosePaymentMethodText": "Choose payment method",
|
||||
"balanceText": "Balance",
|
||||
"applePayText": "Apple Pay",
|
||||
"gPayText": "Gpay Pay",
|
||||
"gPayText": "Google Pay",
|
||||
"bankTransferText": "Directly transfer funds from your bank account into your Tanami wallet.",
|
||||
"instantTransferFundsApplePayText": "Instant transfer of funds using Apple Pay!",
|
||||
"instantTransferFundsGpayPayText": "Instant transfer of funds using Gpay Pay!",
|
||||
"instantTransferFundsGpayPayText": "Instant transfer of funds using Google Pay!",
|
||||
"retailInvestirCanInvestMaxText": "Retail investors can invest a maximum of SAR 200,000 in this opportunity.",
|
||||
"upgradeYourInvestorStatusToIncreaseText": "Upgrade your investor status to increase your investment limit.",
|
||||
"currentExchangeText": "Current Exchange",
|
||||
|
||||
37
assets/payment/google_pay_config.json
Normal file
37
assets/payment/google_pay_config.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"provider": "google_pay",
|
||||
"data": {
|
||||
"environment": "TEST",
|
||||
"apiVersion": 2,
|
||||
"apiVersionMinor": 0,
|
||||
"allowedPaymentMethods": [
|
||||
{
|
||||
"type": "CARD",
|
||||
"tokenizationSpecification": {
|
||||
"type": "PAYMENT_GATEWAY",
|
||||
"parameters": {
|
||||
"gateway": "example",
|
||||
"gatewayMerchantId": "gatewayMerchantId"
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
"allowedCardNetworks": ["VISA", "MASTERCARD"],
|
||||
"allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
|
||||
"billingAddressRequired": true,
|
||||
"billingAddressParameters": {
|
||||
"format": "FULL",
|
||||
"phoneNumberRequired": true
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"merchantInfo": {
|
||||
"merchantId": "01234567890123456789",
|
||||
"merchantName": "Example Merchant Name"
|
||||
},
|
||||
"transactionInfo": {
|
||||
"countryCode": "US",
|
||||
"currencyCode": "USD"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -118,6 +118,8 @@ class AppImages {
|
||||
'assets/images/invest_screen/svg/time_square.svg';
|
||||
static const String applePayIcon =
|
||||
'assets/images/invest_screen/svg/apple_pay.svg';
|
||||
static const String googlePayIcon =
|
||||
'assets/images/invest_screen/svg/google_pay.svg';
|
||||
static const String walletSettingsIcon =
|
||||
'assets/images/settings_screen/svg/wallet_settings.svg';
|
||||
|
||||
|
||||
@@ -252,6 +252,7 @@ class AppText {
|
||||
static const String next = "next";
|
||||
static const String depositNoti = "depositNoti";
|
||||
static const String payWithAppleText = "payWithAppleText";
|
||||
static const String payWithGpayText = "payWithGpayText";
|
||||
static const String submit = "submit";
|
||||
static const String Submit = "Submit";
|
||||
static const String submitDeposit = "submitDeposit";
|
||||
|
||||
@@ -1,26 +1,5 @@
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class SecureStorageService {
|
||||
final FlutterSecureStorage _storage = const FlutterSecureStorage(
|
||||
aOptions: AndroidOptions(
|
||||
encryptedSharedPreferences: true,
|
||||
),
|
||||
);
|
||||
|
||||
Future<void> write(String key, String value) async {
|
||||
await _storage.write(key: key, value: value);
|
||||
}
|
||||
|
||||
Future<String?> read(String key) async {
|
||||
return await _storage.read(key: key);
|
||||
}
|
||||
|
||||
Future<void> delete(String key) async {
|
||||
await _storage.delete(key: key);
|
||||
}
|
||||
}
|
||||
|
||||
class SharedPreferenceLocalData {
|
||||
Future<void> write(String key, String value) async {
|
||||
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
// ignore: file_names
|
||||
import 'dart:convert';
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
@@ -6,6 +9,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:pay/pay.dart';
|
||||
|
||||
import '../../../../../../core/routes/route_name.dart';
|
||||
import '../../../../../../core/routes/routes.dart';
|
||||
@@ -26,6 +30,13 @@ class DepositLayout extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
const paymentItems = [
|
||||
PaymentItem(
|
||||
label: 'Total',
|
||||
amount: '99.99',
|
||||
status: PaymentItemStatus.final_price,
|
||||
)
|
||||
];
|
||||
var localizations = AppLocalizations.of(context);
|
||||
final depositPaymentBloc = context.read<DepositPaymentBloc>();
|
||||
int selectedIndex = 0;
|
||||
@@ -42,8 +53,12 @@ class DepositLayout extends StatelessWidget {
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
if (state.isFormValid) {
|
||||
if (selectedIndex == 1) {
|
||||
} else if (selectedIndex == 2) {
|
||||
} else {
|
||||
goRouter.pushNamed(RouteName.depositPreview);
|
||||
}
|
||||
}
|
||||
},
|
||||
child: selectedIndex == 1
|
||||
? Container(
|
||||
@@ -81,6 +96,21 @@ class DepositLayout extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
)
|
||||
: selectedIndex == 2
|
||||
? GooglePayButton(
|
||||
paymentConfiguration:
|
||||
PaymentConfiguration.fromJsonString(
|
||||
jsonEncode(JsonAssets.gpayAsset)),
|
||||
paymentItems: paymentItems,
|
||||
type: GooglePayButtonType.pay,
|
||||
margin: const EdgeInsets.only(top: 15.0),
|
||||
onPaymentResult: (paymentResult) {
|
||||
log(paymentResult.toString());
|
||||
},
|
||||
loadingIndicator: const Center(
|
||||
child: CircularProgressIndicator(),
|
||||
),
|
||||
)
|
||||
: Container(
|
||||
margin: const EdgeInsets.all(10.0),
|
||||
height: 65.h,
|
||||
@@ -319,3 +349,9 @@ class DepositLayout extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class JsonAssets {
|
||||
JsonAssets._();
|
||||
|
||||
static const String gpayAsset = 'assets/payment/google_pay_config.json';
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
@@ -108,7 +110,8 @@ class DepositPayMethodSection extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
const Gap(12),
|
||||
GestureDetector(
|
||||
Platform.isIOS
|
||||
? GestureDetector(
|
||||
onTap: () {
|
||||
radioBloc.add(const RadioSelected(1));
|
||||
},
|
||||
@@ -165,7 +168,8 @@ class DepositPayMethodSection extends StatelessWidget {
|
||||
SvgPicture.asset(AppImages.applePayIcon),
|
||||
const Gap(5),
|
||||
TextWidget().text14W700(
|
||||
localizations.translate(AppText.applePayText),
|
||||
localizations
|
||||
.translate(AppText.applePayText),
|
||||
clr: AppColor.textLabelColor),
|
||||
],
|
||||
),
|
||||
@@ -175,8 +179,86 @@ class DepositPayMethodSection extends StatelessWidget {
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: TextWidget().text14W500(
|
||||
localizations
|
||||
.translate(AppText.instantTransferFundsApplePayText),
|
||||
localizations.translate(
|
||||
AppText.instantTransferFundsApplePayText),
|
||||
clr: AppColor.textLabelColor,
|
||||
txtAlign: TextAlign.start,
|
||||
),
|
||||
),
|
||||
const Gap(12),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
: GestureDetector(
|
||||
onTap: () {
|
||||
radioBloc.add(const RadioSelected(2));
|
||||
},
|
||||
child: Container(
|
||||
clipBehavior: Clip.antiAlias,
|
||||
// padding: const EdgeInsets.all(12),
|
||||
decoration: ShapeDecoration(
|
||||
color: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
side: const BorderSide(color: Color(0xFFD8D8D8)),
|
||||
borderRadius: BorderRadius.circular(22),
|
||||
),
|
||||
shadows: const [
|
||||
BoxShadow(
|
||||
color: Color(0x14000000),
|
||||
blurRadius: 8,
|
||||
offset: Offset(-2, -2),
|
||||
spreadRadius: 0.2,
|
||||
),
|
||||
BoxShadow(
|
||||
color: Color(0x3391978E),
|
||||
blurRadius: 8,
|
||||
offset: Offset(2, 2),
|
||||
spreadRadius: 1,
|
||||
)
|
||||
],
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
color: selectedIndex == 1
|
||||
? const Color(0xFFE4F5E9)
|
||||
: const Color(0xCCE2E2E2),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Radio<int>(
|
||||
activeColor: AppColor.radioActiveColor,
|
||||
value: 2,
|
||||
groupValue: selectedIndex,
|
||||
onChanged: (int? value) {
|
||||
if (value != null) {
|
||||
radioBloc.add(RadioSelected(value));
|
||||
}
|
||||
},
|
||||
),
|
||||
const Gap(5),
|
||||
SvgPicture.asset(AppImages.googlePayIcon),
|
||||
const Gap(5),
|
||||
TextWidget().text14W700(
|
||||
localizations.translate(AppText.gPayText),
|
||||
clr: AppColor.textLabelColor),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: TextWidget().text14W500(
|
||||
localizations.translate(
|
||||
AppText.instantTransferFundsGpayPayText),
|
||||
clr: AppColor.textLabelColor,
|
||||
txtAlign: TextAlign.start,
|
||||
),
|
||||
|
||||
@@ -5,7 +5,6 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:tanami_app/core/styles/app_color.dart';
|
||||
import 'package:tanami_app/features/countrySelection/bloc/GetCountry/get_country_bloc.dart';
|
||||
import 'package:tanami_app/features/countrySelection/bloc/GetCountry/get_country_event.dart';
|
||||
import 'package:tanami_app/shared/components/text_widget.dart';
|
||||
|
||||
import '../../../../shared/api/api_endpoints.dart';
|
||||
@@ -34,9 +33,9 @@ class CountrySelectionList extends StatelessWidget {
|
||||
const SnackBar(content: Text("Successfully fetch"));
|
||||
} else if (state is CountryError) {
|
||||
const SnackBar(content: Text("error while fetching data"));
|
||||
Future.delayed(const Duration(milliseconds: 3), () {
|
||||
context.read<GetCountryBlock>().add(GetCountry());
|
||||
});
|
||||
// Future.delayed(const Duration(milliseconds: 3), () {
|
||||
// context.read<GetCountryBlock>().add(GetCountry());
|
||||
// });
|
||||
} else {
|
||||
const SnackBar(content: Text("not fetch"));
|
||||
}
|
||||
@@ -53,6 +52,9 @@ class CountrySelectionList extends StatelessWidget {
|
||||
var country = state.countryModel.data![index];
|
||||
|
||||
return ListTile(
|
||||
onTap: () {
|
||||
radioBloc.add(RadioSelected(index));
|
||||
},
|
||||
title: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
|
||||
@@ -27,6 +27,7 @@ class ToggleBloc extends Bloc<ToggleEvent, ToggleState> {
|
||||
|
||||
Map<String, dynamic> biometricdata = {
|
||||
"code": await secureStorageService.read("temp_token"),
|
||||
"is_2FA_on": false,
|
||||
"deviceId": "test-id",
|
||||
"biometric_type": Platform.isIOS ? "face" : "fingerprint"
|
||||
};
|
||||
|
||||
@@ -7,16 +7,12 @@
|
||||
#include "generated_plugin_registrant.h"
|
||||
|
||||
#include <flutter_localization/flutter_localization_plugin.h>
|
||||
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
|
||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
||||
|
||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||
g_autoptr(FlPluginRegistrar) flutter_localization_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterLocalizationPlugin");
|
||||
flutter_localization_plugin_register_with_registrar(flutter_localization_registrar);
|
||||
g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin");
|
||||
flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar);
|
||||
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
||||
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
list(APPEND FLUTTER_PLUGIN_LIST
|
||||
flutter_localization
|
||||
flutter_secure_storage_linux
|
||||
url_launcher_linux
|
||||
)
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ import connectivity_plus
|
||||
import device_info_plus
|
||||
import firebase_core
|
||||
import flutter_localization
|
||||
import flutter_secure_storage_macos
|
||||
import package_info_plus
|
||||
import path_provider_foundation
|
||||
import shared_preferences_foundation
|
||||
@@ -24,7 +23,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
|
||||
FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin"))
|
||||
FlutterLocalizationPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalizationPlugin"))
|
||||
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
|
||||
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
||||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
||||
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
||||
|
||||
138
pubspec.lock
138
pubspec.lock
@@ -17,14 +17,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.4.1"
|
||||
archive:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: archive
|
||||
sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.6.1"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -185,14 +177,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.8.1"
|
||||
cli_util:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cli_util
|
||||
sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.1"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -250,7 +234,7 @@ packages:
|
||||
source: hosted
|
||||
version: "3.1.1"
|
||||
crypto:
|
||||
dependency: "direct main"
|
||||
dependency: transitive
|
||||
description:
|
||||
name: crypto
|
||||
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
||||
@@ -414,22 +398,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.3.2"
|
||||
flutter_jailbreak_detection:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_jailbreak_detection
|
||||
sha256: "67ff11ea41965152d24db7104da1f9b343f94ada64c2a9e309ec4d753a12d281"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.10.0"
|
||||
flutter_launcher_icons:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: flutter_launcher_icons
|
||||
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.13.1"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -467,54 +435,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.9.3"
|
||||
flutter_secure_storage:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_secure_storage
|
||||
sha256: "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "9.2.2"
|
||||
flutter_secure_storage_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_secure_storage_linux
|
||||
sha256: "4d91bfc23047422cbcd73ac684bc169859ee766482517c22172c86596bf1464b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
flutter_secure_storage_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_secure_storage_macos
|
||||
sha256: "1693ab11121a5f925bbea0be725abfcfbbcf36c1e29e571f84a0c0f436147a81"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
flutter_secure_storage_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_secure_storage_platform_interface
|
||||
sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
flutter_secure_storage_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_secure_storage_web
|
||||
sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
flutter_secure_storage_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_secure_storage_windows
|
||||
sha256: b20b07cb5ed4ed74fc567b78a72936203f587eba460af1df11281c9326cd3709
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
flutter_svg:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -621,14 +541,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image
|
||||
sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.2.0"
|
||||
intl:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -749,14 +661,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
lottie:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: lottie
|
||||
sha256: "6a24ade5d3d918c306bb1c21a6b9a04aab0489d51a2582522eea820b4093b62b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
matcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -917,6 +821,38 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.0+3"
|
||||
pay:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: pay
|
||||
sha256: ad904db0e06848cade6990a3ce1e10e921ae48f7ee06447873e07b9688ac1fc5
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
pay_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pay_android
|
||||
sha256: aa46cd0ece1807d3fa293113fdb84afb5fc4b6ed60cf09a4886b753acb300859
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
pay_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pay_ios
|
||||
sha256: "75ccb285d03f22b136c58ab8e8e0c4b614ee52a8b67e6ccfb680d4d8c04a70f6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.11"
|
||||
pay_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pay_platform_interface
|
||||
sha256: "26a379e33c46508987c7afee8cde6f4aca5b5ab0afc697c27efbd33a9c2ea82a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
permission_handler:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1037,14 +973,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.27.7"
|
||||
secure_application:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: secure_application
|
||||
sha256: b8e34b4bc2467a3a3c0a649e46ae6a442df7ca27aeaddebb8a53c40656da0385
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.1"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
||||
30
pubspec.yaml
30
pubspec.yaml
@@ -45,7 +45,7 @@ dependencies:
|
||||
firebase_core: ^2.31.1
|
||||
|
||||
# Animation
|
||||
lottie: ^3.1.2
|
||||
#lottie: ^3.1.2
|
||||
shimmer: ^3.0.0
|
||||
smooth_page_indicator: ^1.1.0
|
||||
|
||||
@@ -56,11 +56,10 @@ dependencies:
|
||||
|
||||
# Security
|
||||
shared_preferences: ^2.2.3
|
||||
flutter_secure_storage: ^9.2.2
|
||||
local_auth: ^2.2.0
|
||||
crypto: ^3.0.3
|
||||
flutter_jailbreak_detection: ^1.10.0
|
||||
secure_application: ^4.0.1
|
||||
#crypto: ^3.0.3
|
||||
# flutter_jailbreak_detection: ^1.10.0
|
||||
# secure_application: ^4.0.1
|
||||
|
||||
# Toast Messages
|
||||
toastification: ^2.0.0
|
||||
@@ -77,6 +76,8 @@ dependencies:
|
||||
|
||||
#OTP Autofill
|
||||
sms_autofill: ^2.3.1
|
||||
|
||||
#Image
|
||||
carousel_slider: ^4.2.1
|
||||
|
||||
#Url Launcher
|
||||
@@ -104,6 +105,9 @@ dependencies:
|
||||
#Pdf
|
||||
syncfusion_flutter_pdfviewer:
|
||||
|
||||
#Payment
|
||||
pay: ^2.0.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
@@ -111,15 +115,14 @@ dev_dependencies:
|
||||
build_runner:
|
||||
|
||||
flutter_lints: ^3.0.0
|
||||
flutter_launcher_icons: ^0.13.1
|
||||
|
||||
flutter_launcher_icons:
|
||||
android: "launcher_icon"
|
||||
ios: true
|
||||
image_path: "assets/images/Vector.jpg"
|
||||
min_sdk_android: 21
|
||||
remove_alpha_ios: true
|
||||
# flutter_launcher_icons: ^0.13.1
|
||||
|
||||
# flutter_launcher_icons:
|
||||
# android: "launcher_icon"
|
||||
# ios: true
|
||||
# image_path: "assets/images/Vector.jpg"
|
||||
# min_sdk_android: 21
|
||||
# remove_alpha_ios: true
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
@@ -156,3 +159,4 @@ flutter:
|
||||
- assets/images/no_internet/png/
|
||||
- assets/language/en.json
|
||||
- assets/language/ar.json
|
||||
- assets/payment/
|
||||
|
||||
@@ -9,10 +9,8 @@
|
||||
#include <connectivity_plus/connectivity_plus_windows_plugin.h>
|
||||
#include <firebase_core/firebase_core_plugin_c_api.h>
|
||||
#include <flutter_localization/flutter_localization_plugin_c_api.h>
|
||||
#include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h>
|
||||
#include <local_auth_windows/local_auth_plugin.h>
|
||||
#include <permission_handler_windows/permission_handler_windows_plugin.h>
|
||||
#include <secure_application/secure_application_plugin.h>
|
||||
#include <syncfusion_pdfviewer_windows/syncfusion_pdfviewer_windows_plugin.h>
|
||||
#include <url_launcher_windows/url_launcher_windows.h>
|
||||
|
||||
@@ -23,14 +21,10 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
|
||||
registry->GetRegistrarForPlugin("FirebaseCorePluginCApi"));
|
||||
FlutterLocalizationPluginCApiRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("FlutterLocalizationPluginCApi"));
|
||||
FlutterSecureStorageWindowsPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin"));
|
||||
LocalAuthPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("LocalAuthPlugin"));
|
||||
PermissionHandlerWindowsPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
|
||||
SecureApplicationPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("SecureApplicationPlugin"));
|
||||
SyncfusionPdfviewerWindowsPluginRegisterWithRegistrar(
|
||||
registry->GetRegistrarForPlugin("SyncfusionPdfviewerWindowsPlugin"));
|
||||
UrlLauncherWindowsRegisterWithRegistrar(
|
||||
|
||||
@@ -6,10 +6,8 @@ list(APPEND FLUTTER_PLUGIN_LIST
|
||||
connectivity_plus
|
||||
firebase_core
|
||||
flutter_localization
|
||||
flutter_secure_storage_windows
|
||||
local_auth_windows
|
||||
permission_handler_windows
|
||||
secure_application
|
||||
syncfusion_pdfviewer_windows
|
||||
url_launcher_windows
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user