UI changes done
This commit is contained in:
parent
9f75e090fd
commit
cb9146c9ac
@ -15,12 +15,12 @@ if (localPropertiesFile.exists()) {
|
|||||||
|
|
||||||
def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
|
def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
|
||||||
if (flutterVersionCode == null) {
|
if (flutterVersionCode == null) {
|
||||||
flutterVersionCode = "10"
|
flutterVersionCode = "11"
|
||||||
}
|
}
|
||||||
|
|
||||||
def flutterVersionName = localProperties.getProperty("flutter.versionName")
|
def flutterVersionName = localProperties.getProperty("flutter.versionName")
|
||||||
if (flutterVersionName == null) {
|
if (flutterVersionName == null) {
|
||||||
flutterVersionName = "1.0.9"
|
flutterVersionName = "1.0.10"
|
||||||
}
|
}
|
||||||
|
|
||||||
def keystorePropertiesFile = rootProject.file("key.properties")
|
def keystorePropertiesFile = rootProject.file("key.properties")
|
||||||
|
|||||||
BIN
assets/icons/misc/group.png
Normal file
BIN
assets/icons/misc/group.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
BIN
assets/icons/misc/search.png
Normal file
BIN
assets/icons/misc/search.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 669 B |
@ -10,5 +10,7 @@ abstract class MiscIconAssetPath {
|
|||||||
static const visibleOn = '$_basePath/visible_on.png';
|
static const visibleOn = '$_basePath/visible_on.png';
|
||||||
static const visibilityOff = '$_basePath/visibility_off.png';
|
static const visibilityOff = '$_basePath/visibility_off.png';
|
||||||
static const save = '$_basePath/save.png';
|
static const save = '$_basePath/save.png';
|
||||||
|
static const group = '$_basePath/group.png';
|
||||||
|
static const search = '$_basePath/search.png';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,20 @@
|
|||||||
{
|
{
|
||||||
"feedback_title": "التعليقات",
|
"feedback_title": "تعليق",
|
||||||
"feedback_failed_msg": "لم يتم إرسال تعليقاتك. يرجى المحاولة مرة أخرى.",
|
"feedback_failed_msg": "لم يتم إرسال تعليقاتك. يرجى المحاولة مرة أخرى.",
|
||||||
|
"thankYou": "شكراً",
|
||||||
|
"feedback_message": "لملاحظاتك القيمة، نحن نقدر مساهمتك حقًا!",
|
||||||
|
"failed_to_sharefeedback": "فشل في مشاركة الملاحظات",
|
||||||
|
"feedback_submitted": "تم إرسال الملاحظات بنجاح!",
|
||||||
|
"formError": "يرجى تصحيح الأخطاء قبل الإرسال.",
|
||||||
|
"feedback_failed": "فشل في إرسال التعليق: {error}",
|
||||||
|
"skip": "تخطي",
|
||||||
|
"got_it": "فهمت",
|
||||||
|
"exit_app": "الخروج من التطبيق",
|
||||||
|
"exit_confirmation": "هل أنت متأكد أنك تريد الخروج؟",
|
||||||
|
"cancel": "إلغاء",
|
||||||
|
"exit": "خروج",
|
||||||
|
|
||||||
|
"bookmark_title": "إشارة مرجعية",
|
||||||
|
|
||||||
"guide_title": "نموذج الملاحظات",
|
"guide_title": "نموذج الملاحظات",
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,21 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
"feedback_title": "Feedback",
|
"feedback_title": "Feedback",
|
||||||
"feedback_failed_msg": "Your feedback could not be \n submitted. Please try again",
|
"feedback_failed_msg": "Your feedback could not be \n submitted. Please try again",
|
||||||
|
"thankYou": "Thank you",
|
||||||
|
"feedback_message": "For your valuable feedback, we truly appreciate your input!",
|
||||||
|
"failed_to_sharefeedback": "Failed to Share Feedback",
|
||||||
|
"feedback_submitted": "Feedback submitted successfully!",
|
||||||
|
"formError": "Please correct the errors before submitting.",
|
||||||
|
"feedback_failed": "Failed to submit feedback: {error}",
|
||||||
|
"skip": "Skip",
|
||||||
|
"got_it": "Got it",
|
||||||
|
"exit_app": "Exit App",
|
||||||
|
"exit_confirmation": "Are you sure you want to exit?",
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"exit": "Exit",
|
||||||
|
"bookmark_title": "Bookmark",
|
||||||
|
|
||||||
"register_title": "Register",
|
"register_title": "Register",
|
||||||
"register_details": "Please enter your details",
|
"register_details": "Please enter your details",
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import 'dart:convert';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
|
import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart';
|
||||||
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
import 'package:uae_stat/presentation/components/indicators/locale_provider.dart';
|
||||||
import 'package:uae_stat/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart';
|
import 'package:uae_stat/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
@ -105,9 +106,10 @@ class _UaenumberWidgetState extends ConsumerState<uaenumberWidget> {
|
|||||||
child: TextField(
|
child: TextField(
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
hintText: "Search",
|
hintText: "Search",
|
||||||
prefixIcon: Icon(
|
prefixIcon: Image.asset(
|
||||||
Icons.search,
|
MiscIconAssetPath.search,
|
||||||
color: Color(0xFFAA8E83),
|
width: 20,
|
||||||
|
height: 20,
|
||||||
),
|
),
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
contentPadding:
|
contentPadding:
|
||||||
@ -381,12 +383,13 @@ class _CustomExpandableTileState extends State<CustomExpandableTile> {
|
|||||||
duration: Duration(milliseconds: 300),
|
duration: Duration(milliseconds: 300),
|
||||||
curve: Curves.easeInOut,
|
curve: Curves.easeInOut,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
|
color: Colors.white,
|
||||||
height: widget.isExpanded ? myheight * 0.52 : 0,
|
height: widget.isExpanded ? myheight * 0.52 : 0,
|
||||||
child: widget.isExpanded
|
child: widget.isExpanded
|
||||||
? SingleChildScrollView(
|
? SingleChildScrollView(
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
// color: Colors.white,
|
color: Colors.white,
|
||||||
// borderRadius: BorderRadius.all(Radius.circular(20))
|
// borderRadius: BorderRadius.all(Radius.circular(20))
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.all(1),
|
padding: const EdgeInsets.all(1),
|
||||||
|
|||||||
@ -838,7 +838,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
SizedBox(height: 10),
|
SizedBox(height: 10),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(
|
padding: const EdgeInsets.only(
|
||||||
top: 1.0, bottom: 10, left: 25, right: 30),
|
top: 0, bottom: 10, left: 25, right: 30),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@ -858,45 +858,57 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.only(top:11.0),
|
||||||
child: Text.rich(
|
child: Text.rich(
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(context)!.agree,
|
text: AppLocalizations.of(context)!.agree,
|
||||||
// text: 'I agree to ',
|
// text: 'I agree to ',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFF898C81), // Change to your desired color
|
||||||
|
),
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(context)!
|
text: AppLocalizations.of(context)!
|
||||||
.terms_conditions,
|
.terms_conditions,
|
||||||
// text: 'Terms & Conditions',
|
// text: 'Terms & Conditions',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.w500,
|
||||||
color: Color(0xFF985400),
|
color: Color(0xFF985400),
|
||||||
// Makes the text bold
|
// Makes the text bold
|
||||||
decoration:
|
// decoration:
|
||||||
TextDecoration.underline,
|
// TextDecoration.underline,
|
||||||
decorationColor: Color(0xFF985400),
|
decorationColor: Color(0xFF985400),
|
||||||
decorationThickness: 1),
|
decorationThickness: 1),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(context)!
|
text: AppLocalizations.of(context)!
|
||||||
.t_and),
|
.t_and,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFF898C81), // Change to your desired color
|
||||||
|
),),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(context)!
|
text: AppLocalizations.of(context)!
|
||||||
.privacy_policy,
|
.privacy_policy,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.w500,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
fontFamily: 'Roboto',
|
fontFamily: 'Roboto',
|
||||||
color: Color(0xFF985400),
|
color: Color(0xFF985400),
|
||||||
decoration:
|
// decoration:
|
||||||
TextDecoration.underline,
|
// TextDecoration.underline,
|
||||||
decorationColor: Color(0xFF648CBA),
|
decorationColor: Color(0xFF648CBA),
|
||||||
decorationThickness: 1),
|
decorationThickness: 1),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(context)!
|
text: AppLocalizations.of(context)!
|
||||||
.conditions),
|
.conditions,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFF898C81), // Change to your desired color
|
||||||
|
),),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|||||||
@ -632,7 +632,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||||||
},
|
},
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
color:
|
color:
|
||||||
showError ? Color(0xFFb22222) : Color(0xFF92722A),
|
showError ? Color(0xFFb22222) : Color(0xFF7296BE),
|
||||||
width: 1,
|
width: 1,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -648,18 +648,19 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(
|
text: AppLocalizations.of(
|
||||||
context)!
|
context)!
|
||||||
.agree, style: TextStyle(color: Colors.black),
|
.agree,
|
||||||
|
style: TextStyle(color: Color(0xFF898C81)),
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(
|
text: AppLocalizations.of(
|
||||||
context,
|
context,
|
||||||
)!
|
)!
|
||||||
.terms_conditions, style: TextStyle(
|
.terms_conditions, style: TextStyle(
|
||||||
color: Color(0xFF648CBA),
|
color: Color(0xFF985400),
|
||||||
decoration: TextDecoration.underline,
|
// decoration: TextDecoration.underline,
|
||||||
fontWeight: FontWeight
|
fontWeight: FontWeight
|
||||||
.bold, // Makes the text bold
|
.w600, // Makes the text bold
|
||||||
decorationColor: Color(0xFF648CBA),
|
decorationColor: Color(0xFF985400),
|
||||||
decorationThickness: 1,
|
decorationThickness: 1,
|
||||||
),
|
),
|
||||||
recognizer: TapGestureRecognizer()
|
recognizer: TapGestureRecognizer()
|
||||||
@ -670,17 +671,17 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(
|
text: AppLocalizations.of(
|
||||||
context,
|
context,
|
||||||
)!.t_and, style: TextStyle(color: Colors.black),
|
)!.t_and,
|
||||||
|
style: TextStyle(color: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: AppLocalizations.of(
|
text: AppLocalizations.of(
|
||||||
context,
|
context,
|
||||||
)!.privacy_policy, style: TextStyle(
|
)!.privacy_policy, style: TextStyle(
|
||||||
color: Color(0xFF648CBA),
|
color: Color(0xFF985400),
|
||||||
decoration: TextDecoration.underline,
|
// decoration: TextDecoration.underline,
|
||||||
fontWeight: FontWeight
|
fontWeight: FontWeight.w600, // Makes the text bold
|
||||||
.bold, // Makes the text bold
|
decorationColor: Color(0xFF985400),
|
||||||
decorationColor: Color(0xFF648CBA),
|
|
||||||
decorationThickness: 1,
|
decorationThickness: 1,
|
||||||
),
|
),
|
||||||
recognizer: TapGestureRecognizer()
|
recognizer: TapGestureRecognizer()
|
||||||
@ -693,7 +694,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
|
|||||||
context,
|
context,
|
||||||
)!
|
)!
|
||||||
.conditions,
|
.conditions,
|
||||||
style: TextStyle(color: Colors.black),
|
style: TextStyle(color: Color(0xFF898C81)),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@ -544,15 +544,14 @@ class _FeedbackFormState extends State<FeedbackForm>
|
|||||||
|
|
||||||
// Icon(Icons.thumb_up, size: 80, color: Color(0xFF7DAFBC)),
|
// Icon(Icons.thumb_up, size: 80, color: Color(0xFF7DAFBC)),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
Text(
|
|
||||||
// "Thank you",
|
|
||||||
|
|
||||||
'Thank you $userName !',
|
Text(
|
||||||
|
'${AppLocalizations.of(context)!.thankYou} $userName !',
|
||||||
style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
|
style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 15),
|
const SizedBox(height: 15),
|
||||||
const Text(
|
Text(
|
||||||
"For your valuable feedback, we truly \n appreciate your input!",
|
AppLocalizations.of(context)!.feedback_message,
|
||||||
style: TextStyle(fontSize: 16, color: Color(0xFF898C81)),
|
style: TextStyle(fontSize: 16, color: Color(0xFF898C81)),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
),
|
),
|
||||||
@ -603,9 +602,9 @@ class _FeedbackFormState extends State<FeedbackForm>
|
|||||||
|
|
||||||
// Icon(Icons.error, size: 80, color: Colors.red),
|
// Icon(Icons.error, size: 80, color: Colors.red),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
const Text(
|
Text(
|
||||||
"Failed to Share Feedback",
|
AppLocalizations.of(context)!.failed_to_sharefeedback,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Color(0xFF414042)),
|
color: Color(0xFF414042)),
|
||||||
@ -752,8 +751,12 @@ class _FeedbackFormState extends State<FeedbackForm>
|
|||||||
|
|
||||||
if (_hasError) {
|
if (_hasError) {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
const SnackBar(
|
SnackBar(
|
||||||
content: Text("Please correct the errors before submitting.")),
|
content: Text(
|
||||||
|
AppLocalizations.of(context)!.formError,
|
||||||
|
// "Please correct the errors before submitting."
|
||||||
|
)
|
||||||
|
),
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -783,8 +786,10 @@ class _FeedbackFormState extends State<FeedbackForm>
|
|||||||
// await sendFeedbackEmail(feedbackData, createdTime);
|
// await sendFeedbackEmail(feedbackData, createdTime);
|
||||||
await _removeFeedbackText();
|
await _removeFeedbackText();
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
const SnackBar(content: Text("Feedback submitted successfully!")),
|
SnackBar(
|
||||||
);
|
content: Text(AppLocalizations.of(context)!.feedback_submitted),
|
||||||
|
),
|
||||||
|
);
|
||||||
setState(() {
|
setState(() {
|
||||||
_isFeedbackSubmitted = true;
|
_isFeedbackSubmitted = true;
|
||||||
_isFeedbackFailed = false;
|
_isFeedbackFailed = false;
|
||||||
@ -793,7 +798,12 @@ class _FeedbackFormState extends State<FeedbackForm>
|
|||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
SnackBar(content: Text("Failed to submit feedback: $e")),
|
SnackBar(content: Text(
|
||||||
|
// "Failed to submit feedback: $e"
|
||||||
|
AppLocalizations.of(context)!.feedback_failed(e.toString()),
|
||||||
|
)
|
||||||
|
|
||||||
|
),
|
||||||
);
|
);
|
||||||
setState(() {
|
setState(() {
|
||||||
_isFeedbackFailed = true; // Update state to show failure message
|
_isFeedbackFailed = true; // Update state to show failure message
|
||||||
|
|||||||
@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:pocketbase/pocketbase.dart';
|
import 'package:pocketbase/pocketbase.dart';
|
||||||
|
import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart';
|
||||||
|
|
||||||
import 'package:uae_stat/presentation/components/my_bottom_nav_bar.dart';
|
import 'package:uae_stat/presentation/components/my_bottom_nav_bar.dart';
|
||||||
import 'package:uae_stat/presentation/components/my_drawer.dart';
|
import 'package:uae_stat/presentation/components/my_drawer.dart';
|
||||||
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
|
||||||
@ -131,31 +133,49 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
SizedBox(
|
SizedBox(
|
||||||
height: myheight / 30,
|
height: myheight / 30,
|
||||||
),
|
),
|
||||||
Text(
|
Text.rich(
|
||||||
// 'Are you sure you want to change \n the status to $newStatus?',
|
TextSpan(
|
||||||
AppLocalizations.of(context)!.approve_msg(newStatus),
|
text: 'Are you sure you want to change the status to ',
|
||||||
style: TextStyle(fontSize: 15),
|
style: TextStyle(
|
||||||
textAlign: TextAlign.center,
|
fontSize: 18,
|
||||||
),
|
color: Color(0xFF898C81),
|
||||||
|
),
|
||||||
|
children: [
|
||||||
|
TextSpan(
|
||||||
|
text: newStatus,
|
||||||
|
style: TextStyle(
|
||||||
|
fontWeight: FontWeight.bold, // Makes newStatus bold
|
||||||
|
fontSize: 18,
|
||||||
|
color: Color(0xFF898C81),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
TextSpan(text: '?'),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
textAlign: TextAlign.center, // Centers the text
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Positioned(
|
// Positioned(
|
||||||
right: 0,
|
// right: 0,
|
||||||
top: 0,
|
// top: 0,
|
||||||
child: IconButton(
|
// child: IconButton(
|
||||||
icon: Icon(Icons.close),
|
// icon: Icon(Icons.close),
|
||||||
onPressed: () {
|
// onPressed: () {
|
||||||
Navigator.of(context).pop(); // Close the dialog
|
// Navigator.of(context).pop(); // Close the dialog
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
children: [
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 100, // Set the desired width
|
||||||
|
child:
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context)
|
Navigator.of(context)
|
||||||
@ -167,13 +187,20 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
10.0), // Adjust the radius as needed
|
10.0), // Adjust the radius as needed
|
||||||
),
|
),
|
||||||
side: BorderSide(
|
side: BorderSide(
|
||||||
color: Colors.blue, // Set the outline color
|
color: Color(0xFFAA8E83), // Set the outline color
|
||||||
width: 2.0, // Set the border width
|
width: 1, // Set the border width
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: Text(AppLocalizations.of(context)!.no),
|
child: Text(AppLocalizations.of(context)!.no,
|
||||||
|
style: TextStyle(color: Color(0xFFAA8E83),
|
||||||
|
fontSize: 16,
|
||||||
|
),),
|
||||||
),
|
),
|
||||||
TextButton(
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 100, // Set the desired width
|
||||||
|
child:
|
||||||
|
TextButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
try {
|
try {
|
||||||
// Update status in PocketBase
|
// Update status in PocketBase
|
||||||
@ -202,7 +229,7 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
Navigator.of(context).pop(); // Close dialog
|
Navigator.of(context).pop(); // Close dialog
|
||||||
},
|
},
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
backgroundColor: Colors.blue, // Set background color
|
backgroundColor: Color(0xFFAA8E83), // Set background color
|
||||||
foregroundColor: Colors.white,
|
foregroundColor: Colors.white,
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
@ -212,9 +239,10 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
// 'Yes',
|
// 'Yes',
|
||||||
AppLocalizations.of(context)!.yes,
|
AppLocalizations.of(context)!.yes,
|
||||||
style: TextStyle(color: Colors.white),
|
style: TextStyle(color: Colors.white,
|
||||||
|
fontSize: 16),
|
||||||
),
|
),
|
||||||
),
|
),),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
@ -248,18 +276,83 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
padding: const EdgeInsets.only(left: 10.0, right: 10.0, top: 3.0),
|
padding: const EdgeInsets.only(left: 10.0, right: 10.0, top: 3.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
TextField(
|
// TextField(
|
||||||
|
// decoration: InputDecoration(
|
||||||
|
// prefixIcon: const Icon(Icons.search),
|
||||||
|
// hintText: 'Search',
|
||||||
|
// border: OutlineInputBorder(
|
||||||
|
// borderRadius: BorderRadius.all(Radius.circular(20)),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// onChanged: filterUsers,
|
||||||
|
// ),
|
||||||
|
Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.circular(30.0),
|
||||||
|
border: Border.all(width: 2, color: Color(0xFFAA8E83)),
|
||||||
|
),
|
||||||
|
child: TextField(
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
prefixIcon: const Icon(Icons.search),
|
hintText: AppLocalizations.of(context)!.search,
|
||||||
hintText: 'Search',
|
prefixIcon: Image.asset(
|
||||||
border: OutlineInputBorder(
|
MiscIconAssetPath.search,
|
||||||
borderRadius: BorderRadius.all(Radius.circular(20)),
|
width: 20,
|
||||||
|
height: 20,
|
||||||
),
|
),
|
||||||
|
// ,prefixIcon: Icon(
|
||||||
|
// Icons.search,
|
||||||
|
// color: Color(0xFFAA8E83),
|
||||||
|
// ),
|
||||||
|
border: InputBorder.none,
|
||||||
|
contentPadding:
|
||||||
|
EdgeInsets.symmetric(vertical: 15.0, horizontal: 20.0),
|
||||||
),
|
),
|
||||||
onChanged: filterUsers,
|
onChanged: filterUsers,
|
||||||
),
|
),
|
||||||
SizedBox(height: myheight / 40),
|
),
|
||||||
SingleChildScrollView(
|
SizedBox(height: myheight / 40),
|
||||||
|
filteredUserData.isEmpty
|
||||||
|
? Center(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
SizedBox(height: myheight/5),
|
||||||
|
|
||||||
|
// Icon(Icons.search,
|
||||||
|
// size: 60, color: Colors.grey),
|
||||||
|
Image.asset(
|
||||||
|
MiscIconAssetPath.group,
|
||||||
|
width: 60,
|
||||||
|
height: 60,
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(height: 15),
|
||||||
|
// Space between icon and text
|
||||||
|
Text(
|
||||||
|
"No results found",
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 24,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
color: Colors.grey[700],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(height: 12), // Space between texts
|
||||||
|
FittedBox(
|
||||||
|
child: Text(
|
||||||
|
"We couldn't find anything matching your search.",
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 18, color: Color(0xFF898C81)),
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
),),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: SingleChildScrollView(
|
||||||
scrollDirection: Axis.horizontal,
|
scrollDirection: Axis.horizontal,
|
||||||
child: ConstrainedBox(
|
child: ConstrainedBox(
|
||||||
constraints: BoxConstraints(
|
constraints: BoxConstraints(
|
||||||
@ -320,7 +413,8 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
? Text(
|
? Text(
|
||||||
'No results found',
|
'No results found',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontStyle: FontStyle.italic),
|
fontStyle:
|
||||||
|
FontStyle.italic),
|
||||||
)
|
)
|
||||||
: const Text(
|
: const Text(
|
||||||
''), // Empty cells for other columns
|
''), // Empty cells for other columns
|
||||||
@ -338,14 +432,15 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
DataCell(
|
DataCell(
|
||||||
DropdownButton<String>(
|
DropdownButton<String>(
|
||||||
value: user.status,
|
value: user.status,
|
||||||
items:
|
items: statusOptions.entries
|
||||||
statusOptions.entries.map((status) {
|
.map((status) {
|
||||||
return DropdownMenuItem<String>(
|
return DropdownMenuItem<String>(
|
||||||
value: status.key,
|
value: status.key,
|
||||||
child: Text(
|
child: Text(
|
||||||
status.value,
|
status.value,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: getStatusColor(status.key),
|
color: getStatusColor(
|
||||||
|
status.key),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@ -366,9 +461,9 @@ class _ManageUserRouterState extends State<ManageUserRouter> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@ -180,8 +181,8 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
),
|
),
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Skip',
|
AppLocalizations.of(context)!.skip,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
@ -295,8 +296,9 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
),
|
),
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Skip',
|
// 'Skip',
|
||||||
|
AppLocalizations.of(context)!.skip,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
@ -429,8 +431,9 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
),
|
),
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Skip',
|
// 'Skip',
|
||||||
|
AppLocalizations.of(context)!.skip,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
@ -486,8 +489,8 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
),
|
),
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Got it',
|
AppLocalizations.of(context)!.got_it,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Color(0xFF7DAFBC),
|
color: Color(0xFF7DAFBC),
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
@ -624,7 +627,12 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: widget.title,
|
// title: widget.title,
|
||||||
|
title: Align(
|
||||||
|
alignment: Alignment.centerLeft, // Aligns the title to the left
|
||||||
|
child: widget.title,
|
||||||
|
),
|
||||||
|
titleSpacing: 0,
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
leadingWidth: widget.showBackButton ? mywidth * 0.25 : null,
|
leadingWidth: widget.showBackButton ? mywidth * 0.25 : null,
|
||||||
bottom: widget.showDivider
|
bottom: widget.showDivider
|
||||||
@ -634,8 +642,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
color: widget.dividerColor, // Line color
|
color: widget.dividerColor, // Line color
|
||||||
height: 1, // Line thickness
|
height: 1, // Line thickness
|
||||||
),
|
),
|
||||||
)
|
): null,
|
||||||
: null,
|
|
||||||
actions: widget.actions ??
|
actions: widget.actions ??
|
||||||
[
|
[
|
||||||
// IconButton(
|
// IconButton(
|
||||||
@ -668,6 +675,7 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Positioned(
|
Positioned(
|
||||||
|
top: 5,
|
||||||
right: 10,
|
right: 10,
|
||||||
child: Builder(
|
child: Builder(
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
@ -686,9 +694,11 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
drawer: Drawer(
|
drawer: Drawer(
|
||||||
|
backgroundColor: Colors.white,
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|
||||||
children: [
|
children: [
|
||||||
DrawerHeader(
|
DrawerHeader(
|
||||||
child: Column(
|
child: Column(
|
||||||
@ -786,7 +796,10 @@ class _BaseScaffoldState extends ConsumerState<BaseScaffold> {
|
|||||||
),
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
leading: Icon(Icons.bookmarks_outlined),
|
leading: Icon(Icons.bookmarks_outlined),
|
||||||
title: const Text('Bookmark'),
|
// title: const Text('Bookmark'),
|
||||||
|
title: Text(
|
||||||
|
AppLocalizations.of(context)!.bookmark_title,
|
||||||
|
),
|
||||||
onTap: () => context.go('/bookmark'),
|
onTap: () => context.go('/bookmark'),
|
||||||
),
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
|
|||||||
52
pubspec.lock
52
pubspec.lock
@ -5,23 +5,23 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: _fe_analyzer_shared
|
name: _fe_analyzer_shared
|
||||||
sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834
|
sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "72.0.0"
|
version: "76.0.0"
|
||||||
_macros:
|
_macros:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: dart
|
description: dart
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.3.2"
|
version: "0.3.3"
|
||||||
analyzer:
|
analyzer:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: analyzer
|
name: analyzer
|
||||||
sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139
|
sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.7.0"
|
version: "6.11.0"
|
||||||
analyzer_plugin:
|
analyzer_plugin:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -186,10 +186,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.18.0"
|
version: "1.19.0"
|
||||||
connectivity_plus:
|
connectivity_plus:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -282,10 +282,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: custom_lint_visitor
|
name: custom_lint_visitor
|
||||||
sha256: "8aeb3b6ae2bb765e7716b93d1d10e8356d04e0ff6d7592de6ee04e0dd7d6587d"
|
sha256: bfe9b7a09c4775a587b58d10ebb871d4fe618237639b1e84d5ec62d7dfef25f9
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0+6.7.0"
|
version: "1.0.0+6.11.0"
|
||||||
dart_style:
|
dart_style:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -433,10 +433,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: fl_chart
|
name: fl_chart
|
||||||
sha256: "74959b99b92b9eebeed1a4049426fd67c4abc3c5a0f4d12e2877097d6a11ae08"
|
sha256: "5276944c6ffc975ae796569a826c38a62d2abcf264e26b88fa6f482e107f4237"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.69.2"
|
version: "0.70.2"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@ -845,18 +845,18 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker
|
name: leak_tracker
|
||||||
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
|
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.0.5"
|
version: "10.0.7"
|
||||||
leak_tracker_flutter_testing:
|
leak_tracker_flutter_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker_flutter_testing
|
name: leak_tracker_flutter_testing
|
||||||
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
|
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.8"
|
||||||
leak_tracker_testing:
|
leak_tracker_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -885,10 +885,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: macros
|
name: macros
|
||||||
sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
|
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2-main.4"
|
version: "0.1.3-main.0"
|
||||||
mailer:
|
mailer:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -1276,7 +1276,7 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.99"
|
version: "0.0.0"
|
||||||
smart_api_client:
|
smart_api_client:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -1320,10 +1320,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: stack_trace
|
name: stack_trace
|
||||||
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.11.1"
|
version: "1.12.0"
|
||||||
state_notifier:
|
state_notifier:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -1352,10 +1352,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: string_scanner
|
name: string_scanner
|
||||||
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.3.0"
|
||||||
syncfusion_flutter_charts:
|
syncfusion_flutter_charts:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -1384,10 +1384,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
|
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.2"
|
version: "0.7.3"
|
||||||
the_validator:
|
the_validator:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -1576,10 +1576,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
|
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "14.2.5"
|
version: "14.3.0"
|
||||||
watcher:
|
watcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
name: uae_stat
|
name: uae_stat
|
||||||
description: "View statistics about the UAE from the Federal Center for Statistics and Competitiveness."
|
description: "View statistics about the UAE from the Federal Center for Statistics and Competitiveness."
|
||||||
publish_to: "none"
|
publish_to: "none"
|
||||||
version: 1.0.9+10
|
version: 1.0.10+11
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=3.2.3 <4.0.0"
|
sdk: ">=3.2.3 <4.0.0"
|
||||||
@ -21,7 +21,7 @@ dependencies:
|
|||||||
riverpod_annotation: ^2.3.3
|
riverpod_annotation: ^2.3.3
|
||||||
cupertino_icons: ^1.0.6
|
cupertino_icons: ^1.0.6
|
||||||
|
|
||||||
fl_chart: ^0.69.2
|
fl_chart: ^0.70.2
|
||||||
iconify_design: ^1.0.1
|
iconify_design: ^1.0.1
|
||||||
marquee: ^2.2.3
|
marquee: ^2.2.3
|
||||||
url_launcher: ^6.3.1
|
url_launcher: ^6.3.1
|
||||||
@ -130,6 +130,8 @@ flutter:
|
|||||||
- assets/feedback/thumbfb.png
|
- assets/feedback/thumbfb.png
|
||||||
- assets/user_guide/
|
- assets/user_guide/
|
||||||
- assets/app_tour/
|
- assets/app_tour/
|
||||||
|
- assets/icons/misc/group.png
|
||||||
|
- assets/icons/misc/search.png
|
||||||
|
|
||||||
fonts:
|
fonts:
|
||||||
- family: Segoe
|
- family: Segoe
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user