opt: save rcmd

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-01-10 18:35:09 +08:00
parent 7b3d132802
commit 69463d4945
3 changed files with 26 additions and 20 deletions

View File

@@ -43,25 +43,27 @@ class _HomePageState extends State<HomePage>
if (!_homeController.useSideBar) customAppBar,
if (_homeController.tabs.length > 1) ...[
const SizedBox(height: 4),
Container(
height: 42,
Material(
color: Theme.of(context).colorScheme.surface,
child: TabBar(
controller: _homeController.tabController,
tabs: [
for (var i in _homeController.tabs) Tab(text: i['label'])
],
isScrollable: true,
dividerColor: Colors.transparent,
enableFeedback: true,
splashBorderRadius: BorderRadius.circular(10),
tabAlignment: TabAlignment.center,
onTap: (value) {
feedBack();
if (_homeController.tabController.indexIsChanging.not) {
_homeController.animateToTop();
}
},
child: SizedBox(
height: 42,
child: TabBar(
controller: _homeController.tabController,
tabs: [
for (var i in _homeController.tabs) Tab(text: i['label'])
],
isScrollable: true,
dividerColor: Colors.transparent,
enableFeedback: true,
splashBorderRadius: BorderRadius.circular(10),
tabAlignment: TabAlignment.center,
onTap: (value) {
feedBack();
if (_homeController.tabController.indexIsChanging.not) {
_homeController.animateToTop();
}
},
),
),
),
] else

View File

@@ -39,7 +39,7 @@ class RcmdController extends CommonController {
bool shouldSaveLast = enableSaveLastData && currentPage == 0;
if (shouldSaveLast) {
int length = currentList.length;
shouldSaveLast = shouldSaveLast && length > 0 && length < 500;
shouldSaveLast = length > 0 && length < 500;
}
lastRefreshAt = shouldSaveLast && savedRcmdTip ? dataList.length : null;
return shouldSaveLast ? dataList + currentList : null;

View File

@@ -1136,7 +1136,11 @@ List<SettingsModel> get recommendSettings => [
defaultVal: true,
onChanged: (value) {
try {
Get.find<RcmdController>().savedRcmdTip = value;
RcmdController ctr = Get.find<RcmdController>();
ctr.savedRcmdTip = value;
if (value.not) {
ctr.lastRefreshAt = null;
}
} catch (e) {
debugPrint('$e');
}