fix empty tags

This commit is contained in:
deltamaya
2024-10-29 12:10:34 +08:00
parent bc0443a3a1
commit 20a1014230

View File

@@ -99,7 +99,7 @@ class _ComicPageState extends LoadingState<ComicPage, ComicDetails>
return const Res.error('Local comic not found'); return const Res.error('Local comic not found');
} }
var history = await HistoryManager().find(widget.id, ComicType.local); var history = await HistoryManager().find(widget.id, ComicType.local);
if(isFirst) { if (isFirst) {
Future.microtask(() { Future.microtask(() {
App.rootContext.to(() { App.rootContext.to(() {
return Reader( return Reader(
@@ -398,22 +398,23 @@ class _ComicPageState extends LoadingState<ComicPage, ComicDetails>
Text(comic.stars!.toStringAsFixed(2)), Text(comic.stars!.toStringAsFixed(2)),
], ],
).paddingLeft(16).paddingVertical(8), ).paddingLeft(16).paddingVertical(8),
for (var e in comic.tags.entries) for (var e in comic.tags.entries)
buildWrap( buildWrap(
children: [ children: [
buildTag(text: e.key.ts(comicSource.key), isTitle: true), if(e.value.isNotEmpty)
for (var tag in e.value) buildTag(text: e.key.ts(comicSource.key), isTitle: true),
buildTag( for (var tag in e.value)
text: enableTranslation buildTag(
? TagsTranslation.translationTagWithNamespace( text: enableTranslation
tag, ? TagsTranslation.translationTagWithNamespace(
e.key.toLowerCase(), tag,
) e.key.toLowerCase(),
: tag, )
onTap: () => onTapTag(tag, e.key), : tag,
), onTap: () => onTapTag(tag, e.key),
], ),
), ],
),
if (comic.uploader != null) if (comic.uploader != null)
buildWrap( buildWrap(
children: [ children: [
@@ -514,9 +515,9 @@ abstract mixin class _ComicPageActions {
cid: comic.id, cid: comic.id,
type: comic.comicType, type: comic.comicType,
isFavorite: isFavorite, isFavorite: isFavorite,
onFavorite: (local,network) { onFavorite: (local, network) {
isFavorite=network??isFavorite; isFavorite = network ?? isFavorite;
isAddToLocalFav=local??isAddToLocalFav; isAddToLocalFav = local ?? isAddToLocalFav;
update(); update();
}, },
favoriteItem: FavoriteItem( favoriteItem: FavoriteItem(
@@ -760,7 +761,6 @@ abstract mixin class _ComicPageActions {
} }
class _ActionButton extends StatelessWidget { class _ActionButton extends StatelessWidget {
const _ActionButton({ const _ActionButton({
required this.icon, required this.icon,
required this.text, required this.text,
@@ -824,7 +824,6 @@ class _ActionButton extends StatelessWidget {
} }
} }
class _ComicChapters extends StatefulWidget { class _ComicChapters extends StatefulWidget {
const _ComicChapters(); const _ComicChapters();
@@ -1119,7 +1118,7 @@ class _FavoritePanel extends StatefulWidget {
/// if null, the comic source does not support favorite or support multiple favorite lists /// if null, the comic source does not support favorite or support multiple favorite lists
final bool? isFavorite; final bool? isFavorite;
final void Function(bool?,bool?) onFavorite; final void Function(bool?, bool?) onFavorite;
final FavoriteItem favoriteItem; final FavoriteItem favoriteItem;
@@ -1263,12 +1262,12 @@ class _FavoritePanelState extends State<_FavoritePanel> {
LocalFavoritesManager() LocalFavoritesManager()
.deleteComicWithId(folder, widget.cid, widget.type); .deleteComicWithId(folder, widget.cid, widget.type);
} }
widget.onFavorite(false,null); widget.onFavorite(false, null);
} else { } else {
for (var folder in selectedLocalFolders) { for (var folder in selectedLocalFolders) {
LocalFavoritesManager().addComic(folder, widget.favoriteItem); LocalFavoritesManager().addComic(folder, widget.favoriteItem);
} }
widget.onFavorite(true,null); widget.onFavorite(true, null);
} }
context.pop(); context.pop();
}, },
@@ -1284,8 +1283,8 @@ class _FavoritePanelState extends State<_FavoritePanel> {
cid: widget.cid, cid: widget.cid,
comicSource: comicSource, comicSource: comicSource,
isFavorite: widget.isFavorite, isFavorite: widget.isFavorite,
onFavorite: (network){ onFavorite: (network) {
widget.onFavorite(null,network); widget.onFavorite(null, network);
}, },
); );
} }