File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -125,6 +125,37 @@ class Unreads extends ChangeNotifier {
125125
126126 int countInDmNarrow (DmNarrow narrow) => dms[narrow]? .length ?? 0 ;
127127
128+ int countInNarrow (Narrow narrow) {
129+ switch (narrow) {
130+ case DmNarrow ():
131+ return dms[narrow]? .length ?? 0 ;
132+ case AllMessagesNarrow ():
133+ int c = 0 ;
134+ for (final model in dms.values) {
135+ c = c + model.length;
136+ }
137+ for (final streamData in streams.values) {
138+ for (final model in streamData.values) {
139+ c = c + model.length;
140+ }
141+ }
142+ return c;
143+ case StreamNarrow ():
144+ final streamData = streams[narrow.streamId];
145+ if (streamData == null ) return 0 ;
146+ int c = 0 ;
147+ for (final model in streamData.values) {
148+ c = c + model.length;
149+ }
150+ return c;
151+ case TopicNarrow ():
152+ final streamData = streams[narrow.streamId];
153+ if (streamData == null ) return 0 ;
154+ final model = streamData[narrow.topic];
155+ return model? .length ?? 0 ;
156+ }
157+ }
158+
128159 void handleMessageEvent (MessageEvent event) {
129160 final message = event.message;
130161 if (message.flags.contains (MessageFlag .read)) {
You can’t perform that action at this time.
0 commit comments