Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • android/org.benoitharrault.midisynth
1 result
Show changes
Showing
with 57 additions and 389 deletions
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/models/data/note.dart'; import 'package:midisynth/models/data/note.dart';
import 'package:midisynth/models/settings/settings_activity.dart'; import 'package:midisynth/models/settings/settings_activity.dart';
import 'package:midisynth/models/settings/settings_global.dart'; import 'package:midisynth/models/settings/settings_global.dart';
import 'package:midisynth/utils/tools.dart';
class Activity { class Activity {
Activity({ Activity({
......
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/config/default_activity_settings.dart'; import 'package:midisynth/config/default_activity_settings.dart';
import 'package:midisynth/utils/tools.dart';
class ActivitySettings { class ActivitySettings {
final String sequenceLength; final String sequenceLength;
......
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/config/default_global_settings.dart'; import 'package:midisynth/config/default_global_settings.dart';
import 'package:midisynth/utils/tools.dart';
class GlobalSettings { class GlobalSettings {
String skin; String skin;
......
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
class AppHeader extends StatelessWidget {
const AppHeader({super.key, required this.text});
final String text;
@override
Widget build(BuildContext context) {
return Text(
tr(text),
textAlign: TextAlign.start,
style: Theme.of(context).textTheme.headlineMedium!.apply(fontWeightDelta: 2),
);
}
}
class AppTitle extends StatelessWidget {
const AppTitle({super.key, required this.text});
final String text;
@override
Widget build(BuildContext context) {
return Text(
tr(text),
textAlign: TextAlign.start,
style: Theme.of(context).textTheme.titleLarge!.apply(fontWeightDelta: 2),
);
}
}
import 'package:flutter/material.dart';
import 'package:midisynth/utils/color_extensions.dart';
class OutlinedText extends StatelessWidget {
const OutlinedText({
super.key,
required this.text,
required this.fontSize,
required this.textColor,
this.outlineColor,
});
final String text;
final double fontSize;
final Color textColor;
final Color? outlineColor;
@override
Widget build(BuildContext context) {
final double delta = fontSize / 30;
return Text(
text,
style: TextStyle(
inherit: true,
fontSize: fontSize,
fontWeight: FontWeight.w600,
color: textColor,
shadows: [
Shadow(
offset: Offset(-delta, -delta),
color: outlineColor ?? textColor.darken(),
),
Shadow(
offset: Offset(delta, -delta),
color: outlineColor ?? textColor.darken(),
),
Shadow(
offset: Offset(delta, delta),
color: outlineColor ?? textColor.darken(),
),
Shadow(
offset: Offset(-delta, delta),
color: outlineColor ?? textColor.darken(),
),
],
),
);
}
}
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:midisynth/utils/color_extensions.dart';
class StyledButton extends StatelessWidget {
const StyledButton({
super.key,
required this.color,
required this.onPressed,
this.onLongPress,
required this.child,
});
final Color color;
final VoidCallback? onPressed;
final VoidCallback? onLongPress;
final Widget child;
factory StyledButton.text({
Key? key,
required VoidCallback? onPressed,
VoidCallback? onLongPress,
required String caption,
required Color color,
}) {
final Widget captionWidget = AutoSizeText(
caption,
maxLines: 1,
style: TextStyle(
inherit: true,
fontWeight: FontWeight.w900,
color: color.darken(60),
shadows: [
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(2, 2),
),
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(2, -2),
),
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(-2, 2),
),
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(-2, -2),
),
],
),
);
return StyledButton(
color: color,
onPressed: onPressed,
onLongPress: onLongPress,
child: captionWidget,
);
}
factory StyledButton.icon({
Key? key,
required VoidCallback? onPressed,
VoidCallback? onLongPress,
required Icon icon,
required Color color,
required double iconSize,
}) {
return StyledButton(
color: color,
onPressed: onPressed,
onLongPress: onLongPress,
child: Icon(
icon.icon,
color: icon.color ?? color.darken(60),
size: iconSize,
shadows: [
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(2, 2),
),
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(2, -2),
),
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(-2, 2),
),
Shadow(
blurRadius: 5.0,
color: color.lighten(60),
offset: const Offset(-2, -2),
),
],
),
);
}
@override
Widget build(BuildContext context) {
const double borderWidth = 4;
final Color borderColor = color.darken(40);
const double borderRadius = 10;
return Container(
margin: const EdgeInsets.all(2),
padding: const EdgeInsets.all(2),
decoration: BoxDecoration(
color: color,
border: Border.all(
color: borderColor,
width: borderWidth,
),
borderRadius: BorderRadius.circular(borderRadius),
),
child: CustomPaint(
painter: StyledButtonPainter(
baseColor: color,
),
child: MaterialButton(
onPressed: onPressed,
onLongPress: onLongPress,
padding: const EdgeInsets.all(8),
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
minWidth: 40,
child: child,
),
),
);
}
}
class StyledButtonPainter extends CustomPainter {
StyledButtonPainter({
required this.baseColor,
});
final Color baseColor;
@override
void paint(Canvas canvas, Size size) {
final Color lightColor = baseColor.lighten(20);
final Color darkColor = baseColor.darken(20);
final Paint paint = Paint()..style = PaintingStyle.fill;
const double cornerRadius = 6;
Path topPath = Path()
..moveTo(cornerRadius, 0)
..lineTo(size.width - cornerRadius, 0)
..arcToPoint(
Offset(size.width, cornerRadius),
radius: const Radius.circular(cornerRadius),
)
..lineTo(size.width, size.height * .35)
..quadraticBezierTo(
size.width * .4,
size.height * .1,
0,
size.height * .3,
)
..lineTo(0, cornerRadius)
..arcToPoint(
const Offset(cornerRadius, 0),
radius: const Radius.circular(cornerRadius),
);
Path bottomPath = Path()
..moveTo(cornerRadius, size.height)
..lineTo(size.width - cornerRadius, size.height)
..arcToPoint(
Offset(size.width, size.height - cornerRadius),
radius: const Radius.circular(cornerRadius),
clockwise: false,
)
..lineTo(size.width, size.height * .7)
..quadraticBezierTo(
size.width * .6,
size.height * .9,
0,
size.height * .7,
)
..lineTo(0, size.height - cornerRadius)
..arcToPoint(
Offset(cornerRadius, size.height),
radius: const Radius.circular(cornerRadius),
clockwise: false,
);
paint.color = lightColor;
canvas.drawPath(topPath, paint);
paint.color = darkColor;
canvas.drawPath(bottomPath, paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) => false;
}
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/config/activity_page.dart'; import 'package:midisynth/config/activity_page.dart';
import 'package:midisynth/cubit/nav_cubit_pages.dart'; import 'package:midisynth/cubit/nav_cubit_pages.dart';
...@@ -36,7 +35,7 @@ class BottomNavBar extends StatelessWidget { ...@@ -36,7 +35,7 @@ class BottomNavBar extends StatelessWidget {
return BottomNavigationBar( return BottomNavigationBar(
currentIndex: state, currentIndex: state,
onTap: (int index) => context.read<NavCubitPage>().updateIndex(index), onTap: (int index) => BlocProvider.of<NavCubitPage>(context).updateIndex(index),
type: BottomNavigationBarType.fixed, type: BottomNavigationBarType.fixed,
elevation: 0, elevation: 0,
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/config/screen.dart'; import 'package:midisynth/config/screen.dart';
import 'package:midisynth/cubit/activity_cubit.dart'; import 'package:midisynth/cubit/activity_cubit.dart';
import 'package:midisynth/cubit/nav_cubit_screens.dart'; import 'package:midisynth/cubit/nav_cubit_screens.dart';
import 'package:midisynth/ui/helpers/app_titles.dart';
class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget { class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget {
const GlobalAppBar({super.key}); const GlobalAppBar({super.key});
...@@ -21,7 +20,7 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget { ...@@ -21,7 +20,7 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget {
// go to Settings page // go to Settings page
menuActions.add(ElevatedButton( menuActions.add(ElevatedButton(
onPressed: () { onPressed: () {
context.read<NavCubitScreen>().goToSettingsPage(); BlocProvider.of<NavCubitScreen>(context).goToSettingsPage();
}, },
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
shape: const CircleBorder(), shape: const CircleBorder(),
...@@ -32,7 +31,7 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget { ...@@ -32,7 +31,7 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget {
// go to About page // go to About page
menuActions.add(ElevatedButton( menuActions.add(ElevatedButton(
onPressed: () { onPressed: () {
context.read<NavCubitScreen>().goToAboutPage(); BlocProvider.of<NavCubitScreen>(context).goToAboutPage();
}, },
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
shape: const CircleBorder(), shape: const CircleBorder(),
...@@ -43,7 +42,7 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget { ...@@ -43,7 +42,7 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget {
// back to Home page // back to Home page
menuActions.add(ElevatedButton( menuActions.add(ElevatedButton(
onPressed: () { onPressed: () {
context.read<NavCubitScreen>().goToActivityPage(); BlocProvider.of<NavCubitScreen>(context).goToActivityPage();
}, },
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
shape: const CircleBorder(), shape: const CircleBorder(),
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/cubit/activity_cubit.dart'; import 'package:midisynth/cubit/activity_cubit.dart';
import 'package:midisynth/models/activity/activity.dart'; import 'package:midisynth/models/activity/activity.dart';
import 'package:midisynth/ui/helpers/outlined_text_widget.dart';
import 'package:midisynth/utils/color_extensions.dart';
class PageEditor extends StatelessWidget { class PageEditor extends StatelessWidget {
const PageEditor({super.key}); const PageEditor({super.key});
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/cubit/activity_cubit.dart'; import 'package:midisynth/cubit/activity_cubit.dart';
import 'package:midisynth/models/activity/activity.dart'; import 'package:midisynth/models/activity/activity.dart';
import 'package:midisynth/ui/helpers/outlined_text_widget.dart';
import 'package:midisynth/utils/color_extensions.dart';
class PageHome extends StatelessWidget { class PageHome extends StatelessWidget {
const PageHome({super.key}); const PageHome({super.key});
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/cubit/activity_cubit.dart'; import 'package:midisynth/cubit/activity_cubit.dart';
import 'package:midisynth/models/activity/activity.dart'; import 'package:midisynth/models/activity/activity.dart';
import 'package:midisynth/ui/helpers/outlined_text_widget.dart';
import 'package:midisynth/utils/color_extensions.dart';
class PagePlayer extends StatelessWidget { class PagePlayer extends StatelessWidget {
const PagePlayer({super.key}); const PagePlayer({super.key});
......
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:package_info_plus/package_info_plus.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/ui/helpers/app_titles.dart';
class ScreenAbout extends StatelessWidget { class ScreenAbout extends StatelessWidget {
const ScreenAbout({super.key}); const ScreenAbout({super.key});
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/config/activity_page.dart'; import 'package:midisynth/config/activity_page.dart';
import 'package:midisynth/cubit/nav_cubit_pages.dart'; import 'package:midisynth/cubit/nav_cubit_pages.dart';
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/ui/helpers/app_titles.dart';
import 'package:midisynth/ui/settings/settings_form.dart'; import 'package:midisynth/ui/settings/settings_form.dart';
class ScreenSettings extends StatelessWidget { class ScreenSettings extends StatelessWidget {
......
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:unicons/unicons.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/ui/settings/theme_card.dart'; import 'package:midisynth/ui/settings/theme_card.dart';
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/cubit/theme_cubit.dart'; import 'package:midisynth/cubit/theme_cubit.dart';
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/config/screen.dart'; import 'package:midisynth/config/screen.dart';
import 'package:midisynth/cubit/nav_cubit_screens.dart'; import 'package:midisynth/cubit/nav_cubit_screens.dart';
......
import 'dart:ui';
extension ColorExtension on Color {
Color darken([int percent = 40]) {
assert(1 <= percent && percent <= 100);
final value = 1 - percent / 100;
return Color.fromARGB(
alpha,
(red * value).round(),
(green * value).round(),
(blue * value).round(),
);
}
Color lighten([int percent = 40]) {
assert(1 <= percent && percent <= 100);
final value = percent / 100;
return Color.fromARGB(
alpha,
(red + ((255 - red) * value)).round(),
(green + ((255 - green) * value)).round(),
(blue + ((255 - blue) * value)).round(),
);
}
Color avg(Color other) {
final red = (this.red + other.red) ~/ 2;
final green = (this.green + other.green) ~/ 2;
final blue = (this.blue + other.blue) ~/ 2;
final alpha = (this.alpha + other.alpha) ~/ 2;
return Color.fromARGB(alpha, red, green, blue);
}
}
import 'package:flutter/foundation.dart';
void printlog(String message) {
if (!kReleaseMode) {
debugPrint(message);
}
}
...@@ -5,20 +5,20 @@ packages: ...@@ -5,20 +5,20 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: args name: args
sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.0" version: "2.6.0"
async: async:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.11.0" version: "2.12.0"
auto_size_text: auto_size_text:
dependency: "direct main" dependency: transitive
description: description:
name: auto_size_text name: auto_size_text
sha256: "3f5261cd3fb5f2a9ab4e2fc3fba84fd9fcaac8821f20a1d4e71f557521b22599" sha256: "3f5261cd3fb5f2a9ab4e2fc3fba84fd9fcaac8821f20a1d4e71f557521b22599"
...@@ -61,12 +61,12 @@ packages: ...@@ -61,12 +61,12 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.5" version: "3.0.6"
easy_localization: easy_localization:
dependency: "direct main" dependency: transitive
description: description:
name: easy_localization name: easy_localization
sha256: fa59bcdbbb911a764aa6acf96bbb6fa7a5cf8234354fc45ec1a43a0349ef0201 sha256: fa59bcdbbb911a764aa6acf96bbb6fa7a5cf8234354fc45ec1a43a0349ef0201
...@@ -82,7 +82,7 @@ packages: ...@@ -82,7 +82,7 @@ packages:
source: hosted source: hosted
version: "0.0.2" version: "0.0.2"
equatable: equatable:
dependency: "direct main" dependency: transitive
description: description:
name: equatable name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
...@@ -111,13 +111,22 @@ packages: ...@@ -111,13 +111,22 @@ packages:
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_bloc: flutter_bloc:
dependency: "direct main" dependency: transitive
description: description:
name: flutter_bloc name: flutter_bloc
sha256: b594505eac31a0518bdcb4b5b79573b8d9117b193cc80cc12e17d639b10aa27a sha256: b594505eac31a0518bdcb4b5b79573b8d9117b193cc80cc12e17d639b10aa27a
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.1.6" version: "8.1.6"
flutter_custom_toolbox:
dependency: "direct main"
description:
path: "."
ref: "0.1.1"
resolved-ref: ba7137ca9edec7e503ed3dbfe7f6ede7e9cfbf4d
url: "https://git.harrault.fr/android/flutter-toolbox.git"
source: git
version: "0.1.1"
flutter_lints: flutter_lints:
dependency: "direct dev" dependency: "direct dev"
description: description:
...@@ -137,7 +146,7 @@ packages: ...@@ -137,7 +146,7 @@ packages:
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
hive: hive:
dependency: "direct main" dependency: transitive
description: description:
name: hive name: hive
sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941"
...@@ -161,7 +170,7 @@ packages: ...@@ -161,7 +170,7 @@ packages:
source: hosted source: hosted
version: "4.0.2" version: "4.0.2"
hydrated_bloc: hydrated_bloc:
dependency: "direct main" dependency: transitive
description: description:
name: hydrated_bloc name: hydrated_bloc
sha256: af35b357739fe41728df10bec03aad422cdc725a1e702e03af9d2a41ea05160c sha256: af35b357739fe41728df10bec03aad422cdc725a1e702e03af9d2a41ea05160c
...@@ -209,13 +218,13 @@ packages: ...@@ -209,13 +218,13 @@ packages:
source: hosted source: hosted
version: "1.0.0" version: "1.0.0"
package_info_plus: package_info_plus:
dependency: "direct main" dependency: transitive
description: description:
name: package_info_plus name: package_info_plus
sha256: "894f37107424311bdae3e476552229476777b8752c5a2a2369c0cb9a2d5442ef" sha256: df3eb3e0aed5c1107bb0fdb80a8e82e778114958b1c5ac5644fb1ac9cae8a998
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.0.3" version: "8.1.0"
package_info_plus_platform_interface: package_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
...@@ -233,7 +242,7 @@ packages: ...@@ -233,7 +242,7 @@ packages:
source: hosted source: hosted
version: "1.9.0" version: "1.9.0"
path_provider: path_provider:
dependency: "direct main" dependency: transitive
description: description:
name: path_provider name: path_provider
sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
...@@ -284,10 +293,10 @@ packages: ...@@ -284,10 +293,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: platform name: platform
sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.5" version: "3.1.6"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
...@@ -377,10 +386,10 @@ packages: ...@@ -377,10 +386,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: string_scanner name: string_scanner
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" sha256: "0bd04f5bb74fcd6ff0606a888a30e917af9bd52820b178eaa464beb11dca84b6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.0" version: "1.4.0"
synchronized: synchronized:
dependency: transitive dependency: transitive
description: description:
...@@ -401,12 +410,12 @@ packages: ...@@ -401,12 +410,12 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: typed_data name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.2" version: "1.4.0"
unicons: unicons:
dependency: "direct main" dependency: transitive
description: description:
name: unicons name: unicons
sha256: f3eab9d87c226415ef857cfd2167e1d12ad81ea1f5783b46cf644224fea4eab7 sha256: f3eab9d87c226415ef857cfd2167e1d12ad81ea1f5783b46cf644224fea4eab7
...@@ -433,10 +442,10 @@ packages: ...@@ -433,10 +442,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "4d45dc9069dba4619dc0ebd93c7cec5e66d8482cb625a370ac806dcc8165f2ec" sha256: "2735daae5150e8b1dfeb3eb0544b4d3af0061e9e82cef063adcd583bdae4306a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.5.5" version: "5.7.0"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
...@@ -446,5 +455,5 @@ packages: ...@@ -446,5 +455,5 @@ packages:
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
sdks: sdks:
dart: ">=3.5.0 <4.0.0" dart: ">=3.5.3 <4.0.0"
flutter: ">=3.24.0" flutter: ">=3.24.0"