opt: nav/searchbar stream

Closes #648

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-09 17:55:44 +08:00
parent 0ccd15047b
commit 783218429c
9 changed files with 30 additions and 8 deletions

View File

@@ -294,7 +294,7 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
resizeToAvoidBottomInset: false,
appBar: AppBar(
title: StreamBuilder(
stream: _titleStreamC.stream,
stream: _titleStreamC.stream.distinct(),
initialData: false,
builder: (context, AsyncSnapshot snapshot) {
return AnimatedOpacity(

View File

@@ -3,6 +3,7 @@ import 'dart:async';
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/pages/common/common_page.dart';
import 'package:PiliPlus/pages/main/controller.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -31,6 +32,7 @@ class _DynamicsTabPageState
with AutomaticKeepAliveClientMixin {
late bool dynamicsWaterfallFlow;
StreamSubscription? _listener;
late final MainController _mainController = Get.find<MainController>();
DynamicsController dynamicsController = Get.put(DynamicsController());
@override
@@ -43,6 +45,14 @@ class _DynamicsTabPageState
@override
bool get wantKeepAlive => true;
@override
void listener() {
if (_mainController.selectedIndex.value == 0) {
return;
}
super.listener();
}
@override
void initState() {
super.initState();