Skip to content

Commit 8bf5d3e

Browse files
committed
action_sheet [nfc]: Simplify "from" for topic mute/etc options
We always know the current visibility policy, so we can pass that unconditionally.
1 parent f2458b1 commit 8bf5d3e

File tree

1 file changed

+13
-18
lines changed

1 file changed

+13
-18
lines changed

lib/widgets/action_sheet.dart

+13-18
Original file line numberDiff line numberDiff line change
@@ -153,29 +153,24 @@ void showTopicActionSheet(BuildContext context, {
153153
required int channelId,
154154
required String topic,
155155
}) {
156+
final store = PerAccountStoreWidget.of(context);
157+
final channelMuted = store.subscriptions[channelId]?.isMuted;
158+
final visibilityPolicy = store.topicVisibilityPolicy(channelId, topic);
159+
156160
final narrow = TopicNarrow(channelId, topic);
157-
UserTopicUpdateButton button({
158-
UserTopicVisibilityPolicy? from,
159-
required UserTopicVisibilityPolicy to,
160-
}) {
161+
UserTopicUpdateButton button(UserTopicVisibilityPolicy to) {
161162
return UserTopicUpdateButton(
162-
currentVisibilityPolicy: from,
163+
currentVisibilityPolicy: visibilityPolicy,
163164
newVisibilityPolicy: to,
164165
narrow: narrow,
165166
pageContext: context);
166167
}
167168

168-
final mute = button(to: UserTopicVisibilityPolicy.muted);
169-
final unmute = button(from: UserTopicVisibilityPolicy.muted,
170-
to: UserTopicVisibilityPolicy.none);
171-
final unmuteInMutedChannel = button(to: UserTopicVisibilityPolicy.unmuted);
172-
final follow = button(to: UserTopicVisibilityPolicy.followed);
173-
final unfollow = button(from: UserTopicVisibilityPolicy.followed,
174-
to: UserTopicVisibilityPolicy.none);
175-
176-
final store = PerAccountStoreWidget.of(context);
177-
final channelMuted = store.subscriptions[channelId]?.isMuted;
178-
final visibilityPolicy = store.topicVisibilityPolicy(channelId, topic);
169+
final mute = button(UserTopicVisibilityPolicy.muted);
170+
final unmute = button(UserTopicVisibilityPolicy.none);
171+
final unmuteInMutedChannel = button(UserTopicVisibilityPolicy.unmuted);
172+
final follow = button(UserTopicVisibilityPolicy.followed);
173+
final unfollow = button(UserTopicVisibilityPolicy.none);
179174

180175
// TODO(server-7): simplify this condition away
181176
final supportsUnmutingTopics = store.connection.zulipFeatureLevel! >= 170;
@@ -253,13 +248,13 @@ void showTopicActionSheet(BuildContext context, {
253248
class UserTopicUpdateButton extends ActionSheetMenuItemButton {
254249
const UserTopicUpdateButton({
255250
super.key,
256-
this.currentVisibilityPolicy,
251+
required this.currentVisibilityPolicy,
257252
required this.newVisibilityPolicy,
258253
required this.narrow,
259254
required super.pageContext,
260255
});
261256

262-
final UserTopicVisibilityPolicy? currentVisibilityPolicy;
257+
final UserTopicVisibilityPolicy currentVisibilityPolicy;
263258
final UserTopicVisibilityPolicy newVisibilityPolicy;
264259
final TopicNarrow narrow;
265260

0 commit comments

Comments
 (0)