diff --git a/android/gradle.properties b/android/gradle.properties index 431d951..565c0f0 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -#org.gradle.java.home = /Library/Java/JavaVirtualMachines/jdk-18.0.2.1.jdk/Contents/Home +#org.gradle.java.home = C:/Program Files/Java/jdk-18.0.2.1 diff --git a/lib/pages/addnewbudget.dart b/lib/pages/addnewbudget.dart index d1a0784..f8b7a20 100644 --- a/lib/pages/addnewbudget.dart +++ b/lib/pages/addnewbudget.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:smartspend/widgets/backbutton.dart'; import 'package:flutter_colorpicker/flutter_colorpicker.dart'; import 'package:smartspend/widgets/savenewcat.dart'; @@ -152,7 +151,7 @@ class _AddNewCat extends State { Container( margin: const EdgeInsets.only(left:30), child: const Text( - 'Amount', + 'Limit', style: TextStyle( fontFamily: 'Montserrat', fontSize: 14, @@ -280,8 +279,8 @@ class _AddNewCat extends State { //class for color picker class ColorSelect extends StatefulWidget{ - double desiredW; - double desiredH; + final double desiredW; + final double desiredH; ColorSelect({super.key, required this.desiredH, required this.desiredW}); diff --git a/lib/pages/managebudget.dart b/lib/pages/managebudget.dart index 5d1e69c..f4c984e 100644 --- a/lib/pages/managebudget.dart +++ b/lib/pages/managebudget.dart @@ -3,7 +3,8 @@ import 'package:smartspend/widgets/backbutton.dart'; import 'package:smartspend/widgets/editablebudgetcat.dart'; import 'package:smartspend/pages/addnewbudget.dart'; import 'package:smartspend/widgets/addcat.dart'; - +import 'package:smartspend/backend/category.dart'; +import 'package:smartspend/backend/wyrm/database.dart'; class MainBudget extends StatefulWidget { const MainBudget({super.key}); @@ -13,6 +14,10 @@ class MainBudget extends StatefulWidget { } class _MainBudgetState extends State { + + //calculate available budget in acc + //double available = ; + @override Widget build(BuildContext context) { return Scaffold( @@ -24,18 +29,18 @@ class _MainBudgetState extends State { left: 20, child: CustomizedBackButton(), ), - const Positioned( + Positioned( top: 100, left: 30, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text("Manage\nBudget", style: TextStyle( - fontFamily: 'Montserrat', - fontSize: 50, - height: 1, - color: Colors.white, - fontWeight: FontWeight.w800 + fontFamily: 'Montserrat', + fontSize: 50, + height: 1, + color: Colors.white, + fontWeight: FontWeight.w800 )), SizedBox(height: 70), Text('Total Available Budget', style: TextStyle( @@ -43,12 +48,12 @@ class _MainBudgetState extends State { fontSize: 12, color: Colors.white, )), - Text('FROM USER DATA', style: TextStyle( //should be the number of money available in the account - fontFamily: 'Montserrat', - fontSize: 30, - height: 1.2, - color: Colors.white, - fontWeight: FontWeight.w600 + Text("Available", style: TextStyle( //should be the number of money available in the account + fontFamily: 'Montserrat', + fontSize: 30, + height: 1.2, + color: Colors.white, + fontWeight: FontWeight.w600 )), ], ), @@ -76,36 +81,73 @@ class _MainBudgetState extends State { -class LV extends StatelessWidget { +class LV extends StatefulWidget { const LV({super.key}); + @override + _LV createState() => _LV(); +} + +class _LV extends State { + late List categories; + Wyrm database = Wyrm(); + bool load = false; + + Future initArgs() async { + categories = await database.categories(); + + setState(() { + load = true; + }); + } + + @override + void initState() { + super.initState(); + initArgs(); + } + @override Widget build(BuildContext context) { + if (load == false) { + return EditableBudgetCat( + name: "No category founded", // Access the property of Category + color: Colors.red, + number: 0, + ); + } return Column( - children : [ - Expanded( - child: ListView.separated( - itemCount: 2, - separatorBuilder: (context, index) => const Divider(height: 20, color: Color(0xffF5F5F5)), - itemBuilder: (BuildContext context, int index) { - return EditableBudgetCat(name: 'Food', - color: Colors.deepOrange, - number: 4500); - }, - ) + children: [ + Padding( + padding: EdgeInsets.only(top: 10) + ), + Expanded( + child: ListView.separated( + itemCount: categories.length, + separatorBuilder: (context, index) => + const Divider(height: 20, color: Color(0xffF5F5F5)), + itemBuilder: (BuildContext context, int index) { + return EditableBudgetCat( + name: categories[index].categoryName, // Access the property of Category + color: Color(categories[index].categoryColor), + number: categories[index].spendingLimit, + ); + }, ), - Container( - margin: EdgeInsets.only(top: 10, bottom: 10), - child:AddCatButton( - onPressed: () { - Navigator.of(context).push( - MaterialPageRoute( - builder: (context) => AddNewCat()) - ); - }, - ) - ) - ] + ), + Container( + margin: EdgeInsets.only(top: 10, bottom: 10), + child: AddCatButton( + onPressed: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (context) => AddNewCat(), + ), + ); + }, + ), + ), + ], ); } -} \ No newline at end of file +} diff --git a/lib/widgets/editablebudgetcat.dart b/lib/widgets/editablebudgetcat.dart index 35d456c..23c504f 100644 --- a/lib/widgets/editablebudgetcat.dart +++ b/lib/widgets/editablebudgetcat.dart @@ -4,7 +4,7 @@ import 'package:flutter_slidable/flutter_slidable.dart'; class EditableBudgetCat extends StatefulWidget{ final String name; final Color color; - final double number; + final num number; const EditableBudgetCat({super.key, required this.name, required this.color, required this.number}); @@ -38,27 +38,6 @@ class _EditableBudgetCat extends State { motion: const BehindMotion(), extentRatio: 0.35, children: [ - Expanded( - child: Align( - alignment: Alignment.centerRight, - child: InkWell( - onTap: () {}, - child: Container( - alignment: Alignment.center, - width: 60, - height: height, - decoration: const BoxDecoration( - color:Colors.white, - //borderRadius: BorderRadius.circular(20.0) - ), - child: const Icon( - Icons.edit_document, - color: Color(0xffBABABA), - ) - ) - ) - ) - ), Expanded( child: Align( alignment: Alignment.centerRight, diff --git a/pubspec.lock b/pubspec.lock index 6ca80c4..fcaaa15 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "36a321c3d2cbe01cbcb3540a87b8843846e0206df3e691fa7b23e19e78de6d49" + sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 url: "https://pub.dev" source: hosted - version: "65.0.0" + version: "64.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: dfe03b90ec022450e22513b5e5ca1f01c0c01de9c3fba2f7fd233cb57a6b9a07 + sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.2.0" archive: dependency: transitive description: @@ -149,10 +149,10 @@ packages: dependency: transitive description: name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + sha256: "595a29b55ce82d53398e1bcc2cba525d7bd7c59faeb2d2540e9d42c390cfeeeb" url: "https://pub.dev" source: hosted - version: "1.7.2" + version: "1.6.4" crypto: dependency: transitive description: @@ -221,10 +221,10 @@ packages: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "6.1.4" fixnum: dependency: transitive description: @@ -415,22 +415,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "04be76c4a4bb50f14904e64749237e541e7c7bcf7ec0b196907322ab5d2fc739" - url: "https://pub.dev" - source: hosted - version: "9.0.16" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: b06739349ec2477e943055aea30172c5c7000225f79dad4702e2ec0eda79a6ff - url: "https://pub.dev" - source: hosted - version: "1.0.5" lints: dependency: transitive description: @@ -459,18 +443,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.10.0" mime: dependency: transitive description: @@ -595,10 +579,10 @@ packages: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.2" plugin_platform_interface: dependency: transitive description: @@ -627,10 +611,10 @@ packages: dependency: transitive description: name: process - sha256: "266ca5be5820feefc777793d0a583acfc8c40834893c87c00c6c09e2cf58ea42" + sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "4.2.4" pub_semver: dependency: transitive description: @@ -920,10 +904,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "11.10.0" watcher: dependency: transitive description: @@ -936,26 +920,26 @@ packages: dependency: transitive description: name: web - sha256: edc8a9573dd8c5a83a183dae1af2b6fd4131377404706ca4e5420474784906fa + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.3.0" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "045ec2137c27bf1a32e6ffa0e734d532a6677bf9016a0d1a406c54e499ff945b" + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.0" webdriver: dependency: transitive description: name: webdriver - sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.2" webkit_inspection_protocol: dependency: transitive description: