mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 07:47:24 +00:00
Show comics count of a folder on sidebar.
This commit is contained in:
@@ -4,7 +4,7 @@ const _localAllFolderLabel = '^_^[%local_all%]^_^';
|
|||||||
|
|
||||||
/// If the number of comics in a folder exceeds this limit, it will be
|
/// If the number of comics in a folder exceeds this limit, it will be
|
||||||
/// fetched asynchronously.
|
/// fetched asynchronously.
|
||||||
const _asyncDataFetchLimit = 200;
|
const _asyncDataFetchLimit = 500;
|
||||||
|
|
||||||
class _LocalFavoritesPage extends StatefulWidget {
|
class _LocalFavoritesPage extends StatefulWidget {
|
||||||
const _LocalFavoritesPage({required this.folder, super.key});
|
const _LocalFavoritesPage({required this.folder, super.key});
|
||||||
|
@@ -133,8 +133,7 @@ class _LeftBarState extends State<_LeftBar> implements FolderList {
|
|||||||
onClick: () {
|
onClick: () {
|
||||||
newFolder().then((value) {
|
newFolder().then((value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
folders =
|
folders = LocalFavoritesManager().folderNames;
|
||||||
LocalFavoritesManager().folderNames;
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -145,8 +144,7 @@ class _LeftBarState extends State<_LeftBar> implements FolderList {
|
|||||||
onClick: () {
|
onClick: () {
|
||||||
sortFolders().then((value) {
|
sortFolders().then((value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
folders =
|
folders = LocalFavoritesManager().folderNames;
|
||||||
LocalFavoritesManager().folderNames;
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -195,6 +193,15 @@ class _LeftBarState extends State<_LeftBar> implements FolderList {
|
|||||||
|
|
||||||
Widget buildLocalFolder(String name) {
|
Widget buildLocalFolder(String name) {
|
||||||
bool isSelected = name == favPage.folder && !favPage.isNetwork;
|
bool isSelected = name == favPage.folder && !favPage.isNetwork;
|
||||||
|
int count = 0;
|
||||||
|
if (name == _localAllFolderLabel) {
|
||||||
|
count = LocalFavoritesManager().totalComics;
|
||||||
|
} else {
|
||||||
|
count = LocalFavoritesManager().folderComics(name);
|
||||||
|
}
|
||||||
|
var folderName = name == _localAllFolderLabel
|
||||||
|
? "All".tl
|
||||||
|
: getFavoriteDataOrNull(name)?.title ?? name;
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
if (isSelected) {
|
if (isSelected) {
|
||||||
@@ -219,9 +226,25 @@ class _LeftBarState extends State<_LeftBar> implements FolderList {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.only(left: 16),
|
padding: const EdgeInsets.only(left: 16),
|
||||||
child: Text(name == _localAllFolderLabel
|
child: Row(
|
||||||
? "All".tl
|
children: [
|
||||||
: getFavoriteDataOrNull(name)?.title ?? name),
|
Expanded(
|
||||||
|
child: Text(folderName),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(right: 8),
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 8,
|
||||||
|
vertical: 2,
|
||||||
|
),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: context.colorScheme.surfaceContainer,
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
child: Text(count.toString()),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user