Compare commits
3 commits
ccefd5c2e4
...
4bac46aa00
Author | SHA1 | Date | |
---|---|---|---|
Motia Benachour | 4bac46aa00 | ||
Motia Benachour | 18794c3e04 | ||
Motia Benachour | ac2a8af99d |
|
@ -26,20 +26,16 @@ apply plugin: 'kotlin-android'
|
||||||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 29
|
compileSdkVersion 31
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main.java.srcDirs += 'src/main/kotlin'
|
main.java.srcDirs += 'src/main/kotlin'
|
||||||
}
|
}
|
||||||
|
|
||||||
lintOptions {
|
|
||||||
disable 'InvalidPackage'
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||||
applicationId "com.example.robo_advisory"
|
applicationId "com.example.robo_advisory"
|
||||||
minSdkVersion 16
|
minSdkVersion 20
|
||||||
targetSdkVersion 29
|
targetSdkVersion 29
|
||||||
versionCode flutterVersionCode.toInteger()
|
versionCode flutterVersionCode.toInteger()
|
||||||
versionName flutterVersionName
|
versionName flutterVersionName
|
||||||
|
|
|
@ -6,11 +6,12 @@
|
||||||
additional functionality it is fine to subclass or reimplement
|
additional functionality it is fine to subclass or reimplement
|
||||||
FlutterApplication and put your custom class here. -->
|
FlutterApplication and put your custom class here. -->
|
||||||
<application
|
<application
|
||||||
android:name="io.flutter.app.FlutterApplication"
|
android:name="${applicationName}"
|
||||||
android:label="robo_advisory"
|
android:label="robo_advisory"
|
||||||
android:icon="@mipmap/ic_launcher">
|
android:icon="@mipmap/ic_launcher">
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
|
android:exported="true"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
android:theme="@style/LaunchTheme"
|
android:theme="@style/LaunchTheme"
|
||||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.3.50'
|
ext.kotlin_version = '1.7.10'
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
jcenter()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.5.0'
|
classpath 'com.android.tools.build:gradle:4.1.0'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ buildscript {
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
jcenter()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
enum Flavor { MOCK, PRO }
|
enum Flavor { MOCK, PRO }
|
||||||
|
|
||||||
class Injector {
|
class Injector {
|
||||||
static Flavor _flavor;
|
static late Flavor _flavor;
|
||||||
|
|
||||||
static void configure(Flavor flavor) {
|
static void configure(Flavor flavor) {
|
||||||
_flavor = flavor;
|
_flavor = flavor;
|
||||||
|
|
|
@ -3,8 +3,8 @@ class Expenses {
|
||||||
String amount;
|
String amount;
|
||||||
String percentage;
|
String percentage;
|
||||||
Expenses({
|
Expenses({
|
||||||
this.type,
|
required this.type,
|
||||||
this.amount,
|
required this.amount,
|
||||||
this.percentage,
|
required this.percentage,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,11 @@ class HealthSteam {
|
||||||
String oneGramGoldPriceInLira;
|
String oneGramGoldPriceInLira;
|
||||||
|
|
||||||
HealthSteam({
|
HealthSteam({
|
||||||
this.type,
|
required this.type,
|
||||||
this.valueInPercentage,
|
required this.valueInPercentage,
|
||||||
this.goldInGram,
|
required this.goldInGram,
|
||||||
this.goldPriceInTurkishLira,
|
required this.goldPriceInTurkishLira,
|
||||||
this.oneGramGoldPriceInLira,
|
required this.oneGramGoldPriceInLira,
|
||||||
});
|
});
|
||||||
|
|
||||||
HealthSteam.fromJson(Map<dynamic, dynamic> map)
|
HealthSteam.fromJson(Map<dynamic, dynamic> map)
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
class Category {
|
class Category {
|
||||||
String name;
|
String name;
|
||||||
String color;
|
String color;
|
||||||
Category({this.name, this.color});
|
|
||||||
|
Category({required this.name, required this.color});
|
||||||
|
|
||||||
Category.formJson(Map<String, dynamic> map)
|
Category.formJson(Map<String, dynamic> map)
|
||||||
: name = map["name"],
|
: name = map["name"],
|
||||||
|
@ -16,7 +17,11 @@ class Transaction {
|
||||||
Category category;
|
Category category;
|
||||||
|
|
||||||
Transaction(
|
Transaction(
|
||||||
{this.amount, this.description, this.date, this.name, this.category});
|
{required this.amount,
|
||||||
|
required this.description,
|
||||||
|
required this.date,
|
||||||
|
required this.name,
|
||||||
|
required this.category});
|
||||||
|
|
||||||
Transaction.fromJson(Map<String, dynamic> map)
|
Transaction.fromJson(Map<String, dynamic> map)
|
||||||
: category = Category.formJson(map["category"]),
|
: category = Category.formJson(map["category"]),
|
||||||
|
|
|
@ -4,5 +4,11 @@ class User {
|
||||||
String email;
|
String email;
|
||||||
String token;
|
String token;
|
||||||
|
|
||||||
User({this.userId, this.name, this.email, this.token});
|
static final User noUser = User(userId: 0, name: '', email: '', token: '');
|
||||||
|
|
||||||
|
User(
|
||||||
|
{required this.userId,
|
||||||
|
required this.name,
|
||||||
|
required this.email,
|
||||||
|
required this.token});
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,14 +11,16 @@ class Wallet {
|
||||||
List<HealthSteam> healthStreams;
|
List<HealthSteam> healthStreams;
|
||||||
List<Expenses> expensesChart;
|
List<Expenses> expensesChart;
|
||||||
|
|
||||||
|
static final Wallet emptyWallet = Wallet._empty();
|
||||||
|
|
||||||
Wallet({
|
Wallet({
|
||||||
this.totalAssets,
|
required this.totalAssets,
|
||||||
this.totalTurkishLiraPool,
|
required this.totalTurkishLiraPool,
|
||||||
this.totalGoldInGram,
|
required this.totalGoldInGram,
|
||||||
this.totalGoldInTurkishLira,
|
required this.totalGoldInTurkishLira,
|
||||||
this.healthSteamDay,
|
required this.healthSteamDay,
|
||||||
this.healthStreams,
|
required this.healthStreams,
|
||||||
this.expensesChart,
|
required this.expensesChart,
|
||||||
});
|
});
|
||||||
|
|
||||||
Wallet.fromMap(Map<String, dynamic> map)
|
Wallet.fromMap(Map<String, dynamic> map)
|
||||||
|
@ -29,5 +31,15 @@ class Wallet {
|
||||||
healthSteamDay = map["health_stream_day"],
|
healthSteamDay = map["health_stream_day"],
|
||||||
healthStreams = (map["health_stream"] as List)
|
healthStreams = (map["health_stream"] as List)
|
||||||
.map((i) => HealthSteam.fromJson(i))
|
.map((i) => HealthSteam.fromJson(i))
|
||||||
.toList();
|
.toList(),
|
||||||
|
expensesChart = [];
|
||||||
|
|
||||||
|
Wallet._empty():
|
||||||
|
totalAssets = '',
|
||||||
|
totalTurkishLiraPool = '',
|
||||||
|
totalGoldInGram = '',
|
||||||
|
totalGoldInTurkishLira = '',
|
||||||
|
healthSteamDay = '',
|
||||||
|
healthStreams = [],
|
||||||
|
expensesChart = [];
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ class AuthProvider with ChangeNotifier {
|
||||||
Status get loggedInStatus => _loggedInStatus;
|
Status get loggedInStatus => _loggedInStatus;
|
||||||
Status get registeredInStatus => _registeredInStatus;
|
Status get registeredInStatus => _registeredInStatus;
|
||||||
|
|
||||||
Future<Map<String, dynamic>> login(String email, int pinCode) async {
|
Future login(String email, int pinCode) async {
|
||||||
var result;
|
var result;
|
||||||
|
|
||||||
final Map<String, dynamic> loginData = {
|
final Map<String, dynamic> loginData = {
|
||||||
|
|
|
@ -3,32 +3,28 @@ import 'package:robo_advisory/models/transaction.dart';
|
||||||
import 'package:robo_advisory/repository/transaction.repository.dart';
|
import 'package:robo_advisory/repository/transaction.repository.dart';
|
||||||
|
|
||||||
class TransactionProvider with ChangeNotifier {
|
class TransactionProvider with ChangeNotifier {
|
||||||
String _selectedCategory = "All";
|
String? _selectedCategory;
|
||||||
List<Transaction> _transactionsData;
|
List<Transaction> _transactionsData = [];
|
||||||
List<Transaction> _transactionsList;
|
|
||||||
|
|
||||||
List<Transaction> get transactionList {
|
List<Transaction> get transactionList {
|
||||||
if (_selectedCategory != 'All') {
|
if (_selectedCategory == null) {
|
||||||
return _transactionsList = _transactionsData
|
return _transactionsData;
|
||||||
.where((transaction) =>
|
|
||||||
transaction.category.name == _selectedCategory.toLowerCase())
|
|
||||||
.toList();
|
|
||||||
} else {
|
|
||||||
return _transactionsList = _transactionsData;
|
|
||||||
}
|
}
|
||||||
|
return _transactionsData
|
||||||
|
.where((transaction) =>
|
||||||
|
transaction.category.name == _selectedCategory?.toLowerCase())
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void setTransactionsList(List<Transaction> transactions) {
|
void setTransactionsList(List<Transaction> transactions) {
|
||||||
_transactionsData = transactions;
|
_transactionsData = transactions;
|
||||||
_transactionsList = transactions;
|
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
String get selectedCategory => _selectedCategory;
|
String? get selectedCategory => _selectedCategory;
|
||||||
|
|
||||||
void setSelectedCategory(String category) {
|
void setSelectedCategory(String? category) {
|
||||||
_selectedCategory = category;
|
_selectedCategory = category;
|
||||||
print(_selectedCategory);
|
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:robo_advisory/models/user.dart';
|
import 'package:robo_advisory/models/user.dart';
|
||||||
|
|
||||||
class UserProvider with ChangeNotifier {
|
class UserProvider with ChangeNotifier {
|
||||||
User _user = new User();
|
User _user = User.noUser;
|
||||||
int _selectedTabIndex = 0;
|
int _selectedTabIndex = 0;
|
||||||
|
|
||||||
List<String> _categories = ["All", "Workplace", "Equipment", "Home", "Other"];
|
List<String> _categories = ["All", "Workplace", "Equipment", "Home", "Other"];
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'package:robo_advisory/models/wallet.dart';
|
||||||
import 'package:robo_advisory/repository/wallet.repository.dart';
|
import 'package:robo_advisory/repository/wallet.repository.dart';
|
||||||
|
|
||||||
class WalletProvider with ChangeNotifier {
|
class WalletProvider with ChangeNotifier {
|
||||||
Wallet _wallet = new Wallet();
|
Wallet _wallet = Wallet.emptyWallet;
|
||||||
|
|
||||||
Wallet get wallet => _wallet;
|
Wallet get wallet => _wallet;
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
||||||
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
|
|
||||||
void _openEndDrawer() {
|
void _openEndDrawer() {
|
||||||
_scaffoldKey.currentState.openEndDrawer();
|
_scaffoldKey.currentState?.openEndDrawer();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'package:robo_advisory/theme/icons.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
|
||||||
class BottomNavigation extends StatelessWidget {
|
class BottomNavigation extends StatelessWidget {
|
||||||
BottomNavigation({@required this.selectedIndex, @required this.onItemTapped});
|
BottomNavigation({required this.selectedIndex, required this.onItemTapped});
|
||||||
final int selectedIndex;
|
final int selectedIndex;
|
||||||
final Function onItemTapped;
|
final Function onItemTapped;
|
||||||
@override
|
@override
|
||||||
|
@ -48,7 +48,7 @@ class BottomNavigation extends StatelessWidget {
|
||||||
showSelectedLabels: false,
|
showSelectedLabels: false,
|
||||||
showUnselectedLabels: false,
|
showUnselectedLabels: false,
|
||||||
currentIndex: selectedIndex,
|
currentIndex: selectedIndex,
|
||||||
onTap: onItemTapped,
|
onTap: (v) => onItemTapped(v),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,24 +17,20 @@ class HistoryScreen extends StatefulWidget {
|
||||||
|
|
||||||
class _HistoryScreenState extends State<HistoryScreen> {
|
class _HistoryScreenState extends State<HistoryScreen> {
|
||||||
bool loadingData = true;
|
bool loadingData = true;
|
||||||
List<Transaction> transactionData;
|
List<Transaction> transactionData = [];
|
||||||
|
|
||||||
void initState() {
|
void initState() {
|
||||||
TransactionProvider transactionProvider =
|
TransactionProvider transactionProvider =
|
||||||
Provider.of<TransactionProvider>(context, listen: false);
|
Provider.of<TransactionProvider>(context, listen: false);
|
||||||
transactionProvider.loadTransactions().then((value) {
|
transactionProvider.loadTransactions().then((value) {
|
||||||
if (value != null) {
|
Timer(Duration(seconds: 3), () {
|
||||||
Timer(Duration(seconds: 3), () {
|
setState(() {
|
||||||
setState(() {
|
loadingData = false;
|
||||||
loadingData = false;
|
transactionData = value;
|
||||||
transactionData = value;
|
Provider.of<TransactionProvider>(context, listen: false)
|
||||||
Provider.of<TransactionProvider>(context, listen: false)
|
.setTransactionsList(transactionData);
|
||||||
.setTransactionsList(transactionData);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
|
|
||||||
print(value);
|
|
||||||
});
|
});
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
@ -71,9 +67,10 @@ class _HistoryScreenState extends State<HistoryScreen> {
|
||||||
}).toList(),
|
}).toList(),
|
||||||
hint: new Text("Select Category"),
|
hint: new Text("Select Category"),
|
||||||
value: Provider.of<TransactionProvider>(context,
|
value: Provider.of<TransactionProvider>(context,
|
||||||
listen: true)
|
listen: true)
|
||||||
.selectedCategory,
|
.selectedCategory ??
|
||||||
onChanged: (String newValue) {
|
'All',
|
||||||
|
onChanged: (String? newValue) {
|
||||||
Provider.of<TransactionProvider>(context,
|
Provider.of<TransactionProvider>(context,
|
||||||
listen: false)
|
listen: false)
|
||||||
.setSelectedCategory(newValue);
|
.setSelectedCategory(newValue);
|
||||||
|
|
|
@ -4,7 +4,9 @@ import 'package:robo_advisory/utils/helpers.dart';
|
||||||
|
|
||||||
class TransactionListTile extends StatelessWidget {
|
class TransactionListTile extends StatelessWidget {
|
||||||
final Transaction transactionObject;
|
final Transaction transactionObject;
|
||||||
TransactionListTile({this.transactionObject});
|
|
||||||
|
TransactionListTile({required this.transactionObject});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Column(
|
return Column(
|
||||||
|
|
|
@ -12,7 +12,7 @@ import 'package:robo_advisory/screens/home/local_widgets/expenses_chart.dart';
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
class HomeScreen extends StatefulWidget {
|
class HomeScreen extends StatefulWidget {
|
||||||
HomeScreen({@required this.toggleDrawer});
|
HomeScreen({required this.toggleDrawer});
|
||||||
final Function toggleDrawer;
|
final Function toggleDrawer;
|
||||||
@override
|
@override
|
||||||
_HomeScreenState createState() => _HomeScreenState();
|
_HomeScreenState createState() => _HomeScreenState();
|
||||||
|
@ -20,13 +20,13 @@ class HomeScreen extends StatefulWidget {
|
||||||
|
|
||||||
class _HomeScreenState extends State<HomeScreen> {
|
class _HomeScreenState extends State<HomeScreen> {
|
||||||
bool loadingData = true;
|
bool loadingData = true;
|
||||||
Wallet walletData;
|
Wallet walletData = Wallet.emptyWallet;
|
||||||
|
|
||||||
void initState() {
|
void initState() {
|
||||||
WalletProvider walletProvider =
|
WalletProvider walletProvider =
|
||||||
Provider.of<WalletProvider>(context, listen: false);
|
Provider.of<WalletProvider>(context, listen: false);
|
||||||
walletProvider.loadWallet().then((value) {
|
walletProvider.loadWallet().then((value) {
|
||||||
if (value.totalAssets != null) {
|
if (value.totalAssets.isNotEmpty) {
|
||||||
Timer(Duration(seconds: 3), () {
|
Timer(Duration(seconds: 3), () {
|
||||||
setState(() {
|
setState(() {
|
||||||
loadingData = false;
|
loadingData = false;
|
||||||
|
@ -70,7 +70,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: widget.toggleDrawer,
|
onTap: () => widget.toggleDrawer(),
|
||||||
child: Icon(Icons.more_vert),
|
child: Icon(Icons.more_vert),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -10,7 +10,7 @@ class ExpensesChart extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class ExpensesChartState extends State {
|
class ExpensesChartState extends State {
|
||||||
int touchedIndex;
|
int? touchedIndex;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -21,18 +21,22 @@ class ExpensesChartState extends State {
|
||||||
Expanded(
|
Expanded(
|
||||||
child: PieChart(
|
child: PieChart(
|
||||||
PieChartData(
|
PieChartData(
|
||||||
pieTouchData: PieTouchData(touchCallback: (pieTouchResponse) {
|
pieTouchData:
|
||||||
|
PieTouchData(touchCallback: (event, pieTouchResponse) {
|
||||||
|
if (pieTouchResponse == null) return;
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
if (pieTouchResponse.touchInput is FlLongPressEnd ||
|
if (event is FlLongPressEnd || event is FlPanEndEvent) {
|
||||||
pieTouchResponse.touchInput is FlPanEnd) {
|
|
||||||
touchedIndex = -1;
|
touchedIndex = -1;
|
||||||
} else {
|
} else {
|
||||||
touchedIndex = pieTouchResponse.touchedSectionIndex;
|
touchedIndex =
|
||||||
|
pieTouchResponse.touchedSection?.touchedSectionIndex;
|
||||||
|
|
||||||
if (touchedIndex != null) {
|
if (touchedIndex != null) {
|
||||||
Provider.of<UserProvider>(context, listen: false)
|
Provider.of<UserProvider>(context, listen: false)
|
||||||
.setSelectedTabIndex(3);
|
.setSelectedTabIndex(3);
|
||||||
Provider.of<TransactionProvider>(context, listen: false)
|
Provider.of<TransactionProvider>(context, listen: false)
|
||||||
.setSelectedCategory(categories[touchedIndex + 1]);
|
.setSelectedCategory(categories[touchedIndex! + 1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -50,58 +54,31 @@ class ExpensesChartState extends State {
|
||||||
}
|
}
|
||||||
|
|
||||||
List<PieChartSectionData> showingSections() {
|
List<PieChartSectionData> showingSections() {
|
||||||
return List.generate(4, (i) {
|
final colorsDict = [0xff0293ee, 0xfff8b250, 0xff13d38e, 0xff845bef];
|
||||||
final isTouched = i == touchedIndex;
|
final values = [50.0, 12.0, 13.0, 25.0];
|
||||||
final double fontSize = isTouched ? 25 : 16;
|
|
||||||
final double radius = isTouched ? 60 : 50;
|
return values
|
||||||
switch (i) {
|
.asMap()
|
||||||
case 0:
|
.entries
|
||||||
return PieChartSectionData(
|
.map((entry) => _pieChartSectionData(
|
||||||
color: const Color(0xff0293ee),
|
colorsDict[entry.key], entry.value, touchedIndex == entry.key))
|
||||||
value: 50,
|
.toList();
|
||||||
title: '50%',
|
}
|
||||||
radius: radius,
|
|
||||||
titleStyle: TextStyle(
|
PieChartSectionData _pieChartSectionData(
|
||||||
fontSize: fontSize,
|
int color, double value, bool isTouched) {
|
||||||
fontWeight: FontWeight.bold,
|
final double fontSize = isTouched ? 25 : 16;
|
||||||
color: const Color(0xffffffff)),
|
final double radius = isTouched ? 60 : 50;
|
||||||
);
|
|
||||||
case 1:
|
return PieChartSectionData(
|
||||||
return PieChartSectionData(
|
color: Color(color),
|
||||||
color: const Color(0xfff8b250),
|
value: value,
|
||||||
value: 12,
|
title: value.toString() + '%',
|
||||||
title: '12%',
|
radius: radius,
|
||||||
radius: radius,
|
titleStyle: TextStyle(
|
||||||
titleStyle: TextStyle(
|
fontSize: fontSize,
|
||||||
fontSize: fontSize,
|
fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
color: const Color(0xffffffff)),
|
||||||
color: const Color(0xffffffff)),
|
);
|
||||||
);
|
|
||||||
case 2:
|
|
||||||
return PieChartSectionData(
|
|
||||||
color: const Color(0xff13d38e),
|
|
||||||
value: 13,
|
|
||||||
title: '13%',
|
|
||||||
radius: radius,
|
|
||||||
titleStyle: TextStyle(
|
|
||||||
fontSize: fontSize,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
color: const Color(0xffffffff)),
|
|
||||||
);
|
|
||||||
case 3:
|
|
||||||
return PieChartSectionData(
|
|
||||||
color: const Color(0xff845bef),
|
|
||||||
value: 25,
|
|
||||||
title: '25%',
|
|
||||||
radius: radius,
|
|
||||||
titleStyle: TextStyle(
|
|
||||||
fontSize: fontSize,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
color: const Color(0xffffffff)),
|
|
||||||
);
|
|
||||||
default:
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:flutter_custom_dialog/flutter_custom_dialog.dart';
|
import 'package:flutter_custom_dialog/flutter_custom_dialog.dart';
|
||||||
|
|
||||||
class FinancialHealthStream extends StatelessWidget {
|
class FinancialHealthStream extends StatelessWidget {
|
||||||
FinancialHealthStream({@required this.healthSteams});
|
FinancialHealthStream({required this.healthSteams});
|
||||||
final List<HealthSteam> healthSteams;
|
final List<HealthSteam> healthSteams;
|
||||||
|
|
||||||
double calculatePercentage(double fullWidth, int percentValue) {
|
double calculatePercentage(double fullWidth, int percentValue) {
|
||||||
|
|
|
@ -76,6 +76,7 @@ class LoginScreen extends StatelessWidget {
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.only(left: 10.0, right: 10.0),
|
padding: EdgeInsets.only(left: 10.0, right: 10.0),
|
||||||
child: PinCodeTextField(
|
child: PinCodeTextField(
|
||||||
|
appContext: context,
|
||||||
length: 5,
|
length: 5,
|
||||||
cursorColor: Colors.black,
|
cursorColor: Colors.black,
|
||||||
animationType: AnimationType.fade,
|
animationType: AnimationType.fade,
|
||||||
|
|
|
@ -44,6 +44,7 @@ class RegisterFirstScreen extends StatelessWidget {
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.only(left: 10.0, right: 10.0),
|
padding: EdgeInsets.only(left: 10.0, right: 10.0),
|
||||||
child: PinCodeTextField(
|
child: PinCodeTextField(
|
||||||
|
appContext: context,
|
||||||
length: 5,
|
length: 5,
|
||||||
cursorColor: Colors.black,
|
cursorColor: Colors.black,
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
|
@ -75,6 +76,7 @@ class RegisterFirstScreen extends StatelessWidget {
|
||||||
scale: 0.8,
|
scale: 0.8,
|
||||||
child: Switch(
|
child: Switch(
|
||||||
value: false,
|
value: false,
|
||||||
|
onChanged: (_) {},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text('Remember me')
|
Text('Remember me')
|
||||||
|
|
|
@ -14,7 +14,7 @@ final otpPinTheme = PinTheme(
|
||||||
fieldWidth: 50,
|
fieldWidth: 50,
|
||||||
);
|
);
|
||||||
|
|
||||||
InputDecoration roboInputDecoration({String placeholderHint}) {
|
InputDecoration roboInputDecoration({String? placeholderHint}) {
|
||||||
return InputDecoration(
|
return InputDecoration(
|
||||||
filled: true,
|
filled: true,
|
||||||
fillColor: Colors.white,
|
fillColor: Colors.white,
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
//
|
||||||
class SizeConfig {
|
// class SizeConfig {
|
||||||
static MediaQueryData _mediaQueryData;
|
// static MediaQueryData _mediaQueryData;
|
||||||
static double screenWidth;
|
// static double screenWidth;
|
||||||
static double screenHeight;
|
// static double screenHeight;
|
||||||
static double defaultSize;
|
// static double defaultSize;
|
||||||
static Orientation orientation;
|
// static Orientation orientation;
|
||||||
|
//
|
||||||
void init(BuildContext context) {
|
// void init(BuildContext context) {
|
||||||
_mediaQueryData = MediaQuery.of(context);
|
// _mediaQueryData = MediaQuery.of(context);
|
||||||
screenWidth = _mediaQueryData.size.width;
|
// screenWidth = _mediaQueryData.size.width;
|
||||||
screenHeight = _mediaQueryData.size.height;
|
// screenHeight = _mediaQueryData.size.height;
|
||||||
orientation = _mediaQueryData.orientation;
|
// orientation = _mediaQueryData.orientation;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// Get the proportionate height as per screen size
|
// // Get the proportionate height as per screen size
|
||||||
double getProportionateScreenHeight(double inputHeight) {
|
// double getProportionateScreenHeight(double inputHeight) {
|
||||||
double screenHeight = SizeConfig.screenHeight;
|
// double screenHeight = SizeConfig.screenHeight;
|
||||||
// 812 is the layout height that designer use
|
// // 812 is the layout height that designer use
|
||||||
return (inputHeight / 812.0) * screenHeight;
|
// return (inputHeight / 812.0) * screenHeight;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// Get the proportionate height as per screen size
|
// // Get the proportionate height as per screen size
|
||||||
double getProportionateScreenWidth(double inputWidth) {
|
// double getProportionateScreenWidth(double inputWidth) {
|
||||||
double screenWidth = SizeConfig.screenWidth;
|
// double screenWidth = SizeConfig.screenWidth;
|
||||||
// 375 is the layout width that designer use
|
// // 375 is the layout width that designer use
|
||||||
return (inputWidth / 375.0) * screenWidth;
|
// return (inputWidth / 375.0) * screenWidth;
|
||||||
}
|
// }
|
||||||
|
|
|
@ -46,6 +46,7 @@ class AppDrawer extends StatelessWidget {
|
||||||
_createDrawerItem(
|
_createDrawerItem(
|
||||||
icon: accountIcon,
|
icon: accountIcon,
|
||||||
text: 'Account',
|
text: 'Account',
|
||||||
|
onTap: () {},
|
||||||
),
|
),
|
||||||
_createDrawerItem(
|
_createDrawerItem(
|
||||||
icon: logoutIcon,
|
icon: logoutIcon,
|
||||||
|
@ -125,7 +126,7 @@ class AppDrawer extends StatelessWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _createDrawerItem(
|
Widget _createDrawerItem(
|
||||||
{String icon, String text, GestureTapCallback onTap}) {
|
{required String icon, required String text, required GestureTapCallback onTap}) {
|
||||||
return ListTile(
|
return ListTile(
|
||||||
title: Row(
|
title: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
|
|
165
pubspec.lock
165
pubspec.lock
|
@ -7,98 +7,91 @@ packages:
|
||||||
name: async
|
name: async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.0-nullsafety.1"
|
version: "2.8.2"
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: boolean_selector
|
name: boolean_selector
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0-nullsafety.1"
|
version: "2.1.0"
|
||||||
characters:
|
characters:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: characters
|
name: characters
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0-nullsafety.3"
|
version: "1.2.0"
|
||||||
charcode:
|
charcode:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: charcode
|
name: charcode
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0-nullsafety.1"
|
version: "1.3.1"
|
||||||
clock:
|
clock:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: clock
|
name: clock
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0-nullsafety.1"
|
version: "1.1.0"
|
||||||
collection:
|
collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.0-nullsafety.3"
|
version: "1.15.0"
|
||||||
convert:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: convert
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "2.1.1"
|
|
||||||
crypto:
|
crypto:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: crypto
|
name: crypto
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.5"
|
version: "3.0.2"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: cupertino_icons
|
name: cupertino_icons
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.5"
|
||||||
equatable:
|
equatable:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: equatable
|
name: equatable
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.5"
|
version: "2.0.5"
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: fake_async
|
name: fake_async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0-nullsafety.1"
|
version: "1.2.0"
|
||||||
ffi:
|
ffi:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: ffi
|
name: ffi
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.3"
|
version: "1.2.1"
|
||||||
file:
|
file:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: file
|
name: file
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.2.1"
|
version: "6.1.4"
|
||||||
fl_chart:
|
fl_chart:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: fl_chart
|
name: fl_chart
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.0"
|
version: "0.55.1"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -110,21 +103,21 @@ packages:
|
||||||
name: flutter_custom_dialog
|
name: flutter_custom_dialog
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.20"
|
version: "1.3.0"
|
||||||
flutter_spinkit:
|
flutter_spinkit:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_spinkit
|
name: flutter_spinkit
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.2+1"
|
version: "5.1.0"
|
||||||
flutter_svg:
|
flutter_svg:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_svg
|
name: flutter_svg
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.19.1"
|
version: "1.0.3"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -141,196 +134,224 @@ packages:
|
||||||
name: google_fonts
|
name: google_fonts
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "3.0.1"
|
||||||
http:
|
http:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: http
|
name: http
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.2"
|
version: "0.13.5"
|
||||||
http_parser:
|
http_parser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: http_parser
|
name: http_parser
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.4"
|
version: "4.0.1"
|
||||||
intl:
|
js:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: intl
|
name: js
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.16.1"
|
version: "0.6.3"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: matcher
|
name: matcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.10-nullsafety.1"
|
version: "0.12.11"
|
||||||
|
material_color_utilities:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: material_color_utilities
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.3"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0-nullsafety.3"
|
version: "1.7.0"
|
||||||
nested:
|
nested:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: nested
|
name: nested
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4"
|
version: "1.0.0"
|
||||||
path:
|
path:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path
|
name: path
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.0-nullsafety.1"
|
version: "1.8.0"
|
||||||
path_drawing:
|
path_drawing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_drawing
|
name: path_drawing
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.1+1"
|
version: "1.0.1"
|
||||||
path_parsing:
|
path_parsing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_parsing
|
name: path_parsing
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.4"
|
version: "1.0.1"
|
||||||
path_provider:
|
path_provider:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider
|
name: path_provider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.6.24"
|
version: "2.0.11"
|
||||||
|
path_provider_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_android
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.20"
|
||||||
|
path_provider_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path_provider_ios
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.11"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_linux
|
name: path_provider_linux
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1+2"
|
version: "2.1.7"
|
||||||
path_provider_macos:
|
path_provider_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_macos
|
name: path_provider_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4+6"
|
version: "2.0.6"
|
||||||
path_provider_platform_interface:
|
path_provider_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_platform_interface
|
name: path_provider_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "2.0.4"
|
||||||
path_provider_windows:
|
path_provider_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_windows
|
name: path_provider_windows
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.4+3"
|
version: "2.0.7"
|
||||||
pedantic:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: pedantic
|
|
||||||
url: "https://pub.dartlang.org"
|
|
||||||
source: hosted
|
|
||||||
version: "1.9.2"
|
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.0"
|
version: "4.4.0"
|
||||||
pin_code_fields:
|
pin_code_fields:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: pin_code_fields
|
name: pin_code_fields
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.1"
|
version: "7.4.0"
|
||||||
platform:
|
platform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: platform
|
name: platform
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "3.1.0"
|
||||||
plugin_platform_interface:
|
plugin_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: plugin_platform_interface
|
name: plugin_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.3"
|
version: "2.1.2"
|
||||||
process:
|
process:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: process
|
name: process
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.13"
|
version: "4.2.4"
|
||||||
provider:
|
provider:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: provider
|
name: provider
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.3.2+2"
|
version: "6.0.3"
|
||||||
shared_preferences:
|
shared_preferences:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: shared_preferences
|
name: shared_preferences
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.12+4"
|
version: "2.0.15"
|
||||||
|
shared_preferences_android:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: shared_preferences_android
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.13"
|
||||||
|
shared_preferences_ios:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: shared_preferences_ios
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.1"
|
||||||
shared_preferences_linux:
|
shared_preferences_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_linux
|
name: shared_preferences_linux
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.2+4"
|
version: "2.1.1"
|
||||||
shared_preferences_macos:
|
shared_preferences_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_macos
|
name: shared_preferences_macos
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1+11"
|
version: "2.0.4"
|
||||||
shared_preferences_platform_interface:
|
shared_preferences_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_platform_interface
|
name: shared_preferences_platform_interface
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "2.1.0"
|
||||||
shared_preferences_web:
|
shared_preferences_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_web
|
name: shared_preferences_web
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2+7"
|
version: "2.0.4"
|
||||||
shared_preferences_windows:
|
shared_preferences_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_windows
|
name: shared_preferences_windows
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.0.1+3"
|
version: "2.1.1"
|
||||||
sky_engine:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -342,77 +363,77 @@ packages:
|
||||||
name: source_span
|
name: source_span
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.0-nullsafety.2"
|
version: "1.8.1"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: stack_trace
|
name: stack_trace
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.10.0-nullsafety.1"
|
version: "1.10.0"
|
||||||
stream_channel:
|
stream_channel:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: stream_channel
|
name: stream_channel
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0-nullsafety.1"
|
version: "2.1.0"
|
||||||
string_scanner:
|
string_scanner:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: string_scanner
|
name: string_scanner
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0-nullsafety.1"
|
version: "1.1.0"
|
||||||
term_glyph:
|
term_glyph:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: term_glyph
|
name: term_glyph
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0-nullsafety.1"
|
version: "1.2.0"
|
||||||
test_api:
|
test_api:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.19-nullsafety.2"
|
version: "0.4.8"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: typed_data
|
name: typed_data
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0-nullsafety.3"
|
version: "1.3.0"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vector_math
|
name: vector_math
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0-nullsafety.3"
|
version: "2.1.1"
|
||||||
win32:
|
win32:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: win32
|
name: win32
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.7.4"
|
version: "2.5.2"
|
||||||
xdg_directories:
|
xdg_directories:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xdg_directories
|
name: xdg_directories
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2"
|
version: "0.2.0+2"
|
||||||
xml:
|
xml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xml
|
name: xml
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.5.1"
|
version: "5.3.1"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.10.0-110 <2.11.0"
|
dart: ">=2.16.2 <3.0.0"
|
||||||
flutter: ">=1.22.0 <2.0.0"
|
flutter: ">=2.10.0"
|
||||||
|
|
20
pubspec.yaml
20
pubspec.yaml
|
@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||||
version: 1.0.0+1
|
version: 1.0.0+1
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.7.0 <3.0.0"
|
sdk: ">=2.16.2 <3.0.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
|
@ -28,15 +28,15 @@ dependencies:
|
||||||
# The following adds the Cupertino Icons font to your application.
|
# The following adds the Cupertino Icons font to your application.
|
||||||
# Use with the CupertinoIcons class for iOS style icons.
|
# Use with the CupertinoIcons class for iOS style icons.
|
||||||
cupertino_icons: ^1.0.0
|
cupertino_icons: ^1.0.0
|
||||||
provider: ^4.3.2+2
|
provider: ^6.0.3
|
||||||
http: ^0.12.2
|
http: ^0.13.5
|
||||||
shared_preferences: ^0.5.12+4
|
shared_preferences: ^2.0.15
|
||||||
flutter_spinkit: ^4.1.2+1
|
flutter_spinkit: ^5.1.0
|
||||||
pin_code_fields: ^6.0.1
|
pin_code_fields: ^7.4.0
|
||||||
flutter_svg: ^0.19.1
|
flutter_svg: ^1.0.3
|
||||||
google_fonts: ^1.1.1
|
google_fonts: ^3.0.1
|
||||||
fl_chart: ^0.12.0
|
fl_chart: ^0.55.1
|
||||||
flutter_custom_dialog: ^1.0.20
|
flutter_custom_dialog: ^1.3.0
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
Loading…
Reference in a new issue