mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: singleton FollowTypeController (#1578)
This commit is contained in:
committed by
GitHub
parent
fb59c208e3
commit
77ec78e3fe
@@ -11,11 +11,11 @@ import 'package:get/get.dart';
|
|||||||
class FansPage extends StatefulWidget {
|
class FansPage extends StatefulWidget {
|
||||||
const FansPage({
|
const FansPage({
|
||||||
super.key,
|
super.key,
|
||||||
this.showName,
|
this.showName = true,
|
||||||
this.onSelect,
|
this.onSelect,
|
||||||
});
|
});
|
||||||
|
|
||||||
final bool? showName;
|
final bool showName;
|
||||||
final ValueChanged<UserModel>? onSelect;
|
final ValueChanged<UserModel>? onSelect;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -25,15 +25,14 @@ class FansPage extends StatefulWidget {
|
|||||||
class _FansPageState extends FollowTypePageState<FansPage> {
|
class _FansPageState extends FollowTypePageState<FansPage> {
|
||||||
@override
|
@override
|
||||||
late final FansController controller = Get.put(
|
late final FansController controller = Get.put(
|
||||||
FansController(widget.showName ?? true),
|
FansController(widget.showName),
|
||||||
tag: Utils.generateRandomString(8),
|
tag: Get.parameters['mid'],
|
||||||
);
|
);
|
||||||
late final flag = widget.onSelect == null && controller.isOwner;
|
late final flag = widget.onSelect == null && controller.isOwner;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
PreferredSizeWidget? get appBar => widget.showName == false
|
PreferredSizeWidget? get appBar => widget.showName
|
||||||
? null
|
? AppBar(
|
||||||
: AppBar(
|
|
||||||
title: controller.isOwner
|
title: controller.isOwner
|
||||||
? const Text('我的粉丝')
|
? const Text('我的粉丝')
|
||||||
: Obx(() {
|
: Obx(() {
|
||||||
@@ -41,7 +40,8 @@ class _FansPageState extends FollowTypePageState<FansPage> {
|
|||||||
if (name != null) return Text('$name的粉丝');
|
if (name != null) return Text('$name的粉丝');
|
||||||
return const SizedBox.shrink();
|
return const SizedBox.shrink();
|
||||||
}),
|
}),
|
||||||
);
|
)
|
||||||
|
: null;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget buildItem(int index, FollowItemModel item) {
|
Widget buildItem(int index, FollowItemModel item) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:PiliPlus/pages/follow_type/follow_same/controller.dart';
|
import 'package:PiliPlus/pages/follow_type/follow_same/controller.dart';
|
||||||
import 'package:PiliPlus/pages/follow_type/view.dart';
|
import 'package:PiliPlus/pages/follow_type/view.dart';
|
||||||
import 'package:PiliPlus/utils/utils.dart';
|
import 'package:PiliPlus/utils/extension.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
@@ -13,9 +13,9 @@ class FollowSamePage extends StatefulWidget {
|
|||||||
|
|
||||||
class _FollowSamePageState extends FollowTypePageState<FollowSamePage> {
|
class _FollowSamePageState extends FollowTypePageState<FollowSamePage> {
|
||||||
@override
|
@override
|
||||||
final controller = Get.put(
|
final controller = Get.putOrFind(
|
||||||
FollowSameController(),
|
FollowSameController.new,
|
||||||
tag: Utils.generateRandomString(8),
|
tag: Get.parameters['mid'],
|
||||||
);
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:PiliPlus/pages/follow_type/followed/controller.dart';
|
import 'package:PiliPlus/pages/follow_type/followed/controller.dart';
|
||||||
import 'package:PiliPlus/pages/follow_type/view.dart';
|
import 'package:PiliPlus/pages/follow_type/view.dart';
|
||||||
import 'package:PiliPlus/utils/utils.dart';
|
import 'package:PiliPlus/utils/extension.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
@@ -13,9 +13,9 @@ class FollowedPage extends StatefulWidget {
|
|||||||
|
|
||||||
class _FollowedPageState extends FollowTypePageState<FollowedPage> {
|
class _FollowedPageState extends FollowTypePageState<FollowedPage> {
|
||||||
@override
|
@override
|
||||||
final controller = Get.put(
|
final controller = Get.putOrFind(
|
||||||
FollowedController(),
|
FollowedController.new,
|
||||||
tag: Utils.generateRandomString(8),
|
tag: Get.parameters['mid'],
|
||||||
);
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ abstract class FollowTypePageState<T extends StatefulWidget> extends State<T> {
|
|||||||
onRefresh: controller.onRefresh,
|
onRefresh: controller.onRefresh,
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
physics: const AlwaysScrollableScrollPhysics(),
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
controller: controller.scrollController,
|
// controller: controller.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
ViewSliverSafeArea(
|
ViewSliverSafeArea(
|
||||||
sliver: Obx(
|
sliver: Obx(
|
||||||
|
|||||||
Reference in New Issue
Block a user