firebase setup
This commit is contained in:
parent
0eb8d27bde
commit
7d3e2c5603
|
|
@ -1,36 +1,26 @@
|
||||||
{
|
{
|
||||||
"project_info": {
|
"project_info": {
|
||||||
"project_number": "186538881179",
|
"project_number": "283547367653",
|
||||||
"project_id": "elektronika-app",
|
"project_id": "elektronikatm",
|
||||||
"storage_bucket": "elektronika-app.appspot.com"
|
"storage_bucket": "elektronikatm.appspot.com"
|
||||||
},
|
},
|
||||||
"client": [
|
"client": [
|
||||||
{
|
{
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:186538881179:android:96a2f9ce98f8bbf00f563e",
|
"mobilesdk_app_id": "1:283547367653:android:c08fb01d915c3874487c0c",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "com.elektronika.tm"
|
"package_name": "com.elektronika.tm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth_client": [
|
"oauth_client": [],
|
||||||
{
|
|
||||||
"client_id": "186538881179-j5f608hapm9p4cmdo01fe6r8atca6ep8.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
"api_key": [
|
||||||
{
|
{
|
||||||
"current_key": "AIzaSyD9JBvYuGMFymroLwL9rYxkqB6u7EIaee0"
|
"current_key": "AIzaSyAOMSH8EgasYe-vJkF7NNMFs42N27P2Ax4"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"services": {
|
"services": {
|
||||||
"appinvite_service": {
|
"appinvite_service": {
|
||||||
"other_platform_oauth_client": [
|
"other_platform_oauth_client": []
|
||||||
{
|
|
||||||
"client_id": "186538881179-j5f608hapm9p4cmdo01fe6r8atca6ep8.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.6.10'
|
ext.kotlin_version = '1.8.0'
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|
@ -27,6 +27,6 @@ subprojects {
|
||||||
project.evaluationDependsOn(':app')
|
project.evaluationDependsOn(':app')
|
||||||
}
|
}
|
||||||
|
|
||||||
task clean(type: Delete) {
|
tasks.register("clean", Delete) {
|
||||||
delete rootProject.buildDir
|
delete rootProject.buildDir
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"file_generated_by": "FlutterFire CLI",
|
"file_generated_by": "FlutterFire CLI",
|
||||||
"purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
|
"purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
|
||||||
"GOOGLE_APP_ID": "1:186538881179:ios:fb651acd4ce97d5d0f563e",
|
"GOOGLE_APP_ID": "1:283547367653:ios:a0be3b851b594489487c0c",
|
||||||
"FIREBASE_PROJECT_ID": "elektronika-app",
|
"FIREBASE_PROJECT_ID": "elektronikatm",
|
||||||
"GCM_SENDER_ID": "186538881179"
|
"GCM_SENDER_ID": "283547367653"
|
||||||
}
|
}
|
||||||
|
|
@ -126,6 +126,7 @@ const Map<String, String> ruRu = {
|
||||||
'payment_unsuccess': 'Платеж не прошел, повторите попытку позже!',
|
'payment_unsuccess': 'Платеж не прошел, повторите попытку позже!',
|
||||||
'approve_lang': 'Продолжить',
|
'approve_lang': 'Продолжить',
|
||||||
'select_language': 'Выберите язык',
|
'select_language': 'Выберите язык',
|
||||||
'profile':'Профиль',
|
'profile': 'Профиль',
|
||||||
'discounted_price': 'Товары со скидкой',
|
'discounted_price': 'Товары со скидкой',
|
||||||
|
'weekly_offers': 'Товар недели',
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -128,4 +128,5 @@ const Map<String, String> tmTM = {
|
||||||
'select_language': 'Dili saýlaň',
|
'select_language': 'Dili saýlaň',
|
||||||
'profile': 'Profil',
|
'profile': 'Profil',
|
||||||
'discounted_price': 'Arzanladyşdaky harytlar',
|
'discounted_price': 'Arzanladyşdaky harytlar',
|
||||||
|
'weekly_offers': 'Hepdäniň pursatlary',
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ Map<String, dynamic> _readAndroidBuildData(AndroidDeviceInfo build) {
|
||||||
'tags': build.tags,
|
'tags': build.tags,
|
||||||
'type': build.type,
|
'type': build.type,
|
||||||
'isPhysicalDevice': build.isPhysicalDevice,
|
'isPhysicalDevice': build.isPhysicalDevice,
|
||||||
'androidId': build.androidId,
|
'androidId': build.id,
|
||||||
'systemFeatures': build.systemFeatures,
|
'systemFeatures': build.systemFeatures,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ Future<String> downloadFile(String url, String filename) async {
|
||||||
options: Options(
|
options: Options(
|
||||||
responseType: ResponseType.bytes,
|
responseType: ResponseType.bytes,
|
||||||
followRedirects: false,
|
followRedirects: false,
|
||||||
receiveTimeout: 5000000,
|
receiveTimeout: Duration(seconds: 5),
|
||||||
));
|
));
|
||||||
|
|
||||||
final file = File(filePath);
|
final file = File(filePath);
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@ class HttpUtil {
|
||||||
HttpUtil._internal() {
|
HttpUtil._internal() {
|
||||||
BaseOptions options = new BaseOptions(
|
BaseOptions options = new BaseOptions(
|
||||||
baseUrl: Constants.BASE_URL,
|
baseUrl: Constants.BASE_URL,
|
||||||
connectTimeout: 100000,
|
connectTimeout: Duration(seconds: 4),
|
||||||
receiveTimeout: 50000,
|
receiveTimeout: Duration(seconds: 5),
|
||||||
headers: {},
|
headers: {},
|
||||||
contentType: 'application/json; charset=utf-8',
|
contentType: 'application/json; charset=utf-8',
|
||||||
);
|
);
|
||||||
|
|
@ -35,9 +35,9 @@ class HttpUtil {
|
||||||
return handler.next(response);
|
return handler.next(response);
|
||||||
},
|
},
|
||||||
onError: (DioError e, handler) {
|
onError: (DioError e, handler) {
|
||||||
ErrorEntity eInfo = createErrorEntity(e);
|
// ErrorEntity eInfo = createErrorEntity(e);
|
||||||
|
|
||||||
switch (eInfo.code) {
|
switch (e.response!.statusCode) {
|
||||||
case 401: // No permission to log in again
|
case 401: // No permission to log in again
|
||||||
setLoginStatus(false);
|
setLoginStatus(false);
|
||||||
break;
|
break;
|
||||||
|
|
@ -48,60 +48,60 @@ class HttpUtil {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorEntity createErrorEntity(DioError error) {
|
// ErrorEntity createErrorEntity(DioError error) {
|
||||||
switch (error.type) {
|
// switch (error.type) {
|
||||||
case DioErrorType.cancel:
|
// case DioErrorType.cancel:
|
||||||
return ErrorEntity(code: -1, message: 'Request cancellation');
|
// return ErrorEntity(code: -1, message: 'Request cancellation');
|
||||||
case DioErrorType.connectTimeout:
|
// case DioErrorType.connectTimeout:
|
||||||
return ErrorEntity(code: -1, message: 'Connection timed out');
|
// return ErrorEntity(code: -1, message: 'Connection timed out');
|
||||||
case DioErrorType.sendTimeout:
|
// case DioErrorType.sendTimeout:
|
||||||
return ErrorEntity(code: -1, message: 'Request timed out');
|
// return ErrorEntity(code: -1, message: 'Request timed out');
|
||||||
case DioErrorType.receiveTimeout:
|
// case DioErrorType.receiveTimeout:
|
||||||
return ErrorEntity(code: -1, message: 'Response timeout');
|
// return ErrorEntity(code: -1, message: 'Response timeout');
|
||||||
case DioErrorType.response:
|
// case DioErrorType.response:
|
||||||
{
|
// {
|
||||||
try {
|
// try {
|
||||||
int? errCode = error.response?.statusCode;
|
// int? errCode = error.response?.statusCode;
|
||||||
switch (errCode) {
|
// switch (errCode) {
|
||||||
case 400:
|
// case 400:
|
||||||
return ErrorEntity(code: errCode, message: 'Request syntax error');
|
// return ErrorEntity(code: errCode, message: 'Request syntax error');
|
||||||
case 401:
|
// case 401:
|
||||||
return ErrorEntity(code: errCode, message: 'Username or password incorrect');
|
// return ErrorEntity(code: errCode, message: 'Username or password incorrect');
|
||||||
case 403:
|
// case 403:
|
||||||
return ErrorEntity(code: errCode, message: 'Server refused to execute');
|
// return ErrorEntity(code: errCode, message: 'Server refused to execute');
|
||||||
case 404:
|
// case 404:
|
||||||
return ErrorEntity(code: errCode, message: 'Can not reach server');
|
// return ErrorEntity(code: errCode, message: 'Can not reach server');
|
||||||
case 405:
|
// case 405:
|
||||||
return ErrorEntity(code: errCode, message: 'Request method is forbidden');
|
// return ErrorEntity(code: errCode, message: 'Request method is forbidden');
|
||||||
case 405:
|
// case 405:
|
||||||
return ErrorEntity(code: errCode, message: 'User already registered');
|
// return ErrorEntity(code: errCode, message: 'User already registered');
|
||||||
case 500:
|
// case 500:
|
||||||
return ErrorEntity(code: errCode, message: 'Server internal error');
|
// return ErrorEntity(code: errCode, message: 'Server internal error');
|
||||||
case 502:
|
// case 502:
|
||||||
return ErrorEntity(code: errCode, message: 'Invalid request');
|
// return ErrorEntity(code: errCode, message: 'Invalid request');
|
||||||
case 503:
|
// case 503:
|
||||||
return ErrorEntity(code: errCode, message: 'Server hung up');
|
// return ErrorEntity(code: errCode, message: 'Server hung up');
|
||||||
case 505:
|
// case 505:
|
||||||
return ErrorEntity(code: errCode, message: 'Does not support HTTP protocol request');
|
// return ErrorEntity(code: errCode, message: 'Does not support HTTP protocol request');
|
||||||
default:
|
// default:
|
||||||
{
|
// {
|
||||||
// return ErrorEntity(code: errCode, message: 'Unknown error');
|
// // return ErrorEntity(code: errCode, message: 'Unknown error');
|
||||||
return ErrorEntity(
|
// return ErrorEntity(
|
||||||
code: errCode,
|
// code: errCode,
|
||||||
message: error.response?.statusMessage,
|
// message: error.response?.statusMessage,
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
} on Exception catch (_) {
|
// } on Exception catch (_) {
|
||||||
return ErrorEntity(code: -1, message: 'Unknown error');
|
// return ErrorEntity(code: -1, message: 'Unknown error');
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
default:
|
// default:
|
||||||
{
|
// {
|
||||||
return ErrorEntity(code: -1, message: error.message);
|
// return ErrorEntity(code: -1, message: error.message);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
void cancelRequests(CancelToken token) {
|
void cancelRequests(CancelToken token) {
|
||||||
token.cancel('cancelled');
|
token.cancel('cancelled');
|
||||||
|
|
@ -150,7 +150,8 @@ class HttpUtil {
|
||||||
Map<String, dynamic>? authorization = await getAuthorizationHeader();
|
Map<String, dynamic>? authorization = await getAuthorizationHeader();
|
||||||
requestOptions.headers!.addAll(authorization);
|
requestOptions.headers!.addAll(authorization);
|
||||||
|
|
||||||
var response = await dio.get(path, queryParameters: queryParameters, options: requestOptions, cancelToken: cancelToken);
|
var response =
|
||||||
|
await dio.get(path, queryParameters: queryParameters, options: requestOptions, cancelToken: cancelToken);
|
||||||
|
|
||||||
return response.data;
|
return response.data;
|
||||||
}
|
}
|
||||||
|
|
@ -243,7 +244,7 @@ class HttpUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// restful post form
|
/// restful post form
|
||||||
Future postForm(
|
Future postForm(
|
||||||
String path, {
|
String path, {
|
||||||
required Map<String, dynamic> data,
|
required Map<String, dynamic> data,
|
||||||
Map<String, dynamic>? queryParameters,
|
Map<String, dynamic>? queryParameters,
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import 'package:firebase_core/firebase_core.dart';
|
||||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import '../../../firebase_options.dart';
|
import '../../../firebase_options.dart';
|
||||||
import '../../app.dart';
|
import '../../app.dart';
|
||||||
|
|
@ -202,21 +203,40 @@ class FCMFunctions {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _performClickAction(RemoteMessage message) async {
|
Future<void> _performClickAction(RemoteMessage message) async {
|
||||||
// if (message.data['type'] == 'product') {
|
if (message.data['type'] == 'product') {
|
||||||
// final int productId = int.parse(message.data['id']);
|
final int productId = int.parse(message.data['id']);
|
||||||
// final ProductModel? model = await ProductApi.getProductById(productId);
|
final ProductModel? model = await ProductApi.getProductById(productId);
|
||||||
// if (model != null) Get.to(() => ProductDetailsPage(model: model));
|
if (model != null) Get.to(() => ProductDetailsPage(model: model));
|
||||||
// } else if (message.data['type'] == 'filter') {
|
} else if (message.data['type'] == 'category_id') {
|
||||||
// message.data.remove('type');
|
final args = {
|
||||||
// navigateToProductListScreen(message.data, false);
|
'type': 'category_id',
|
||||||
// } else {
|
'id': message.data['id'],
|
||||||
// open dialog
|
'name':message.data['name']
|
||||||
// if (message.notification == null) return;
|
};
|
||||||
|
navigateToProductListScreen(args);
|
||||||
|
} else {
|
||||||
|
// open dialog
|
||||||
|
// if (message.notification == null) return;
|
||||||
|
// Get.to(
|
||||||
|
// () => NotificationPage(title: message.notification!.title ?? '', data: message.notification!.body ?? ''),
|
||||||
|
// );
|
||||||
|
}
|
||||||
|
|
||||||
// Get.to(
|
/**
|
||||||
// () => NotificationPage(title: message.notification!.title ?? '', data: message.notification!.body ?? ''),
|
* @params send via firebase
|
||||||
// );
|
*
|
||||||
// }
|
* @params for product
|
||||||
|
* {
|
||||||
|
* "type": "product",
|
||||||
|
* "id":1922
|
||||||
|
* }
|
||||||
|
* @params for category
|
||||||
|
* {
|
||||||
|
* "type": "category_id",
|
||||||
|
* "id":2
|
||||||
|
* "name": "Category Name",
|
||||||
|
* }
|
||||||
|
**/
|
||||||
}
|
}
|
||||||
|
|
||||||
String? _getImageUrl(RemoteNotification notification) {
|
String? _getImageUrl(RemoteNotification notification) {
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,22 @@ class ProductApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Future<ProductModel?> getProductById(int id) async {
|
||||||
|
final String fnName = 'getProductById';
|
||||||
|
|
||||||
|
try {
|
||||||
|
debugPrint('class: $className, method: $fnName, params: $id');
|
||||||
|
|
||||||
|
String path = Constants.BASE_URL + 'products/$id';
|
||||||
|
|
||||||
|
final response = await HttpUtil().get(path: path);
|
||||||
|
|
||||||
|
return ProductModel.fromJson(response['data']);
|
||||||
|
} catch (e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Future<Map<String, dynamic>?> getProductVariants(int productId) async {
|
static Future<Map<String, dynamic>?> getProductVariants(int productId) async {
|
||||||
final String fnName = 'getProductVariants';
|
final String fnName = 'getProductVariants';
|
||||||
|
|
||||||
|
|
@ -62,7 +78,8 @@ class ProductApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static Future<List<ProductAdditionalInfoModel>?> getProductAdditionalInfo(int productId, Map<String, dynamic> params) async {
|
static Future<List<ProductAdditionalInfoModel>?> getProductAdditionalInfo(
|
||||||
|
int productId, Map<String, dynamic> params) async {
|
||||||
final String fnName = 'getProductAdditionalInfo';
|
final String fnName = 'getProductAdditionalInfo';
|
||||||
|
|
||||||
final List<ProductAdditionalInfoModel> list = [];
|
final List<ProductAdditionalInfoModel> list = [];
|
||||||
|
|
|
||||||
|
|
@ -56,9 +56,18 @@ class CustomAppbarWidget extends StatelessWidget implements PreferredSizeWidget
|
||||||
controller.state.cartModel.value != null /* && controller.state.cartModel.value?.itemsQty != 0 */
|
controller.state.cartModel.value != null /* && controller.state.cartModel.value?.itemsQty != 0 */
|
||||||
? badge.Badge(
|
? badge.Badge(
|
||||||
position: badge.BadgePosition.topEnd(top: -14),
|
position: badge.BadgePosition.topEnd(top: -14),
|
||||||
animationType: badge.BadgeAnimationType.scale,
|
// animationType: badge.BadgeAnimationType.scale,
|
||||||
animationDuration: Duration(milliseconds: 300),
|
// animationDuration: Duration(milliseconds: 300),
|
||||||
badgeColor: ThemeColor.mainColor.withOpacity(0.70),
|
// badgeColor: ThemeColor.mainColor.withOpacity(0.70),
|
||||||
|
badgeAnimation: badge.BadgeAnimation.rotation(
|
||||||
|
animationDuration: Duration(milliseconds: 300),
|
||||||
|
colorChangeAnimationDuration: Duration(seconds: 1),
|
||||||
|
curve: Curves.fastOutSlowIn,
|
||||||
|
colorChangeAnimationCurve: Curves.easeInCubic,
|
||||||
|
),
|
||||||
|
badgeStyle: badge.BadgeStyle(
|
||||||
|
badgeColor: ThemeColor.mainColor.withOpacity(0.70),
|
||||||
|
),
|
||||||
badgeContent: Text(
|
badgeContent: Text(
|
||||||
controller.state.cartModel.value?.itemsQty.toString() ?? '',
|
controller.state.cartModel.value?.itemsQty.toString() ?? '',
|
||||||
style: new TextStyle(
|
style: new TextStyle(
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ Widget cachedImageNetwork(
|
||||||
child: url.contains('https://')
|
child: url.contains('https://')
|
||||||
? CachedNetworkImage(
|
? CachedNetworkImage(
|
||||||
imageUrl: url,
|
imageUrl: url,
|
||||||
|
fit: boxFit,
|
||||||
imageBuilder: (context, imageProvider) => Container(
|
imageBuilder: (context, imageProvider) => Container(
|
||||||
width: width,
|
width: width,
|
||||||
height: height,
|
height: height,
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ class HorizontalScrollableProducts extends StatefulWidget {
|
||||||
|
|
||||||
class _HorizontalScrollableProductsState extends State<HorizontalScrollableProducts> {
|
class _HorizontalScrollableProductsState extends State<HorizontalScrollableProducts> {
|
||||||
late PagewiseLoadController<ProductModel> pagewiseLoadController;
|
late PagewiseLoadController<ProductModel> pagewiseLoadController;
|
||||||
|
bool hasData = true;
|
||||||
|
|
||||||
Future<void> initPageWiseController() async {
|
Future<void> initPageWiseController() async {
|
||||||
pagewiseLoadController = PagewiseLoadController(
|
pagewiseLoadController = PagewiseLoadController(
|
||||||
|
|
@ -35,7 +36,13 @@ class _HorizontalScrollableProductsState extends State<HorizontalScrollableProdu
|
||||||
this.widget.param.keys.first: this.widget.param.values.first,
|
this.widget.param.keys.first: this.widget.param.values.first,
|
||||||
};
|
};
|
||||||
|
|
||||||
return await ProductApi.getHomePageProducts(apiParams, this.widget.param['url']);
|
final data = await ProductApi.getHomePageProducts(apiParams, this.widget.param['url']);
|
||||||
|
|
||||||
|
setState(() {
|
||||||
|
hasData = data.isNotEmpty;
|
||||||
|
});
|
||||||
|
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -46,67 +53,70 @@ class _HorizontalScrollableProductsState extends State<HorizontalScrollableProdu
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Column(
|
return hasData
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
? Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
mainAxisSize: MainAxisSize.min,
|
||||||
Text(
|
children: [
|
||||||
widget.param['title'],
|
Text(
|
||||||
style: AppTheme.homepageTitleTxtStyle,
|
widget.param['title'],
|
||||||
),
|
style: AppTheme.homepageTitleTxtStyle,
|
||||||
SizedBox(height: 20.h),
|
),
|
||||||
ConstrainedBox(
|
SizedBox(height: 20.h),
|
||||||
constraints: BoxConstraints(maxHeight: 280.h, minHeight: 250.h),
|
ConstrainedBox(
|
||||||
child: Container(
|
constraints: BoxConstraints(maxHeight: 280.h, minHeight: 250.h),
|
||||||
color: Colors.white,
|
|
||||||
child: PagewiseListView<ProductModel>(
|
|
||||||
scrollDirection: Axis.horizontal,
|
|
||||||
shrinkWrap: true,
|
|
||||||
showRetry: false,
|
|
||||||
// pageSize: Constants.PAGE_SIZE,
|
|
||||||
itemBuilder: (_, model, i) => ItemBuilder(model: model),
|
|
||||||
pageLoadController: pagewiseLoadController,
|
|
||||||
// pageFuture: (pageIndex) => pc.fetchProducts(pageIndex!),
|
|
||||||
loadingBuilder: (context) {
|
|
||||||
return Container(
|
|
||||||
// To remove left padding 16
|
|
||||||
padding: EdgeInsets.only(right: 16.w),
|
|
||||||
width: 1.sw,
|
|
||||||
height: 0.15.sh,
|
|
||||||
child: Center(child: CustomLoader()),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
errorBuilder: (_, error) => InkWell(
|
|
||||||
onTap: () async {
|
|
||||||
await _fetchProducts(1);
|
|
||||||
pagewiseLoadController.reset();
|
|
||||||
},
|
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsets.only(right: 16.w),
|
color: Colors.white,
|
||||||
width: 1.sw,
|
child: PagewiseListView<ProductModel>(
|
||||||
height: 0.10.sh,
|
scrollDirection: Axis.horizontal,
|
||||||
child: Center(
|
shrinkWrap: true,
|
||||||
child: Material(
|
showRetry: false,
|
||||||
elevation: 2,
|
// pageSize: Constants.PAGE_SIZE,
|
||||||
color: Colors.white,
|
itemBuilder: (_, model, i) => ItemBuilder(model: model),
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50)),
|
pageLoadController: pagewiseLoadController,
|
||||||
|
// pageFuture: (pageIndex) => pc.fetchProducts(pageIndex!),
|
||||||
|
|
||||||
|
loadingBuilder: (context) {
|
||||||
|
return Container(
|
||||||
|
// To remove left padding 16
|
||||||
|
padding: EdgeInsets.only(right: 16.w),
|
||||||
|
width: 1.sw,
|
||||||
|
height: 0.15.sh,
|
||||||
|
child: Center(child: CustomLoader()),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
errorBuilder: (_, error) => InkWell(
|
||||||
|
onTap: () async {
|
||||||
|
await _fetchProducts(1);
|
||||||
|
pagewiseLoadController.reset();
|
||||||
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: const EdgeInsets.all(8),
|
padding: EdgeInsets.only(right: 16.w),
|
||||||
child: Icon(
|
width: 1.sw,
|
||||||
Icons.refresh_sharp,
|
height: 0.10.sh,
|
||||||
size: 28.sp,
|
child: Center(
|
||||||
color: ThemeColor.mainColor,
|
child: Material(
|
||||||
|
elevation: 2,
|
||||||
|
color: Colors.white,
|
||||||
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50)),
|
||||||
|
child: Container(
|
||||||
|
padding: const EdgeInsets.all(8),
|
||||||
|
child: Icon(
|
||||||
|
Icons.refresh_sharp,
|
||||||
|
size: 28.sp,
|
||||||
|
color: ThemeColor.mainColor,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
),
|
)
|
||||||
),
|
: SizedBox.shrink();
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ class CartOrderPage extends StatelessWidget {
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
child: LoaderOverlay(
|
child: LoaderOverlay(
|
||||||
useDefaultLoading: false,
|
useDefaultLoading: false,
|
||||||
|
overlayColor: Colors.transparent,
|
||||||
overlayWidget: CustomLoader(),
|
overlayWidget: CustomLoader(),
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
backgroundColor: Colors.white, //ThemeColor.scaffoldBckColor,
|
backgroundColor: Colors.white, //ThemeColor.scaffoldBckColor,
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ class CartPage extends StatelessWidget {
|
||||||
: model != null
|
: model != null
|
||||||
? LoaderOverlay(
|
? LoaderOverlay(
|
||||||
useDefaultLoading: false,
|
useDefaultLoading: false,
|
||||||
|
overlayColor: Colors.transparent,
|
||||||
overlayWidget: CustomLoader(),
|
overlayWidget: CustomLoader(),
|
||||||
child: Container(
|
child: Container(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ class CouponCodeTextFormField extends StatelessWidget {
|
||||||
init: CartController(),
|
init: CartController(),
|
||||||
builder: (cc) => LoaderOverlay(
|
builder: (cc) => LoaderOverlay(
|
||||||
useDefaultLoading: false,
|
useDefaultLoading: false,
|
||||||
|
overlayColor: Colors.transparent,
|
||||||
overlayWidget: CustomLoader(),
|
overlayWidget: CustomLoader(),
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: const EdgeInsets.only(left: 18),
|
padding: const EdgeInsets.only(left: 18),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:webview_flutter/webview_flutter.dart';
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|
@ -16,14 +14,56 @@ class PaymentWebView extends StatefulWidget {
|
||||||
|
|
||||||
class _PaymentWebViewState extends State<PaymentWebView> {
|
class _PaymentWebViewState extends State<PaymentWebView> {
|
||||||
bool _isLoading = true;
|
bool _isLoading = true;
|
||||||
final _key = UniqueKey();
|
// final _key = UniqueKey();
|
||||||
|
late WebViewController _controller;
|
||||||
|
|
||||||
|
void _initWebViewController() {
|
||||||
|
_controller = WebViewController()
|
||||||
|
..setJavaScriptMode(JavaScriptMode.unrestricted)
|
||||||
|
// ..setBackgroundColor(const Color(0x00000000))
|
||||||
|
..setNavigationDelegate(
|
||||||
|
NavigationDelegate(
|
||||||
|
onProgress: (int progress) {
|
||||||
|
// Update loading bar.
|
||||||
|
},
|
||||||
|
onPageStarted: (String url) {
|
||||||
|
setState(() {
|
||||||
|
_isLoading = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onPageFinished: (finish) {
|
||||||
|
setState(() {
|
||||||
|
_isLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onWebResourceError: (WebResourceError error) {},
|
||||||
|
onNavigationRequest: (NavigationRequest request) {
|
||||||
|
if (request.url.startsWith(Constants.BASE_URL_WEB + 'checkout/success')) {
|
||||||
|
debugPrint('if');
|
||||||
|
CartController cc = Get.put(CartController());
|
||||||
|
cc.clearCartAndNavigateToOrderList();
|
||||||
|
|
||||||
|
return NavigationDecision.prevent;
|
||||||
|
} else if (request.url.startsWith(Constants.BASE_URL_WEB + 'checkout/onepage')) {
|
||||||
|
debugPrint('else if');
|
||||||
|
Get.back();
|
||||||
|
return NavigationDecision.prevent;
|
||||||
|
}
|
||||||
|
debugPrint('allowing navigation to $request');
|
||||||
|
return NavigationDecision.navigate;
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
..loadRequest(Uri.parse(widget.url));
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
if (Platform.isAndroid) {
|
_initWebViewController();
|
||||||
WebView.platform = SurfaceAndroidWebView();
|
// if (Platform.isAndroid) {
|
||||||
}
|
// WebView.platform = SurfaceAndroidWebView();
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -32,37 +72,7 @@ class _PaymentWebViewState extends State<PaymentWebView> {
|
||||||
appBar: CustomAppbarWidget(leading: AppBarBackBtn()),
|
appBar: CustomAppbarWidget(leading: AppBarBackBtn()),
|
||||||
body: Stack(
|
body: Stack(
|
||||||
children: [
|
children: [
|
||||||
WebView(
|
WebViewWidget(controller: _controller),
|
||||||
key: _key,
|
|
||||||
javascriptMode: JavascriptMode.unrestricted,
|
|
||||||
initialUrl: widget.url,
|
|
||||||
onProgress: (int progress) {
|
|
||||||
debugPrint('WebView is loading (progress : $progress%)');
|
|
||||||
},
|
|
||||||
onPageFinished: (finish) {
|
|
||||||
setState(() {
|
|
||||||
_isLoading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
navigationDelegate: (NavigationRequest request) {
|
|
||||||
setState(() {
|
|
||||||
_isLoading = true;
|
|
||||||
});
|
|
||||||
if (request.url.startsWith(Constants.BASE_URL_WEB + 'checkout/success')) {
|
|
||||||
debugPrint('if');
|
|
||||||
CartController cc = Get.put(CartController());
|
|
||||||
cc.clearCartAndNavigateToOrderList();
|
|
||||||
|
|
||||||
return NavigationDecision.prevent;
|
|
||||||
} else if (request.url.startsWith(Constants.BASE_URL_WEB + 'checkout/onepage')) {
|
|
||||||
debugPrint('else if');
|
|
||||||
Get.back();
|
|
||||||
return NavigationDecision.prevent;
|
|
||||||
}
|
|
||||||
debugPrint('allowing navigation to $request');
|
|
||||||
return NavigationDecision.navigate;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
_isLoading
|
_isLoading
|
||||||
? Center(
|
? Center(
|
||||||
child: CustomLoader(),
|
child: CustomLoader(),
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,19 @@ class HomePage extends StatelessWidget {
|
||||||
),
|
),
|
||||||
|
|
||||||
AppTheme.appSizeDivider30H,
|
AppTheme.appSizeDivider30H,
|
||||||
|
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(left: 16.w, right: 16.w),
|
||||||
|
child: HorizontalScrollableProducts(
|
||||||
|
param: {
|
||||||
|
'weekly': 1,
|
||||||
|
'title': 'weekly_offers'.tr,
|
||||||
|
'url': 'weeklyOffers',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
AppTheme.appSizeDivider30H,
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ class ProductDetailsPage extends StatelessWidget {
|
||||||
top: false,
|
top: false,
|
||||||
child: LoaderOverlay(
|
child: LoaderOverlay(
|
||||||
useDefaultLoading: false,
|
useDefaultLoading: false,
|
||||||
|
overlayColor: Colors.transparent,
|
||||||
overlayWidget: CustomLoader(),
|
overlayWidget: CustomLoader(),
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: CustomAppbarWidget(leading: AppBarBackBtn()),
|
appBar: CustomAppbarWidget(leading: AppBarBackBtn()),
|
||||||
|
|
|
||||||
|
|
@ -23,14 +23,14 @@ class ProductAboutWidget extends StatelessWidget {
|
||||||
child: Html(
|
child: Html(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
data: data,
|
data: data,
|
||||||
customRender: {
|
// customRender: {
|
||||||
'table': (context, child) {
|
// 'table': (context, child) {
|
||||||
return SingleChildScrollView(
|
// return SingleChildScrollView(
|
||||||
scrollDirection: Axis.horizontal,
|
// scrollDirection: Axis.horizontal,
|
||||||
child: (context.tree as TableLayoutElement).toWidget(context),
|
// child: (context.tree as TableLayoutElement).toWidget(context),
|
||||||
);
|
// );
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
style: {
|
style: {
|
||||||
// tables will have the below background color
|
// tables will have the below background color
|
||||||
'table': Style(
|
'table': Style(
|
||||||
|
|
@ -40,13 +40,16 @@ class ProductAboutWidget extends StatelessWidget {
|
||||||
'tr': Style(
|
'tr': Style(
|
||||||
border: Border(bottom: BorderSide(color: ThemeColor.colorE5E5E5)),
|
border: Border(bottom: BorderSide(color: ThemeColor.colorE5E5E5)),
|
||||||
),
|
),
|
||||||
'th': Style(
|
'th': Style(padding: HtmlPaddings.symmetric(vertical: 6)
|
||||||
padding: EdgeInsets.symmetric(vertical: 6),
|
// EdgeInsets.symmetric(vertical: 6),
|
||||||
),
|
),
|
||||||
'td': Style(
|
'td': Style(
|
||||||
padding: EdgeInsets.symmetric(vertical: 16, horizontal: 8),
|
padding: HtmlPaddings.symmetric(
|
||||||
|
vertical: 16,
|
||||||
|
horizontal: 8,
|
||||||
|
), //EdgeInsets.symmetric(vertical: 16, horizontal: 8),
|
||||||
// alignment: Alignment.topLeft,
|
// alignment: Alignment.topLeft,
|
||||||
width: 0.45.sw,
|
width: Width(0.45.sw), // 0.45.sw,
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ class BSChooseSortMethod extends StatelessWidget {
|
||||||
body: SingleChildScrollView(
|
body: SingleChildScrollView(
|
||||||
child: LoaderOverlay(
|
child: LoaderOverlay(
|
||||||
useDefaultLoading: false,
|
useDefaultLoading: false,
|
||||||
|
overlayColor: Colors.transparent,
|
||||||
overlayWidget: CustomLoader(),
|
overlayWidget: CustomLoader(),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: cc.state.sortModels
|
children: cc.state.sortModels
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ class PersonalInformationPage extends StatelessWidget {
|
||||||
SizedBox(height: 50.h),
|
SizedBox(height: 50.h),
|
||||||
LoaderOverlay(
|
LoaderOverlay(
|
||||||
useDefaultLoading: false,
|
useDefaultLoading: false,
|
||||||
|
overlayColor: Colors.transparent,
|
||||||
overlayWidget: CustomLoader(),
|
overlayWidget: CustomLoader(),
|
||||||
child: AddressList(
|
child: AddressList(
|
||||||
title: 'our_address'.tr,
|
title: 'our_address'.tr,
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ class WishlistsListWidget extends StatelessWidget {
|
||||||
final bool isLastPage = wc.wlState.lastPage.value;
|
final bool isLastPage = wc.wlState.lastPage.value;
|
||||||
return LoaderOverlay(
|
return LoaderOverlay(
|
||||||
useDefaultLoading: false,
|
useDefaultLoading: false,
|
||||||
|
overlayColor: Colors.transparent,
|
||||||
overlayWidget: CustomLoader(),
|
overlayWidget: CustomLoader(),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
|
|
||||||
|
|
@ -50,20 +50,19 @@ class DefaultFirebaseOptions {
|
||||||
}
|
}
|
||||||
|
|
||||||
static const FirebaseOptions android = FirebaseOptions(
|
static const FirebaseOptions android = FirebaseOptions(
|
||||||
apiKey: 'AIzaSyD9JBvYuGMFymroLwL9rYxkqB6u7EIaee0',
|
apiKey: 'AIzaSyAOMSH8EgasYe-vJkF7NNMFs42N27P2Ax4',
|
||||||
appId: '1:186538881179:android:96a2f9ce98f8bbf00f563e',
|
appId: '1:283547367653:android:c08fb01d915c3874487c0c',
|
||||||
messagingSenderId: '186538881179',
|
messagingSenderId: '283547367653',
|
||||||
projectId: 'elektronika-app',
|
projectId: 'elektronikatm',
|
||||||
storageBucket: 'elektronika-app.appspot.com',
|
storageBucket: 'elektronikatm.appspot.com',
|
||||||
);
|
);
|
||||||
|
|
||||||
static const FirebaseOptions ios = FirebaseOptions(
|
static const FirebaseOptions ios = FirebaseOptions(
|
||||||
apiKey: 'AIzaSyCS07pxfuN62pBYCauLVRAWttTx0GSNDH0',
|
apiKey: 'AIzaSyBeQk2PlPBPMGQ3JvhAmRjHb-Bpiu8j3H4',
|
||||||
appId: '1:186538881179:ios:fb651acd4ce97d5d0f563e',
|
appId: '1:283547367653:ios:a0be3b851b594489487c0c',
|
||||||
messagingSenderId: '186538881179',
|
messagingSenderId: '283547367653',
|
||||||
projectId: 'elektronika-app',
|
projectId: 'elektronikatm',
|
||||||
storageBucket: 'elektronika-app.appspot.com',
|
storageBucket: 'elektronikatm.appspot.com',
|
||||||
iosClientId: '186538881179-d39r6qso5iv98m8m60vev91gtsh8fs9o.apps.googleusercontent.com',
|
|
||||||
iosBundleId: 'com.elektronika.tm',
|
iosBundleId: 'com.elektronika.tm',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
352
pubspec.lock
352
pubspec.lock
|
|
@ -13,10 +13,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: animate_do
|
name: animate_do
|
||||||
sha256: "4554744e604b841e2bde710398ef3f4f8a1935a182b48727afe2a1023527b883"
|
sha256: "91b3e0306ba2096c7a7e1ee1ba96f491e25e92034c215f4bf8de6a7251c4bef1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "3.1.2"
|
||||||
archive:
|
archive:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -53,10 +53,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: badges
|
name: badges
|
||||||
sha256: "727580d938b7a1ff47ea42df730d581415606b4224cfa708671c10287f8d3fe6"
|
sha256: a7b6bbd60dce418df0db3058b53f9d083c22cdb5132a052145dc267494df0b84
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.1.2"
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -105,22 +105,22 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0"
|
version: "1.3.0"
|
||||||
chewie:
|
checked_yaml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: chewie
|
name: checked_yaml
|
||||||
sha256: "745e81e84c6d7f3835f89f85bb49771c0a66099e4caf8f8e9e9a372bc66fb2c1"
|
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.0"
|
version: "2.0.3"
|
||||||
chewie_audio:
|
cli_util:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: chewie_audio
|
name: cli_util
|
||||||
sha256: "73948a8b9841d050433af3498a1f8b11320bd5a2cd70b449bdbe16d4405e97c5"
|
sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.0"
|
version: "0.4.0"
|
||||||
clock:
|
clock:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -173,66 +173,34 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: dbus
|
name: dbus
|
||||||
sha256: "4f814fc7e73057f78f307a6c4714fe2ffb4bdb994ab1970540a068ec4d5a45be"
|
sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.3"
|
version: "0.7.8"
|
||||||
device_info_plus:
|
device_info_plus:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: device_info_plus
|
name: device_info_plus
|
||||||
sha256: c2386729379f04cd39ee0d5d4c48d8c8a0e70f7622dac626cbf5e396392602fd
|
sha256: "7035152271ff67b072a211152846e9f1259cf1be41e34cd3e0b5463d2d6b8419"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.4"
|
version: "9.1.0"
|
||||||
device_info_plus_linux:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: device_info_plus_linux
|
|
||||||
sha256: e4eb5db4704f5534e872148a21cfcd39581022b63df556da6720d88f7c9f91a9
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.1.1"
|
|
||||||
device_info_plus_macos:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: device_info_plus_macos
|
|
||||||
sha256: "38871fd2ad31871399d8307630c9f4eb5941dd2c643ee221c44d58de95d367a1"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.2.3"
|
|
||||||
device_info_plus_platform_interface:
|
device_info_plus_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: device_info_plus_platform_interface
|
name: device_info_plus_platform_interface
|
||||||
sha256: b2743934f0efc3e291880d76fb341ea114b7e8417d77ee0f93bd21f5dfd3e8d2
|
sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.6.1"
|
version: "7.0.0"
|
||||||
device_info_plus_web:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: device_info_plus_web
|
|
||||||
sha256: "38715ad1ef3bee8915dd7bee08a9ac9ab54472a8df425c887062a3046209f663"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.1.0"
|
|
||||||
device_info_plus_windows:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: device_info_plus_windows
|
|
||||||
sha256: "8fb1403fc94636d6ab48aeebb5f9379f2ca51cde3b337167ec6f39db09234492"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.1.1"
|
|
||||||
dio:
|
dio:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: dio
|
name: dio
|
||||||
sha256: "7d328c4d898a61efc3cd93655a0955858e29a0aa647f0f9e02d59b3bb275e2e8"
|
sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.6"
|
version: "5.3.3"
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -245,10 +213,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: ffi
|
name: ffi
|
||||||
sha256: "13a6ccf6a459a125b3fcdb6ec73bd5ff90822e071207c663bfd1f70062d51d18"
|
sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "2.1.0"
|
||||||
file:
|
file:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -322,66 +290,50 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_html
|
name: flutter_html
|
||||||
sha256: ccb810fcabfce3a7ffaca46e458323915ac7e7fc59082c7357ff848972c02230
|
sha256: "02ad69e813ecfc0728a455e4bf892b9379983e050722b1dce00192ee2e41d1ee"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "3.0.0-beta.2"
|
||||||
flutter_launcher_icons:
|
flutter_launcher_icons:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_launcher_icons
|
name: flutter_launcher_icons
|
||||||
sha256: "559c600f056e7c704bd843723c21e01b5fba47e8824bd02422165bcc02a5de1d"
|
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.3"
|
version: "0.13.1"
|
||||||
flutter_layout_grid:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: flutter_layout_grid
|
|
||||||
sha256: "86c1b21520612edfbb93f189b3ec05058470570f3a5c08ce10c92cc76a6e814e"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.6"
|
|
||||||
flutter_local_notifications:
|
flutter_local_notifications:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_local_notifications
|
name: flutter_local_notifications
|
||||||
sha256: f222919a34545931e47b06000836b5101baeffb0e6eb5a4691d2d42851740dd9
|
sha256: "6d11ea777496061e583623aaf31923f93a9409ef8fcaeeefdd6cd78bf4fe5bb3"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "12.0.4"
|
version: "16.1.0"
|
||||||
flutter_local_notifications_linux:
|
flutter_local_notifications_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_local_notifications_linux
|
name: flutter_local_notifications_linux
|
||||||
sha256: "6af440e3962eeab8459602c309d7d4ab9e62f05d5cfe58195a28f846a0b5d523"
|
sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "4.0.0+1"
|
||||||
flutter_local_notifications_platform_interface:
|
flutter_local_notifications_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_local_notifications_platform_interface
|
name: flutter_local_notifications_platform_interface
|
||||||
sha256: "5ec1feac5f7f7d9266759488bc5f76416152baba9aa1b26fe572246caa00d1ab"
|
sha256: "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.0"
|
version: "7.0.0+1"
|
||||||
flutter_math_fork:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: flutter_math_fork
|
|
||||||
sha256: cfec964c4975c6becc64291eb9b782fe70df5e0c5bfe0763d9e856432fcc6fcd
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.4.2+2"
|
|
||||||
flutter_native_splash:
|
flutter_native_splash:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_native_splash
|
name: flutter_native_splash
|
||||||
sha256: bd36d1a7f05ff8378cad17d20c33ca904630bfd3fcf8b15c9e8237efbccfad0a
|
sha256: "5bf4c3e5e5a0426c1e2fc8ca3555a9e617e76369c3442e1dae8385c7767ba97a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.0+1"
|
version: "2.3.4"
|
||||||
flutter_rating_bar:
|
flutter_rating_bar:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -402,18 +354,18 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_staggered_grid_view
|
name: flutter_staggered_grid_view
|
||||||
sha256: "1312314293acceb65b92754298754801b0e1f26a1845833b740b30415bbbcf07"
|
sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.2"
|
version: "0.7.0"
|
||||||
flutter_svg:
|
flutter_svg:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_svg
|
name: flutter_svg
|
||||||
sha256: "9ac1967e2f72a08af11b05b39167920f90d043cf67163d13a544a358c8f31afa"
|
sha256: "8c5d68a82add3ca76d792f058b186a0599414f279f00ece4830b9b231b570338"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.22.0"
|
version: "2.0.7"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
|
@ -460,18 +412,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image
|
name: image
|
||||||
sha256: "02bafd3b4f399bfeb10034deba9753d93b55ce41cd0c4d3d8b355626f80e5b32"
|
sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.3"
|
version: "4.1.3"
|
||||||
intl:
|
intl:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: intl
|
name: intl
|
||||||
sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91"
|
sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.17.0"
|
version: "0.18.1"
|
||||||
js:
|
js:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -480,14 +432,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.7"
|
version: "0.6.7"
|
||||||
|
json_annotation:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: json_annotation
|
||||||
|
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.8.1"
|
||||||
lint:
|
lint:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: lint
|
name: lint
|
||||||
sha256: "4a539aa34ec5721a2c7574ae2ca0336738ea4adc2a34887d54b7596310b33c85"
|
sha256: f4bd4dbaa39f4ae8836f2d1275f2f32bc68b3a8cce0a0735dd1f7a601f06682a
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.10.0"
|
version: "2.1.2"
|
||||||
|
list_counter:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: list_counter
|
||||||
|
sha256: c447ae3dfcd1c55f0152867090e67e219d42fe6d4f2807db4bbe8b8d69912237
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.2"
|
||||||
loader_overlay:
|
loader_overlay:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -545,22 +513,6 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.3"
|
version: "4.1.3"
|
||||||
nested:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: nested
|
|
||||||
sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.0"
|
|
||||||
numerus:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: numerus
|
|
||||||
sha256: "0087ef729d63b96cb347a9c44b9c592f21cecb3605b415bbd18710aef80ce5cb"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "1.1.1"
|
|
||||||
octo_image:
|
octo_image:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -577,22 +529,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.3"
|
version: "1.8.3"
|
||||||
path_drawing:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: path_drawing
|
|
||||||
sha256: "3bdd251dae9ffaef944450b73f168610db7e968e7b20daf0c3907f8b4aafc8a2"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.5.1+1"
|
|
||||||
path_parsing:
|
path_parsing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_parsing
|
name: path_parsing
|
||||||
sha256: ee5c47c1058ad66b4a41746ec3996af9593d0858872807bcd64ac118f0700337
|
sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.1"
|
version: "1.0.1"
|
||||||
path_provider:
|
path_provider:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -637,10 +581,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_windows
|
name: path_provider_windows
|
||||||
sha256: a34ecd7fb548f8e57321fd8e50d865d266941b54e6c3b7758cf8f37c24116905
|
sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.7"
|
version: "2.2.1"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -653,10 +597,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: pin_code_fields
|
name: pin_code_fields
|
||||||
sha256: c8652519d14688f3fe2a8288d86910a46aa0b9046d728f292d3bf6067c31b4c7
|
sha256: "4c0db7fbc889e622e7c71ea54b9ee624bb70c7365b532abea0271b17ea75b729"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.4.0"
|
version: "8.0.1"
|
||||||
platform:
|
platform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -689,22 +633,6 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.2.4"
|
version: "4.2.4"
|
||||||
provider:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: provider
|
|
||||||
sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "6.0.5"
|
|
||||||
quiver:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: quiver
|
|
||||||
sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "3.2.1"
|
|
||||||
roundcheckbox:
|
roundcheckbox:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -781,10 +709,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: shimmer
|
name: shimmer
|
||||||
sha256: "1f1009b5845a1f88f1c5630212279540486f97409e9fc3f63883e71070d107bf"
|
sha256: "5f88c883a22e9f9f299e5ba0e4f7e6054857224976a5d9f839d4ebdc94a14ac9"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.0"
|
version: "3.0.0"
|
||||||
sky_engine:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
|
|
@ -894,14 +822,6 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.2"
|
version: "0.9.2"
|
||||||
tuple:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: tuple
|
|
||||||
sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.0.2"
|
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -990,6 +910,30 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.0"
|
version: "4.1.0"
|
||||||
|
vector_graphics:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: vector_graphics
|
||||||
|
sha256: b16dadf7eb610e20da044c141b4a0199a5e8082ca21daba68322756f953ce714
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.9"
|
||||||
|
vector_graphics_codec:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: vector_graphics_codec
|
||||||
|
sha256: a4b01403d5c613db115e30e71eca33f7e9e09f2d3c52c3fb84e16333ecddc539
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.9"
|
||||||
|
vector_graphics_compiler:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: vector_graphics_compiler
|
||||||
|
sha256: d26c0e2f237476426523eb25512e4c09fa27c6d33ed659a0e69d79e20b5dc47f
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.9"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -998,86 +942,6 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
video_player:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: video_player
|
|
||||||
sha256: "74b86e63529cf5885130c639d74cd2f9232e7c8a66cbecbddd1dcb9dbd060d1e"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.7.2"
|
|
||||||
video_player_android:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: video_player_android
|
|
||||||
sha256: "3fe89ab07fdbce786e7eb25b58532d6eaf189ceddc091cb66cba712f8d9e8e55"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.4.10"
|
|
||||||
video_player_avfoundation:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: video_player_avfoundation
|
|
||||||
sha256: "6387c2de77763b45104256b3b00b660089be4f909ded8631457dc11bf635e38f"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.5.0"
|
|
||||||
video_player_platform_interface:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: video_player_platform_interface
|
|
||||||
sha256: be72301bf2c0150ab35a8c34d66e5a99de525f6de1e8d27c0672b836fe48f73a
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "6.2.1"
|
|
||||||
video_player_web:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: video_player_web
|
|
||||||
sha256: "2dd24f7ba46bfb5d070e9c795001db95e0ca5f2a3d025e98f287c10c9f0fd62f"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "2.1.1"
|
|
||||||
wakelock:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: wakelock
|
|
||||||
sha256: "769ecf42eb2d07128407b50cb93d7c10bd2ee48f0276ef0119db1d25cc2f87db"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.6.2"
|
|
||||||
wakelock_macos:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: wakelock_macos
|
|
||||||
sha256: "047c6be2f88cb6b76d02553bca5a3a3b95323b15d30867eca53a19a0a319d4cd"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.4.0"
|
|
||||||
wakelock_platform_interface:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: wakelock_platform_interface
|
|
||||||
sha256: "1f4aeb81fb592b863da83d2d0f7b8196067451e4df91046c26b54a403f9de621"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.3.0"
|
|
||||||
wakelock_web:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: wakelock_web
|
|
||||||
sha256: "1b256b811ee3f0834888efddfe03da8d18d0819317f20f6193e2922b41a501b5"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.4.0"
|
|
||||||
wakelock_windows:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: wakelock_windows
|
|
||||||
sha256: "108b1b73711f1664ee462e73af34a9286ff496e27d4d8371e2fb4da8fde4cdac"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.2.0"
|
|
||||||
web:
|
web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1090,42 +954,50 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: webview_flutter
|
name: webview_flutter
|
||||||
sha256: "6886b3ceef1541109df5001054aade5ee3c36b5780302e41701c78357233721c"
|
sha256: c1ab9b81090705c6069197d9fdc1625e587b52b8d70cdde2339d177ad0dbb98e
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.8.0"
|
version: "4.4.1"
|
||||||
webview_flutter_android:
|
webview_flutter_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_android
|
name: webview_flutter_android
|
||||||
sha256: "8b3b2450e98876c70bfcead876d9390573b34b9418c19e28168b74f6cb252dbd"
|
sha256: b0cd33dd7d3dd8e5f664e11a19e17ba12c352647269921a3b568406b001f1dff
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.10.4"
|
version: "3.12.0"
|
||||||
webview_flutter_platform_interface:
|
webview_flutter_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_platform_interface
|
name: webview_flutter_platform_interface
|
||||||
sha256: "812165e4e34ca677bdfbfa58c01e33b27fd03ab5fa75b70832d4b7d4ca1fa8cf"
|
sha256: "6d9213c65f1060116757a7c473247c60f3f7f332cac33dc417c9e362a9a13e4f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.5"
|
version: "2.6.0"
|
||||||
webview_flutter_wkwebview:
|
webview_flutter_wkwebview:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_wkwebview
|
name: webview_flutter_wkwebview
|
||||||
sha256: a5364369c758892aa487cbf59ea41d9edd10f9d9baf06a94e80f1bd1b4c7bbc0
|
sha256: "30b9af6bdd457b44c08748b9190d23208b5165357cc2eb57914fee1366c42974"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.9.5"
|
version: "3.9.1"
|
||||||
win32:
|
win32:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: win32
|
name: win32
|
||||||
sha256: c0e3a4f7be7dae51d8f152230b86627e3397c1ba8c3fa58e63d44a9f3edc9cef
|
sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.6.1"
|
version: "5.0.9"
|
||||||
|
win32_registry:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: win32_registry
|
||||||
|
sha256: "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.2"
|
||||||
xdg_directories:
|
xdg_directories:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1138,10 +1010,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xml
|
name: xml
|
||||||
sha256: "80d494c09849dc3f899d227a78c30c5b949b985ededf884cb3f3bcd39f4b447a"
|
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.4.1"
|
version: "6.3.0"
|
||||||
yaml:
|
yaml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
||||||
30
pubspec.yaml
30
pubspec.yaml
|
|
@ -14,9 +14,9 @@ dependencies:
|
||||||
cupertino_icons: ^1.0.2
|
cupertino_icons: ^1.0.2
|
||||||
flutter_screenutil: ^5.5.3+2
|
flutter_screenutil: ^5.5.3+2
|
||||||
get: ^4.6.5
|
get: ^4.6.5
|
||||||
flutter_svg: ^0.22.0
|
flutter_svg: ^2.0.7
|
||||||
badges: ^2.0.1
|
badges: ^3.1.2
|
||||||
dio: ^4.0.0
|
dio: ^5.3.3
|
||||||
carousel_slider: ^4.0.0
|
carousel_slider: ^4.0.0
|
||||||
smooth_page_indicator: ^1.0.0+2 # indicators used on images
|
smooth_page_indicator: ^1.0.0+2 # indicators used on images
|
||||||
cached_network_image: ^3.2.1
|
cached_network_image: ^3.2.1
|
||||||
|
|
@ -27,34 +27,34 @@ dependencies:
|
||||||
url: https://github.com/followthemoney1/modal_bottom_sheet.git
|
url: https://github.com/followthemoney1/modal_bottom_sheet.git
|
||||||
ref: main
|
ref: main
|
||||||
path: modal_bottom_sheet
|
path: modal_bottom_sheet
|
||||||
pin_code_fields: ^7.3.0
|
pin_code_fields: ^8.0.1
|
||||||
path_provider: ^2.0.6
|
path_provider: ^2.0.6
|
||||||
animate_do: ^2.1.0
|
animate_do: ^3.1.2
|
||||||
flutter_rating_bar: ^4.0.0
|
flutter_rating_bar: ^4.0.0
|
||||||
mask_text_input_formatter: ^2.0.0
|
mask_text_input_formatter: ^2.0.0
|
||||||
snapping_sheet: ^3.1.0 # draggable bottom_sheet:
|
snapping_sheet: ^3.1.0 # draggable bottom_sheet:
|
||||||
shared_preferences: ^2.0.12
|
shared_preferences: ^2.0.12
|
||||||
flutter_html: ^2.2.1 # try to remove, use webview_flutter
|
flutter_html: ^3.0.0-beta.2 # try to remove, use webview_flutter
|
||||||
html: ^0.15.0 # used for parse html
|
html: ^0.15.0 # used for parse html
|
||||||
loader_overlay: ^2.0.7
|
loader_overlay: ^2.3.2
|
||||||
device_info_plus: ^3.2.1
|
device_info_plus: ^9.1.0
|
||||||
intl: ^0.17.0
|
intl: ^0.18.1
|
||||||
roundcheckbox: ^2.0.4+1
|
roundcheckbox: ^2.0.4+1
|
||||||
multi_select_flutter: ^4.1.2
|
multi_select_flutter: ^4.1.2
|
||||||
shimmer: ^2.0.0
|
shimmer: ^3.0.0
|
||||||
flutter_staggered_grid_view: ^0.6.1
|
flutter_staggered_grid_view: ^0.7.0
|
||||||
url_launcher: ^6.1.5
|
url_launcher: ^6.1.5
|
||||||
webview_flutter: ^2.8.0
|
webview_flutter: ^4.4.1
|
||||||
firebase_messaging: ^14.1.1
|
firebase_messaging: ^14.1.1
|
||||||
firebase_core: ^2.3.0
|
firebase_core: ^2.3.0
|
||||||
flutter_local_notifications: ^12.0.4
|
flutter_local_notifications: ^16.1.0
|
||||||
flutter_native_splash: ^2.2.0+1
|
flutter_native_splash: ^2.2.0+1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
lint: ^1.7.2
|
lint: ^2.1.2
|
||||||
flutter_launcher_icons: "^0.9.2"
|
flutter_launcher_icons: ^0.13.1
|
||||||
|
|
||||||
flutter_native_splash:
|
flutter_native_splash:
|
||||||
image: assets/logo/icon-rounded.png
|
image: assets/logo/icon-rounded.png
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue