Compare commits
2 commits
577655cdc5
...
54599c7d37
Author | SHA1 | Date | |
---|---|---|---|
|
54599c7d37 | ||
|
a123556ea3 |
|
@ -1,4 +1,6 @@
|
|||
# prasule
|
||||
[![Codemagic build status](https://api.codemagic.io/apps/64faee78aae8c48abc70dbc6/64faee78aae8c48abc70dbc5/status_badge.svg)](https://codemagic.io/apps/64faee78aae8c48abc70dbc6/64faee78aae8c48abc70dbc5/latest_build) [![Bug issue count](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgit.mnau.xyz%2Fapi%2Fv1%2Frepos%2Fhernik%2Fprasule%2Fissues%3Flabels%3DKind%2FBug&query=%24.length&logo=forgejo&label=bug%20issues&color=red)](https://git.mnau.xyz/hernik/prasule/issues?q=&type=all&sort=&state=open&labels=144&milestone=0&project=0&assignee=0&poster=0)
|
||||
|
||||
Expense manager
|
||||
|
||||
## License
|
||||
|
|
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 14 KiB |
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 8.8 KiB |
4
android/app/src/main/res/values/colors.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#2ce086</color>
|
||||
</resources>
|
BIN
assets/icon/dynamic_foreground.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
assets/icon/full_ico.png
Normal file
After Width: | Height: | Size: 62 KiB |
25
integration_test/setup_test.dart
Normal file
|
@ -0,0 +1,25 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:integration_test/integration_test.dart';
|
||||
|
||||
import 'package:prasule/main.dart';
|
||||
|
||||
void main() {
|
||||
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
|
||||
group("Test Setup screen:", () {
|
||||
testWidgets('First-time setup', (WidgetTester tester) async {
|
||||
// Build our app and trigger a frame.
|
||||
await tester.pumpWidget(const MyApp());
|
||||
|
||||
expect(find.text('Welcome!'), findsOneWidget);
|
||||
|
||||
// // Tap the '+' icon and trigger a frame.
|
||||
// await tester.tap(find.byIcon(Icons.add));
|
||||
// await tester.pump();
|
||||
|
||||
// // Verify that our counter has incremented.
|
||||
// expect(find.text('0'), findsNothing);
|
||||
// expect(find.text('1'), findsOneWidget);
|
||||
});
|
||||
});
|
||||
}
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 900 B |
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 5 KiB |
After Width: | Height: | Size: 2 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 7.2 KiB |
|
@ -36,4 +36,11 @@ class WalletManager {
|
|||
}
|
||||
wallet.writeAsStringSync(jsonEncode(w.toJson()));
|
||||
}
|
||||
|
||||
static Future<void> deleteWallet(Wallet w) async {
|
||||
var path =
|
||||
Directory("${(await getApplicationDocumentsDirectory()).path}/wallets");
|
||||
var wallet = File("${path.path}/${w.name}");
|
||||
wallet.deleteSync();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,12 @@ class MyApp extends StatelessWidget {
|
|||
),
|
||||
)
|
||||
: Theme(
|
||||
data: ThemeData(useMaterial3: true, colorScheme: lightColorScheme),
|
||||
data: ThemeData(
|
||||
useMaterial3: true,
|
||||
colorScheme: (MediaQuery.of(context).platformBrightness ==
|
||||
Brightness.dark)
|
||||
? darkColorScheme
|
||||
: lightColorScheme),
|
||||
child: const CupertinoApp(
|
||||
title: 'Prašule',
|
||||
home: HomeView(),
|
||||
|
|
|
@ -2,68 +2,68 @@ import 'package:flutter/material.dart';
|
|||
|
||||
const lightColorScheme = ColorScheme(
|
||||
brightness: Brightness.light,
|
||||
primary: Color(0xFF006D34),
|
||||
primary: Color(0xFF006D3C),
|
||||
onPrimary: Color(0xFFFFFFFF),
|
||||
primaryContainer: Color(0xFF89FAA5),
|
||||
onPrimaryContainer: Color(0xFF00210B),
|
||||
secondary: Color(0xFF506352),
|
||||
primaryContainer: Color(0xFF5AFFA2),
|
||||
onPrimaryContainer: Color(0xFF00210E),
|
||||
secondary: Color(0xFF4F6353),
|
||||
onSecondary: Color(0xFFFFFFFF),
|
||||
secondaryContainer: Color(0xFFD3E8D2),
|
||||
onSecondaryContainer: Color(0xFF0E1F12),
|
||||
tertiary: Color(0xFF286C2A),
|
||||
secondaryContainer: Color(0xFFD2E8D4),
|
||||
onSecondaryContainer: Color(0xFF0D1F13),
|
||||
tertiary: Color(0xFF006B55),
|
||||
onTertiary: Color(0xFFFFFFFF),
|
||||
tertiaryContainer: Color(0xFFABF4A2),
|
||||
onTertiaryContainer: Color(0xFF002203),
|
||||
tertiaryContainer: Color(0xFF7FF8D3),
|
||||
onTertiaryContainer: Color(0xFF002118),
|
||||
error: Color(0xFFBA1A1A),
|
||||
errorContainer: Color(0xFFFFDAD6),
|
||||
onError: Color(0xFFFFFFFF),
|
||||
onErrorContainer: Color(0xFF410002),
|
||||
background: Color(0xFFFCFDF7),
|
||||
background: Color(0xFFFBFDF8),
|
||||
onBackground: Color(0xFF191C19),
|
||||
surface: Color(0xFFFCFDF7),
|
||||
surface: Color(0xFFFBFDF8),
|
||||
onSurface: Color(0xFF191C19),
|
||||
surfaceVariant: Color(0xFFDDE5DA),
|
||||
onSurfaceVariant: Color(0xFF414941),
|
||||
outline: Color(0xFF717970),
|
||||
surfaceVariant: Color(0xFFDCE5DB),
|
||||
onSurfaceVariant: Color(0xFF414942),
|
||||
outline: Color(0xFF717971),
|
||||
onInverseSurface: Color(0xFFF0F1EC),
|
||||
inverseSurface: Color(0xFF2E312E),
|
||||
inversePrimary: Color(0xFF6DDD8B),
|
||||
inversePrimary: Color(0xFF2FE288),
|
||||
shadow: Color(0xFF000000),
|
||||
surfaceTint: Color(0xFF006D34),
|
||||
outlineVariant: Color(0xFFC1C9BE),
|
||||
surfaceTint: Color(0xFF006D3C),
|
||||
outlineVariant: Color(0xFFC0C9BF),
|
||||
scrim: Color(0xFF000000),
|
||||
);
|
||||
|
||||
const darkColorScheme = ColorScheme(
|
||||
brightness: Brightness.dark,
|
||||
primary: Color(0xFF6DDD8B),
|
||||
onPrimary: Color(0xFF003918),
|
||||
primaryContainer: Color(0xFF005225),
|
||||
onPrimaryContainer: Color(0xFF89FAA5),
|
||||
secondary: Color(0xFFB7CCB7),
|
||||
onSecondary: Color(0xFF233426),
|
||||
secondaryContainer: Color(0xFF394B3B),
|
||||
onSecondaryContainer: Color(0xFFD3E8D2),
|
||||
tertiary: Color(0xFF90D889),
|
||||
onTertiary: Color(0xFF003908),
|
||||
tertiaryContainer: Color(0xFF095314),
|
||||
onTertiaryContainer: Color(0xFFABF4A2),
|
||||
primary: Color(0xFF2FE288),
|
||||
onPrimary: Color(0xFF00391D),
|
||||
primaryContainer: Color(0xFF00522C),
|
||||
onPrimaryContainer: Color(0xFF5AFFA2),
|
||||
secondary: Color(0xFFB6CCB9),
|
||||
onSecondary: Color(0xFF223527),
|
||||
secondaryContainer: Color(0xFF384B3D),
|
||||
onSecondaryContainer: Color(0xFFD2E8D4),
|
||||
tertiary: Color(0xFF61DBB7),
|
||||
onTertiary: Color(0xFF00382B),
|
||||
tertiaryContainer: Color(0xFF00513F),
|
||||
onTertiaryContainer: Color(0xFF7FF8D3),
|
||||
error: Color(0xFFFFB4AB),
|
||||
errorContainer: Color(0xFF93000A),
|
||||
onError: Color(0xFF690005),
|
||||
onErrorContainer: Color(0xFFFFDAD6),
|
||||
background: Color(0xFF191C19),
|
||||
onBackground: Color(0xFFE2E3DE),
|
||||
onBackground: Color(0xFFE1E3DE),
|
||||
surface: Color(0xFF191C19),
|
||||
onSurface: Color(0xFFE2E3DE),
|
||||
surfaceVariant: Color(0xFF414941),
|
||||
onSurfaceVariant: Color(0xFFC1C9BE),
|
||||
outline: Color(0xFF8B9389),
|
||||
onSurface: Color(0xFFE1E3DE),
|
||||
surfaceVariant: Color(0xFF414942),
|
||||
onSurfaceVariant: Color(0xFFC0C9BF),
|
||||
outline: Color(0xFF8B938A),
|
||||
onInverseSurface: Color(0xFF191C19),
|
||||
inverseSurface: Color(0xFFE2E3DE),
|
||||
inversePrimary: Color(0xFF006D34),
|
||||
inverseSurface: Color(0xFFE1E3DE),
|
||||
inversePrimary: Color(0xFF006D3C),
|
||||
shadow: Color(0xFF000000),
|
||||
surfaceTint: Color(0xFF6DDD8B),
|
||||
outlineVariant: Color(0xFF414941),
|
||||
surfaceTint: Color(0xFF2FE288),
|
||||
outlineVariant: Color(0xFF414942),
|
||||
scrim: Color(0xFF000000),
|
||||
);
|
||||
|
|
201
pubspec.lock
|
@ -17,6 +17,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.0.0"
|
||||
archive:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: archive
|
||||
sha256: e0902a06f0e00414e4e3438a084580161279f137aeb862274710f29ec10cf01e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.3.9"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -121,6 +129,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
cli_util:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cli_util
|
||||
sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.0"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -141,10 +157,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: collection
|
||||
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
|
||||
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.17.2"
|
||||
version: "1.18.0"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -153,6 +169,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.1"
|
||||
coverage:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: coverage
|
||||
sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.6.3"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -189,10 +213,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: dart_internal
|
||||
sha256: dae3976f383beddcfcd07ad5291a422df2c8c0a8a03c52cda63ac7b4f26e0f4e
|
||||
sha256: "689dccc3d5f62affd339534cca548dce12b3a6b32f0f10861569d3025efc0567"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.8"
|
||||
version: "0.2.9"
|
||||
dart_style:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -245,10 +269,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"
|
||||
file_selector_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -294,6 +318,11 @@ packages:
|
|||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_driver:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_iconpicker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -350,6 +379,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
flutter_launcher_icons:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: flutter_launcher_icons
|
||||
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.13.1"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
|
@ -408,6 +445,11 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.0"
|
||||
fuchsia_remote_debug_protocol:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
glob:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -456,6 +498,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.2"
|
||||
image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image
|
||||
sha256: a72242c9a0ffb65d03de1b7113bc4e189686fc07c7147b8b41811d0dd0e0d9bf
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.17"
|
||||
image_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -520,6 +570,11 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.1"
|
||||
integration_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
intl:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -632,6 +687,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
node_preamble:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: node_preamble
|
||||
sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
package_config:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -696,6 +759,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.7"
|
||||
petitparser:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: petitparser
|
||||
sha256: eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.0.1"
|
||||
platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -712,6 +783,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.5"
|
||||
pointycastle:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pointycastle
|
||||
sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.7.3"
|
||||
pool:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -720,6 +799,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.5.1"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: process
|
||||
sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.2.4"
|
||||
provider:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -760,6 +847,22 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.4.1"
|
||||
shelf_packages_handler:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf_packages_handler
|
||||
sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
shelf_static:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf_static
|
||||
sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
shelf_web_socket:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -789,6 +892,22 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.4"
|
||||
source_map_stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_map_stack_trace
|
||||
sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
source_maps:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_maps
|
||||
sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.10.12"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -801,18 +920,18 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: stack_trace
|
||||
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
|
||||
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.11.0"
|
||||
version: "1.11.1"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: stream_channel
|
||||
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
|
||||
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
version: "2.1.2"
|
||||
stream_transform:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -829,6 +948,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
sync_http:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sync_http
|
||||
sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.1"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -837,14 +964,30 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
test:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: test
|
||||
sha256: "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.24.6"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
|
||||
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.6.0"
|
||||
version: "0.6.1"
|
||||
test_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_core
|
||||
sha256: "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.5.6"
|
||||
timing:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -869,6 +1012,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
vm_service:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vm_service
|
||||
sha256: "0fae432c85c4ea880b33b497d32824b97795b04cdaa74d270219572a1f50268d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "11.9.0"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -893,6 +1044,22 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.0"
|
||||
webdriver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webdriver
|
||||
sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
webkit_inspection_protocol:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webkit_inspection_protocol
|
||||
sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -909,6 +1076,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
xml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: xml
|
||||
sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.4.2"
|
||||
yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -918,5 +1093,5 @@ packages:
|
|||
source: hosted
|
||||
version: "3.1.2"
|
||||
sdks:
|
||||
dart: ">=3.1.0-262.2.beta <3.2.0"
|
||||
dart: ">=3.1.0-262.2.beta <3.3.0"
|
||||
flutter: ">=3.4.0-17.0.pre"
|
||||
|
|
22
pubspec.yaml
|
@ -62,6 +62,28 @@ dev_dependencies:
|
|||
# rules and activating additional ones.
|
||||
flutter_lints: ^2.0.0
|
||||
build_runner: ^2.4.6
|
||||
test: ^1.24.6
|
||||
integration_test:
|
||||
sdk: flutter
|
||||
flutter_launcher_icons: ^0.13.1
|
||||
|
||||
flutter_launcher_icons:
|
||||
android: true
|
||||
ios: true
|
||||
image_path: "assets/icon/full_ico.png"
|
||||
min_sdk_android: 21 # android min sdk min:16, default 21
|
||||
adaptive_icon_background: "#2ce086"
|
||||
adaptive_icon_foreground: "assets/icon/dynamic_foreground.png"
|
||||
remove_alpha_ios: true
|
||||
# web:
|
||||
# generate: true
|
||||
# background_color: "#2fe288"
|
||||
# theme_color: "#2fe288"
|
||||
# windows:
|
||||
# generate: true
|
||||
# icon_size: 48 # min:48, max:256, default: 48
|
||||
# macos:
|
||||
# generate: true
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
// This is a basic Flutter widget test.
|
||||
//
|
||||
// To perform an interaction with a widget in your test, use the WidgetTester
|
||||
// utility in the flutter_test package. For example, you can send tap and scroll
|
||||
// gestures. You can also use WidgetTester to find child widgets in the widget
|
||||
// tree, read text, and verify that the values of widget properties are correct.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
import 'package:prasule/main.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
|
||||
// Build our app and trigger a frame.
|
||||
await tester.pumpWidget(const MyApp());
|
||||
|
||||
// Verify that our counter starts at 0.
|
||||
expect(find.text('0'), findsOneWidget);
|
||||
expect(find.text('1'), findsNothing);
|
||||
|
||||
// Tap the '+' icon and trigger a frame.
|
||||
await tester.tap(find.byIcon(Icons.add));
|
||||
await tester.pump();
|
||||
|
||||
// Verify that our counter has incremented.
|
||||
expect(find.text('0'), findsNothing);
|
||||
expect(find.text('1'), findsOneWidget);
|
||||
});
|
||||
}
|