update flutter to 3.27.0 & update packages

This commit is contained in:
2024-12-12 16:41:42 +08:00
parent 4801457e0e
commit af9835eb8f
31 changed files with 172 additions and 266 deletions

View File

@@ -76,7 +76,7 @@ class _AppbarState extends State<Appbar> {
var content = Container( var content = Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: widget.backgroundColor ?? color: widget.backgroundColor ??
context.colorScheme.surface.withOpacity(0.72), context.colorScheme.surface.toOpacity(0.72),
), ),
height: _kAppBarHeight + context.padding.top, height: _kAppBarHeight + context.padding.top,
child: Row( child: Row(
@@ -219,7 +219,7 @@ class _MySliverAppBarDelegate extends SliverPersistentHeaderDelegate {
child: BlurEffect( child: BlurEffect(
blur: 15, blur: 15,
child: Material( child: Material(
color: context.colorScheme.surface.withOpacity(0.72), color: context.colorScheme.surface.toOpacity(0.72),
elevation: 0, elevation: 0,
borderRadius: BorderRadius.circular(radius), borderRadius: BorderRadius.circular(radius),
child: body, child: body,
@@ -734,6 +734,7 @@ class _SliverSearchBarDelegate extends SliverPersistentHeaderDelegate {
icon: const Icon(Icons.clear), icon: const Icon(Icons.clear),
onPressed: () { onPressed: () {
editingController.clear(); editingController.clear();
onChanged?.call("");
}, },
); );
}, },

View File

@@ -214,7 +214,7 @@ class _ButtonState extends State<Button> {
boxShadow: (isHover && !isLoading && (widget.type == ButtonType.filled || widget.type == ButtonType.normal)) boxShadow: (isHover && !isLoading && (widget.type == ButtonType.filled || widget.type == ButtonType.normal))
? [ ? [
BoxShadow( BoxShadow(
color: Colors.black.withOpacity(0.1), color: Colors.black.toOpacity(0.1),
blurRadius: 2, blurRadius: 2,
offset: const Offset(0, 1), offset: const Offset(0, 1),
) )
@@ -248,7 +248,7 @@ class _ButtonState extends State<Button> {
if (widget.type == ButtonType.filled) { if (widget.type == ButtonType.filled) {
var color = widget.color ?? context.colorScheme.primary; var color = widget.color ?? context.colorScheme.primary;
if (isHover) { if (isHover) {
return color.withOpacity(0.9); return color.toOpacity(0.9);
} else { } else {
return color; return color;
} }
@@ -256,13 +256,13 @@ class _ButtonState extends State<Button> {
if (widget.type == ButtonType.normal) { if (widget.type == ButtonType.normal) {
var color = widget.color ?? context.colorScheme.surfaceContainer; var color = widget.color ?? context.colorScheme.surfaceContainer;
if (isHover) { if (isHover) {
return color.withOpacity(0.9); return color.toOpacity(0.9);
} else { } else {
return color; return color;
} }
} }
if (isHover) { if (isHover) {
return context.colorScheme.outline.withOpacity(0.2); return context.colorScheme.outline.toOpacity(0.2);
} }
return Colors.transparent; return Colors.transparent;
} }
@@ -345,7 +345,7 @@ class _IconButtonState extends State<_IconButton> {
? Theme.of(context) ? Theme.of(context)
.colorScheme .colorScheme
.outlineVariant .outlineVariant
.withOpacity(0.4) .toOpacity(0.4)
: null, : null,
borderRadius: BorderRadius.circular((iconSize + 12) / 2), borderRadius: BorderRadius.circular((iconSize + 12) / 2),
), ),

View File

@@ -144,7 +144,7 @@ class ComicTile extends StatelessWidget {
if (history != null) if (history != null)
Container( Container(
height: 24, height: 24,
color: Colors.blue.withOpacity(0.9), color: Colors.blue.toOpacity(0.9),
constraints: const BoxConstraints(minWidth: 24), constraints: const BoxConstraints(minWidth: 24),
padding: const EdgeInsets.symmetric(horizontal: 4), padding: const EdgeInsets.symmetric(horizontal: 4),
child: CustomPaint( child: CustomPaint(
@@ -293,7 +293,7 @@ class ComicTile extends StatelessWidget {
Radius.circular(10.0), Radius.circular(10.0),
), ),
child: Container( child: Container(
color: Colors.black.withOpacity(0.5), color: Colors.black.toOpacity(0.5),
child: Padding( child: Padding(
padding: padding:
const EdgeInsets.fromLTRB(8, 6, 8, 6), const EdgeInsets.fromLTRB(8, 6, 8, 6),
@@ -475,7 +475,7 @@ class _ComicDescription extends StatelessWidget {
subtitle, subtitle,
style: TextStyle( style: TextStyle(
fontSize: 10.0, fontSize: 10.0,
color: context.colorScheme.onSurface.withOpacity(0.7)), color: context.colorScheme.onSurface.toOpacity(0.7)),
maxLines: 1, maxLines: 1,
softWrap: true, softWrap: true,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -780,7 +780,7 @@ class _SliverGridComics extends StatelessWidget {
duration: const Duration(milliseconds: 150), duration: const Duration(milliseconds: 150),
decoration: BoxDecoration( decoration: BoxDecoration(
color: isSelected color: isSelected
? Theme.of(context).colorScheme.secondaryContainer.withOpacity(0.72) ? Theme.of(context).colorScheme.secondaryContainer.toOpacity(0.72)
: null, : null,
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
), ),

View File

@@ -1,5 +1,3 @@
library components;
import 'dart:async'; import 'dart:async';
import 'dart:collection'; import 'dart:collection';
import 'dart:math' as math; import 'dart:math' as math;

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:venera/foundation/app.dart';
/// patched slider.dart with RtL support /// patched slider.dart with RtL support
class _SliderDefaultsM3 extends SliderThemeData { class _SliderDefaultsM3 extends SliderThemeData {
@@ -15,45 +16,45 @@ class _SliderDefaultsM3 extends SliderThemeData {
Color? get inactiveTrackColor => _colors.surfaceContainerHighest; Color? get inactiveTrackColor => _colors.surfaceContainerHighest;
@override @override
Color? get secondaryActiveTrackColor => _colors.primary.withOpacity(0.54); Color? get secondaryActiveTrackColor => _colors.primary.toOpacity(0.54);
@override @override
Color? get disabledActiveTrackColor => _colors.onSurface.withOpacity(0.38); Color? get disabledActiveTrackColor => _colors.onSurface.toOpacity(0.38);
@override @override
Color? get disabledInactiveTrackColor => _colors.onSurface.withOpacity(0.12); Color? get disabledInactiveTrackColor => _colors.onSurface.toOpacity(0.12);
@override @override
Color? get disabledSecondaryActiveTrackColor => _colors.onSurface.withOpacity(0.12); Color? get disabledSecondaryActiveTrackColor => _colors.onSurface.toOpacity(0.12);
@override @override
Color? get activeTickMarkColor => _colors.onPrimary.withOpacity(0.38); Color? get activeTickMarkColor => _colors.onPrimary.toOpacity(0.38);
@override @override
Color? get inactiveTickMarkColor => _colors.onSurfaceVariant.withOpacity(0.38); Color? get inactiveTickMarkColor => _colors.onSurfaceVariant.toOpacity(0.38);
@override @override
Color? get disabledActiveTickMarkColor => _colors.onSurface.withOpacity(0.38); Color? get disabledActiveTickMarkColor => _colors.onSurface.toOpacity(0.38);
@override @override
Color? get disabledInactiveTickMarkColor => _colors.onSurface.withOpacity(0.38); Color? get disabledInactiveTickMarkColor => _colors.onSurface.toOpacity(0.38);
@override @override
Color? get thumbColor => _colors.primary; Color? get thumbColor => _colors.primary;
@override @override
Color? get disabledThumbColor => Color.alphaBlend(_colors.onSurface.withOpacity(0.38), _colors.surface); Color? get disabledThumbColor => Color.alphaBlend(_colors.onSurface.toOpacity(0.38), _colors.surface);
@override @override
Color? get overlayColor => WidgetStateColor.resolveWith((Set<WidgetState> states) { Color? get overlayColor => WidgetStateColor.resolveWith((Set<WidgetState> states) {
if (states.contains(WidgetState.dragged)) { if (states.contains(WidgetState.dragged)) {
return _colors.primary.withOpacity(0.1); return _colors.primary.toOpacity(0.1);
} }
if (states.contains(WidgetState.hovered)) { if (states.contains(WidgetState.hovered)) {
return _colors.primary.withOpacity(0.08); return _colors.primary.toOpacity(0.08);
} }
if (states.contains(WidgetState.focused)) { if (states.contains(WidgetState.focused)) {
return _colors.primary.withOpacity(0.1); return _colors.primary.toOpacity(0.1);
} }
return Colors.transparent; return Colors.transparent;

View File

@@ -141,7 +141,7 @@ class FlyoutState extends State<Flyout> {
animation: animation, animation: animation,
builder: (context, builder) { builder: (context, builder) {
return ColoredBox( return ColoredBox(
color: Colors.black.withOpacity(0.3 * animation.value), color: Colors.black.toOpacity(0.3 * animation.value),
); );
}, },
), ),
@@ -185,12 +185,18 @@ class FlyoutContent extends StatelessWidget {
child: Material( child: Material(
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),
type: MaterialType.card, type: MaterialType.card,
color: context.colorScheme.surface.withOpacity(0.82), color: context.colorScheme.surface.toOpacity(0.82),
child: Container( child: Container(
constraints: const BoxConstraints( constraints: const BoxConstraints(
minWidth: minFlyoutWidth, minWidth: minFlyoutWidth,
), ),
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
border: context.brightness == ui.Brightness.dark
? Border.all(color: context.colorScheme.outlineVariant)
: null,
),
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@@ -215,108 +221,3 @@ class FlyoutContent extends StatelessWidget {
); );
} }
} }
class FlyoutTextButton extends StatefulWidget {
const FlyoutTextButton(
{super.key,
required this.child,
required this.flyoutBuilder,
this.navigator});
final Widget child;
final WidgetBuilder flyoutBuilder;
final NavigatorState? navigator;
@override
State<FlyoutTextButton> createState() => _FlyoutTextButtonState();
}
class _FlyoutTextButtonState extends State<FlyoutTextButton> {
final FlyoutController _controller = FlyoutController();
@override
Widget build(BuildContext context) {
return Flyout(
controller: _controller,
flyoutBuilder: widget.flyoutBuilder,
navigator: widget.navigator,
child: TextButton(
onPressed: () {
_controller.show();
},
child: widget.child,
));
}
}
class FlyoutIconButton extends StatefulWidget {
const FlyoutIconButton(
{super.key,
required this.icon,
required this.flyoutBuilder,
this.navigator});
final Widget icon;
final WidgetBuilder flyoutBuilder;
final NavigatorState? navigator;
@override
State<FlyoutIconButton> createState() => _FlyoutIconButtonState();
}
class _FlyoutIconButtonState extends State<FlyoutIconButton> {
final FlyoutController _controller = FlyoutController();
@override
Widget build(BuildContext context) {
return Flyout(
controller: _controller,
flyoutBuilder: widget.flyoutBuilder,
navigator: widget.navigator,
child: IconButton(
onPressed: () {
_controller.show();
},
icon: widget.icon,
));
}
}
class FlyoutFilledButton extends StatefulWidget {
const FlyoutFilledButton(
{super.key,
required this.child,
required this.flyoutBuilder,
this.navigator});
final Widget child;
final WidgetBuilder flyoutBuilder;
final NavigatorState? navigator;
@override
State<FlyoutFilledButton> createState() => _FlyoutFilledButtonState();
}
class _FlyoutFilledButtonState extends State<FlyoutFilledButton> {
final FlyoutController _controller = FlyoutController();
@override
Widget build(BuildContext context) {
return Flyout(
controller: _controller,
flyoutBuilder: widget.flyoutBuilder,
navigator: widget.navigator,
child: ElevatedButton(
onPressed: () {
_controller.show();
},
child: widget.child,
));
}
}

View File

@@ -20,6 +20,8 @@ class _MenuRoute<T> extends PopupRoute<T> {
@override @override
String? get barrierLabel => "menu"; String? get barrierLabel => "menu";
double get entryHeight => App.isMobile ? 42 : 36;
@override @override
Widget buildPage(BuildContext context, Animation<double> animation, Widget buildPage(BuildContext context, Animation<double> animation,
Animation<double> secondaryAnimation) { Animation<double> secondaryAnimation) {
@@ -30,7 +32,7 @@ class _MenuRoute<T> extends PopupRoute<T> {
left = size.width - width - 10; left = size.width - width - 10;
} }
var top = location.dy; var top = location.dy;
var height = 16 + 32 * entries.length; var height = 16 + entryHeight * entries.length;
if (top + height > size.height - 15) { if (top + height > size.height - 15) {
top = size.height - height - 15; top = size.height - height - 15;
} }
@@ -47,7 +49,7 @@ class _MenuRoute<T> extends PopupRoute<T> {
: null, : null,
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: context.colorScheme.shadow.withOpacity(0.2), color: context.colorScheme.shadow.toOpacity(0.2),
blurRadius: 8, blurRadius: 8,
blurStyle: BlurStyle.outer, blurStyle: BlurStyle.outer,
), ),
@@ -56,7 +58,7 @@ class _MenuRoute<T> extends PopupRoute<T> {
child: BlurEffect( child: BlurEffect(
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
child: Material( child: Material(
color: context.colorScheme.surface.withOpacity(0.78), color: context.colorScheme.surface.toOpacity(0.78),
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
child: Container( child: Container(
width: width, width: width,
@@ -84,7 +86,7 @@ class _MenuRoute<T> extends PopupRoute<T> {
entry.onClick(); entry.onClick();
}, },
child: SizedBox( child: SizedBox(
height: App.isMobile ? 42 : 36, height: entryHeight,
child: Padding( child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12), padding: const EdgeInsets.symmetric(horizontal: 12),
child: Row( child: Row(

View File

@@ -563,7 +563,7 @@ class _VirtualWindowFrameState extends State<VirtualWindowFrame>
boxShadow: <BoxShadow>[ boxShadow: <BoxShadow>[
if (!_isMaximized && !_isFullScreen) if (!_isMaximized && !_isFullScreen)
BoxShadow( BoxShadow(
color: Colors.black.withOpacity(0.1), color: Colors.black.toOpacity(0.1),
offset: Offset(0.0, _isFocused ? 4 : 2), offset: Offset(0.0, _isFocused ? 4 : 2),
blurRadius: 6, blurRadius: 6,
) )

View File

@@ -1,4 +1,4 @@
part of comic_source; part of 'comic_source.dart';
class CategoryData { class CategoryData {
/// The title is displayed in the tab bar. /// The title is displayed in the tab bar.

View File

@@ -1,4 +1,4 @@
library comic_source; library;
import 'dart:async'; import 'dart:async';
import 'dart:collection'; import 'dart:collection';

View File

@@ -198,9 +198,7 @@ class ComicDetails with HistoryMixin {
maxPage = json["maxPage"], maxPage = json["maxPage"],
comments = (json["comments"] as List?) comments = (json["comments"] as List?)
?.map((e) => Comment.fromJson(e)) ?.map((e) => Comment.fromJson(e))
.toList(){ .toList();
print(json);
}
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
return { return {

View File

@@ -90,11 +90,10 @@ class ComicSourceParser {
var className = line1.split("class")[1].split("extends ComicSource").first; var className = line1.split("class")[1].split("extends ComicSource").first;
className = className.trim(); className = className.trim();
JsEngine().runCode(""" JsEngine().runCode("""
(() => { (() => { $js
$js
this['temp'] = new $className() this['temp'] = new $className()
}).call() }).call()
"""); """, className);
_name = JsEngine().runCode("this['temp'].name") ?? _name = JsEngine().runCode("this['temp'].name") ??
(throw ComicSourceParseException('name is required')); (throw ComicSourceParseException('name is required'));
var key = JsEngine().runCode("this['temp'].key") ?? var key = JsEngine().runCode("this['temp'].key") ??

View File

@@ -42,6 +42,7 @@ class History implements Comic {
int page; int page;
@override
String id; String id;
/// readEpisode is a set of episode numbers that have been read. /// readEpisode is a set of episode numbers that have been read.

View File

@@ -111,4 +111,10 @@ extension StyledText on TextStyle {
TextStyle get s40 => copyWith(fontSize: 40); TextStyle get s40 => copyWith(fontSize: 40);
TextStyle withColor(Color? color) => copyWith(color: color); TextStyle withColor(Color? color) => copyWith(color: color);
}
extension ColorExt on Color {
Color toOpacity(double opacity) {
return withValues(alpha: opacity);
}
} }

View File

@@ -172,7 +172,6 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
theme: ThemeData( theme: ThemeData(
colorScheme: light.copyWith( colorScheme: light.copyWith(
surface: Colors.white, surface: Colors.white,
background: Colors.white,
), ),
fontFamily: App.isWindows ? "Microsoft YaHei" : null, fontFamily: App.isWindows ? "Microsoft YaHei" : null,
), ),
@@ -180,7 +179,6 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
darkTheme: ThemeData( darkTheme: ThemeData(
colorScheme: dark.copyWith( colorScheme: dark.copyWith(
surface: Colors.black, surface: Colors.black,
background: Colors.black,
), ),
fontFamily: App.isWindows ? "Microsoft YaHei" : null, fontFamily: App.isWindows ? "Microsoft YaHei" : null,
), ),

View File

@@ -1,6 +1,5 @@
import 'dart:async'; import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'dart:io';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
@@ -281,13 +280,8 @@ class RHttpAdapter implements HttpClientAdapter {
headers[key] ??= []; headers[key] ??= [];
headers[key]!.add(entry.$2); headers[key]!.add(entry.$2);
} }
var data = res.body;
if (headers['content-encoding']?.contains('gzip') ?? false) {
// rhttp does not support gzip decoding
data = gzip.decoder.bind(data).map((data) => Uint8List.fromList(data));
}
return ResponseBody( return ResponseBody(
data, res.body,
res.statusCode, res.statusCode,
statusMessage: null, statusMessage: null,
isRedirect: false, isRedirect: false,

View File

@@ -262,7 +262,7 @@ class _CategoryPage extends StatelessWidget {
builder: (context) { builder: (context) {
return Material( return Material(
borderRadius: const BorderRadius.all(Radius.circular(8)), borderRadius: const BorderRadius.all(Radius.circular(8)),
color: context.colorScheme.primaryContainer.withOpacity(0.72), color: context.colorScheme.primaryContainer.toOpacity(0.72),
child: InkWell( child: InkWell(
borderRadius: const BorderRadius.all(Radius.circular(8)), borderRadius: const BorderRadius.all(Radius.circular(8)),
onTap: () => onClick(tag, param), onTap: () => onClick(tag, param),

View File

@@ -1,5 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:sliver_tools/sliver_tools.dart';
import 'package:venera/components/components.dart'; import 'package:venera/components/components.dart';
import 'package:venera/foundation/app.dart'; import 'package:venera/foundation/app.dart';
import 'package:venera/foundation/appdata.dart'; import 'package:venera/foundation/appdata.dart';

View File

@@ -92,7 +92,7 @@ class _FavoritesPageState extends State<FavoritesPage> {
barrierDismissible: true, barrierDismissible: true,
fullscreenDialog: true, fullscreenDialog: true,
opaque: false, opaque: false,
barrierColor: Colors.black.withOpacity(0.36), barrierColor: Colors.black.toOpacity(0.36),
pageBuilder: (context, animation, secondary) { pageBuilder: (context, animation, secondary) {
return Align( return Align(
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,

View File

@@ -592,12 +592,16 @@ class _ReorderComicsPageState extends State<_ReorderComicsPage> {
late var comics = LocalFavoritesManager().getAllComics(widget.name); late var comics = LocalFavoritesManager().getAllComics(widget.name);
bool changed = false; bool changed = false;
Color lightenColor(Color color, double lightenValue) { static int _floatToInt8(double x) {
int red = (color.red + ((255 - color.red) * lightenValue)).round(); return (x * 255.0).round() & 0xff;
int green = (color.green + ((255 - color.green) * lightenValue)).round(); }
int blue = (color.blue + ((255 - color.blue) * lightenValue)).round();
return Color.fromARGB(color.alpha, red, green, blue); Color lightenColor(Color color, double lightenValue) {
int red = (_floatToInt8(color.r) + ((255 - color.r) * lightenValue)).round();
int green = (_floatToInt8(color.g) * 255 + ((255 - color.g) * lightenValue)).round();
int blue = (_floatToInt8(color.b) * 255 + ((255 - color.b) * lightenValue)).round();
return Color.fromARGB(_floatToInt8(color.a), red, green, blue);
} }
@override @override
@@ -650,7 +654,7 @@ class _ReorderComicsPageState extends State<_ReorderComicsPage> {
), ),
], ],
), ),
body: ReorderableBuilder( body: ReorderableBuilder<FavoriteItem>(
key: reorderWidgetKey, key: reorderWidgetKey,
scrollController: _scrollController, scrollController: _scrollController,
longPressDelay: App.isDesktop longPressDelay: App.isDesktop
@@ -659,14 +663,14 @@ class _ReorderComicsPageState extends State<_ReorderComicsPage> {
onReorder: (reorderFunc) { onReorder: (reorderFunc) {
changed = true; changed = true;
setState(() { setState(() {
comics = reorderFunc(comics) as List<FavoriteItem>; comics = reorderFunc(comics);
}); });
widget.onReorder(comics); widget.onReorder(comics);
}, },
dragChildBoxDecoration: BoxDecoration( dragChildBoxDecoration: BoxDecoration(
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(16),
color: lightenColor( color: lightenColor(
Theme.of(context).splashColor.withOpacity(1), Theme.of(context).splashColor.withAlpha(255),
0.2, 0.2,
), ),
), ),

View File

@@ -179,7 +179,7 @@ class _LeftBarState extends State<_LeftBar> implements FolderList {
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
decoration: BoxDecoration( decoration: BoxDecoration(
color: isSelected color: isSelected
? context.colorScheme.primaryContainer.withOpacity(0.36) ? context.colorScheme.primaryContainer.toOpacity(0.36)
: null, : null,
border: Border( border: Border(
left: BorderSide( left: BorderSide(
@@ -214,7 +214,7 @@ class _LeftBarState extends State<_LeftBar> implements FolderList {
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
decoration: BoxDecoration( decoration: BoxDecoration(
color: isSelected color: isSelected
? context.colorScheme.primaryContainer.withOpacity(0.36) ? context.colorScheme.primaryContainer.toOpacity(0.36)
: null, : null,
border: Border( border: Border(
left: BorderSide( left: BorderSide(

View File

@@ -4,8 +4,6 @@ import 'package:venera/foundation/app.dart';
import 'package:venera/foundation/comic_source/comic_source.dart'; import 'package:venera/foundation/comic_source/comic_source.dart';
import 'package:venera/foundation/comic_type.dart'; import 'package:venera/foundation/comic_type.dart';
import 'package:venera/foundation/history.dart'; import 'package:venera/foundation/history.dart';
import 'package:venera/foundation/local.dart';
import 'package:venera/utils/ext.dart';
import 'package:venera/utils/translations.dart'; import 'package:venera/utils/translations.dart';
class HistoryPage extends StatefulWidget { class HistoryPage extends StatefulWidget {

View File

@@ -6,7 +6,6 @@ import 'package:venera/foundation/comic_source/comic_source.dart';
import 'package:venera/foundation/consts.dart'; import 'package:venera/foundation/consts.dart';
import 'package:venera/foundation/favorites.dart'; import 'package:venera/foundation/favorites.dart';
import 'package:venera/foundation/history.dart'; import 'package:venera/foundation/history.dart';
import 'package:venera/foundation/image_provider/cached_image.dart';
import 'package:venera/foundation/image_provider/history_image_provider.dart'; import 'package:venera/foundation/image_provider/history_image_provider.dart';
import 'package:venera/foundation/image_provider/local_comic_image.dart'; import 'package:venera/foundation/image_provider/local_comic_image.dart';
import 'package:venera/foundation/local.dart'; import 'package:venera/foundation/local.dart';
@@ -17,7 +16,6 @@ import 'package:venera/pages/downloading_page.dart';
import 'package:venera/pages/history_page.dart'; import 'package:venera/pages/history_page.dart';
import 'package:venera/pages/search_page.dart'; import 'package:venera/pages/search_page.dart';
import 'package:venera/utils/data_sync.dart'; import 'package:venera/utils/data_sync.dart';
import 'package:venera/utils/ext.dart';
import 'package:venera/utils/import_comic.dart'; import 'package:venera/utils/import_comic.dart';
import 'package:venera/utils/translations.dart'; import 'package:venera/utils/translations.dart';
@@ -55,7 +53,7 @@ class _SearchBar extends StatelessWidget {
width: double.infinity, width: double.infinity,
margin: const EdgeInsets.symmetric(horizontal: 8, vertical: 8), margin: const EdgeInsets.symmetric(horizontal: 8, vertical: 8),
child: Material( child: Material(
color: context.colorScheme.surfaceContainer, color: context.colorScheme.surfaceContainerHigh,
borderRadius: BorderRadius.circular(32), borderRadius: BorderRadius.circular(32),
child: InkWell( child: InkWell(
borderRadius: BorderRadius.circular(32), borderRadius: BorderRadius.circular(32),
@@ -580,7 +578,7 @@ class _ImportComicsWidgetState extends State<_ImportComicsWidget> {
onPressed: () { onPressed: () {
showDialog( showDialog(
context: context, context: context,
barrierColor: Colors.black.withOpacity(0.2), barrierColor: Colors.black.toOpacity(0.2),
builder: (context) { builder: (context) {
var help = ''; var help = '';
help += help +=

View File

@@ -268,5 +268,5 @@ class _DragListener {
void Function(Offset offset)? onMove; void Function(Offset offset)? onMove;
void Function()? onEnd; void Function()? onEnd;
_DragListener({this.onStart, this.onMove, this.onEnd}); _DragListener({this.onMove, this.onEnd});
} }

View File

@@ -1,4 +1,4 @@
library venera_reader; library;
import 'dart:async'; import 'dart:async';
import 'dart:math' as math; import 'dart:math' as math;
@@ -62,7 +62,7 @@ class Reader extends StatefulWidget {
final String name; final String name;
/// Map<Chapter ID, Chapter Name>. /// key: Chapter ID, value: Chapter Name
/// null if the comic is a gallery /// null if the comic is a gallery
final Map<String, String>? chapters; final Map<String, String>? chapters;

View File

@@ -167,10 +167,10 @@ class _ReaderScaffoldState extends State<_ReaderScaffold> {
child: Container( child: Container(
padding: EdgeInsets.only(top: context.padding.top), padding: EdgeInsets.only(top: context.padding.top),
decoration: BoxDecoration( decoration: BoxDecoration(
color: context.colorScheme.surface.withOpacity(0.82), color: context.colorScheme.surface.toOpacity(0.82),
border: Border( border: Border(
bottom: BorderSide( bottom: BorderSide(
color: Colors.grey.withOpacity(0.5), color: Colors.grey.toOpacity(0.5),
width: 0.5, width: 0.5,
), ),
), ),
@@ -357,10 +357,10 @@ class _ReaderScaffoldState extends State<_ReaderScaffold> {
return BlurEffect( return BlurEffect(
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: context.colorScheme.surface.withOpacity(0.82), color: context.colorScheme.surface.toOpacity(0.82),
border: Border( border: Border(
top: BorderSide( top: BorderSide(
color: Colors.grey.withOpacity(0.5), color: Colors.grey.toOpacity(0.5),
width: 0.5, width: 0.5,
), ),
), ),
@@ -641,7 +641,7 @@ class _ReaderScaffoldState extends State<_ReaderScaffold> {
color: Theme.of(context) color: Theme.of(context)
.colorScheme .colorScheme
.surfaceTint .surfaceTint
.withOpacity(0.2), .toOpacity(0.2),
child: const SizedBox.expand(), child: const SizedBox.expand(),
), ),
), ),

View File

@@ -94,7 +94,7 @@ class _ExploreSettingsState extends State<ExploreSettings> {
} }
class _ManageBlockingWordView extends StatefulWidget { class _ManageBlockingWordView extends StatefulWidget {
const _ManageBlockingWordView({super.key}); const _ManageBlockingWordView();
@override @override
State<_ManageBlockingWordView> createState() => State<_ManageBlockingWordView> createState() =>
@@ -135,7 +135,7 @@ class _ManageBlockingWordViewState extends State<_ManageBlockingWordView> {
void add() { void add() {
showDialog( showDialog(
context: App.rootContext, context: App.rootContext,
barrierColor: Colors.black.withOpacity(0.1), barrierColor: Colors.black.toOpacity(0.1),
builder: (context) { builder: (context) {
var controller = TextEditingController(); var controller = TextEditingController();
String? error; String? error;

View File

@@ -384,7 +384,7 @@ class _MultiPagesFilterState extends State<_MultiPagesFilter> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
var tiles = keys.map((e) => buildItem(e)).toList(); var tiles = keys.map((e) => buildItem(e)).toList();
var view = ReorderableBuilder( var view = ReorderableBuilder<String>(
key: reorderWidgetKey, key: reorderWidgetKey,
scrollController: scrollController, scrollController: scrollController,
longPressDelay: App.isDesktop longPressDelay: App.isDesktop
@@ -542,7 +542,7 @@ class _SettingPartTitle extends StatelessWidget {
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border( border: Border(
bottom: BorderSide( bottom: BorderSide(
color: context.colorScheme.onSurface.withOpacity(0.1), color: context.colorScheme.onSurface.withValues(alpha: 0.1),
), ),
), ),
), ),

View File

@@ -267,7 +267,7 @@ class _SettingsPageState extends State<SettingsPage> implements PopEntry {
height: 46, height: 46,
padding: const EdgeInsets.fromLTRB(12, 0, 12, 0), padding: const EdgeInsets.fromLTRB(12, 0, 12, 0),
decoration: BoxDecoration( decoration: BoxDecoration(
color: selected ? colors.primaryContainer.withOpacity(0.36) : null, color: selected ? colors.primaryContainer.toOpacity(0.36) : null,
border: Border( border: Border(
left: BorderSide( left: BorderSide(
color: selected ? colors.primary : Colors.transparent, color: selected ? colors.primary : Colors.transparent,

View File

@@ -125,18 +125,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.18.0" version: "1.19.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
name: convert name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "3.1.2"
cross_file: cross_file:
dependency: transitive dependency: transitive
description: description:
@@ -157,10 +157,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: csslib name: csslib
sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb" sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.0" version: "1.0.2"
dbus: dbus:
dependency: transitive dependency: transitive
description: description:
@@ -222,10 +222,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: file name: file
sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "7.0.0" version: "7.0.1"
file_selector: file_selector:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -238,10 +238,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: file_selector_android name: file_selector_android
sha256: ec439df07c4999faad319ce8ad9e971795c2f1d7132ad5a793b9370a863c6128 sha256: "98ac58e878b05ea2fdb204e7f4fc4978d90406c9881874f901428e01d3b18fbc"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1+10" version: "0.5.1+12"
file_selector_ios: file_selector_ios:
dependency: transitive dependency: transitive
description: description:
@@ -254,10 +254,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: file_selector_linux name: file_selector_linux
sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2" sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.9.3" version: "0.9.3+2"
file_selector_macos: file_selector_macos:
dependency: transitive dependency: transitive
description: description:
@@ -294,10 +294,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: fixnum name: fixnum
sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "1.1.1"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@@ -331,10 +331,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: flutter_inappwebview_internal_annotations name: flutter_inappwebview_internal_annotations
sha256: "5f80fd30e208ddded7dbbcd0d569e7995f9f63d45ea3f548d8dd4c0b473fb4c8" sha256: "787171d43f8af67864740b6f04166c13190aa74a1468a1f1f1e9ee5b90c359cd"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.1" version: "1.2.0"
flutter_inappwebview_ios: flutter_inappwebview_ios:
dependency: transitive dependency: transitive
description: description:
@@ -379,10 +379,10 @@ packages:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: flutter_lints name: flutter_lints
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "5.0.0"
flutter_localizations: flutter_localizations:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@@ -417,18 +417,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_reorderable_grid_view name: flutter_reorderable_grid_view
sha256: "93a2b9e279bf40b9333428a67e70e520ca1528554984eb6f6304538400897e64" sha256: "732bcb1b29d5130c11a70e6acec512941fafe241f0e80bffd93ca6e415819915"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.3.2" version: "5.4.0"
flutter_rust_bridge: flutter_rust_bridge:
dependency: transitive dependency: transitive
description: description:
name: flutter_rust_bridge name: flutter_rust_bridge
sha256: "5fe868d3cb8cbc4d83091748552e03f00ccfa41b8e44691bc382611f831d5f8b" sha256: fb9d3c9395eae3c71d4fe3ec343b9f30636c9988150c8bb33b60047549b34e3d
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.1" version: "2.6.0"
flutter_saf: flutter_saf:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -501,10 +501,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: http_parser name: http_parser
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" sha256: "76d306a1c3afb33fe82e2bbacad62a61f409b5634c915fceb0d799de1a913360"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.2" version: "4.1.1"
http_profile:
dependency: transitive
description:
name: http_profile
sha256: "7e679e355b09aaee2ab5010915c932cce3f2d1c11c3b2dc177891687014ffa78"
url: "https://pub.dev"
source: hosted
version: "0.1.0"
image: image:
dependency: transitive dependency: transitive
description: description:
@@ -525,10 +533,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: io name: io
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.4" version: "1.0.5"
js: js:
dependency: transitive dependency: transitive
description: description:
@@ -549,18 +557,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.5" version: "10.0.7"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.5" version: "3.0.8"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
@@ -573,10 +581,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 sha256: "4a16b3f03741e1252fda5de3ce712666d010ba2122f8e912c94f9f7b90e1a4c3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.0" version: "5.1.0"
local_auth: local_auth:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -686,26 +694,26 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: path_provider name: path_provider
sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.1.5"
path_provider_android: path_provider_android:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.10" version: "2.2.15"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
name: path_provider_foundation name: path_provider_foundation
sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.0" version: "2.4.1"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
@@ -759,10 +767,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:
@@ -791,10 +799,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: rhttp name: rhttp
sha256: "92fb57dea6338370efe1e4e2101e8b521f91f15bc60ef6908469b4392dd9803a" sha256: "581d57b5b6056d31489af94db8653a1c11d7b59050cbbc41ece4279e50414de5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.9.1" version: "0.9.6"
screen_retriever: screen_retriever:
dependency: transitive dependency: transitive
description: description:
@@ -872,7 +880,7 @@ packages:
dependency: transitive dependency: transitive
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.99" version: "0.0.0"
sliver_tools: sliver_tools:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -901,26 +909,26 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: sqlite3 name: sqlite3
sha256: bb174b3ec2527f9c5f680f73a89af8149dd99782fbb56ea88ad0807c5638f2ed sha256: cb7f4e9dc1b52b1fa350f7b3d41c662e75fc3d399555fa4e5efcf267e9a4fbb5
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.7" version: "2.5.0"
sqlite3_flutter_libs: sqlite3_flutter_libs:
dependency: "direct main" dependency: "direct main"
description: description:
name: sqlite3_flutter_libs name: sqlite3_flutter_libs
sha256: "62bbb4073edbcdf53f40c80775f33eea01d301b7b81417e5b3fb7395416258c1" sha256: "636b0fe8a2de894e5455572f6cbbc458f4ffecfe9f860b79439e27041ea4f0b9"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.24" version: "0.5.27"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.1" version: "1.12.0"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
@@ -933,10 +941,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: string_scanner name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@@ -949,18 +957,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.2" version: "0.7.3"
typed_data: typed_data:
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"
upower: upower:
dependency: transitive dependency: transitive
description: description:
@@ -973,42 +981,42 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: url_launcher name: url_launcher
sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.0" version: "6.3.1"
url_launcher_android: url_launcher_android:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_android name: url_launcher_android
sha256: f0c73347dfcfa5b3db8bc06e1502668265d39c08f310c29bff4e28eea9699f79 sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.9" version: "6.3.14"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_ios name: url_launcher_ios
sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.1" version: "6.3.2"
url_launcher_linux: url_launcher_linux:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_linux name: url_launcher_linux
sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.2.0" version: "3.2.1"
url_launcher_macos: url_launcher_macos:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_macos name: url_launcher_macos
sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.2.1" version: "3.2.2"
url_launcher_platform_interface: url_launcher_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -1029,10 +1037,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_windows name: url_launcher_windows
sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.2" version: "3.1.3"
uuid: uuid:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -1053,10 +1061,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.2.5" version: "14.3.0"
web: web:
dependency: transitive dependency: transitive
description: description:
@@ -1094,10 +1102,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: xdg_directories name: xdg_directories
sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.4" version: "1.1.0"
xml: xml:
dependency: transitive dependency: transitive
description: description:
@@ -1124,5 +1132,5 @@ packages:
source: git source: git
version: "0.0.1" version: "0.0.1"
sdks: sdks:
dart: ">=3.5.4 <4.0.0" dart: ">=3.6.0 <4.0.0"
flutter: ">=3.24.5" flutter: ">=3.27.0"

View File

@@ -2,11 +2,11 @@ name: venera
description: "A comic app." description: "A comic app."
publish_to: 'none' publish_to: 'none'
version: 1.0.8+108 version: 1.1.0+110
environment: environment:
sdk: '>=3.5.0 <4.0.0' sdk: '>=3.6.0 <4.0.0'
flutter: 3.24.5 flutter: 3.27.0
dependencies: dependencies:
flutter: flutter:
@@ -14,7 +14,7 @@ dependencies:
path_provider: any path_provider: any
flutter_localizations: flutter_localizations:
sdk: flutter sdk: flutter
intl: any intl: ^0.19.0
window_manager: ^0.4.3 window_manager: ^0.4.3
sqlite3: ^2.4.7 sqlite3: ^2.4.7
sqlite3_flutter_libs: any sqlite3_flutter_libs: any
@@ -39,7 +39,7 @@ dependencies:
url: https://github.com/venera-app/flutter.widgets url: https://github.com/venera-app/flutter.widgets
ref: 09e756b1f1b04e6298318d99ec20a787fb360f59 ref: 09e756b1f1b04e6298318d99ec20a787fb360f59
path: packages/scrollable_positioned_list path: packages/scrollable_positioned_list
flutter_reorderable_grid_view: 5.3.2 flutter_reorderable_grid_view: ^5.4.0
yaml: any yaml: any
uuid: ^4.5.1 uuid: ^4.5.1
desktop_webview_window: desktop_webview_window:
@@ -58,7 +58,7 @@ dependencies:
git: git:
url: https://github.com/venera-app/lodepng_flutter url: https://github.com/venera-app/lodepng_flutter
ref: d1c96cd6503103b3270dfe2f320d4a1c93780f53 ref: d1c96cd6503103b3270dfe2f320d4a1c93780f53
rhttp: 0.9.1 rhttp: 0.9.6
webdav_client: webdav_client:
git: git:
url: https://github.com/wgh136/webdav_client url: https://github.com/wgh136/webdav_client
@@ -77,7 +77,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^3.0.0 flutter_lints: ^5.0.0
flutter_to_arch: flutter_to_arch:
git: https://github.com/wgh136/flutter_to_arch git: https://github.com/wgh136/flutter_to_arch
flutter_to_debian: flutter_to_debian: