Skip to content

Commit b6aad25

Browse files
author
nsamuelreddy
committed
Show archive icon for archived channels and add test
1 parent c4c8e20 commit b6aad25

File tree

5 files changed

+78
-59
lines changed

5 files changed

+78
-59
lines changed

assets/icons/ZulipIcons.ttf

136 Bytes
Binary file not shown.

assets/icons/archive.svg

Lines changed: 1 addition & 0 deletions
Loading

lib/widgets/all_channels.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class AllChannelsListEntry extends StatelessWidget {
109109
Icon(
110110
size: 20,
111111
color: colorSwatchFor(context, subscription).iconOnPlainBackground,
112-
iconDataForStream(channel)),
112+
channel.isArchived ? ZulipIcons.archive : iconDataForStream(channel)),
113113
Expanded(
114114
child: Text(
115115
maxLines: 1,

lib/widgets/icons.dart

Lines changed: 61 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -24,179 +24,182 @@ abstract final class ZulipIcons {
2424
//
2525
// BEGIN GENERATED ICON DATA
2626

27+
/// The Zulip custom icon "archive".
28+
static const IconData archive = IconData(0xf101, fontFamily: "Zulip Icons");
29+
2730
/// The Zulip custom icon "arrow_down".
28-
static const IconData arrow_down = IconData(0xf101, fontFamily: "Zulip Icons");
31+
static const IconData arrow_down = IconData(0xf102, fontFamily: "Zulip Icons");
2932

3033
/// The Zulip custom icon "arrow_left_right".
31-
static const IconData arrow_left_right = IconData(0xf102, fontFamily: "Zulip Icons");
34+
static const IconData arrow_left_right = IconData(0xf103, fontFamily: "Zulip Icons");
3235

3336
/// The Zulip custom icon "arrow_right".
34-
static const IconData arrow_right = IconData(0xf103, fontFamily: "Zulip Icons");
37+
static const IconData arrow_right = IconData(0xf104, fontFamily: "Zulip Icons");
3538

3639
/// The Zulip custom icon "at_sign".
37-
static const IconData at_sign = IconData(0xf104, fontFamily: "Zulip Icons");
40+
static const IconData at_sign = IconData(0xf105, fontFamily: "Zulip Icons");
3841

3942
/// The Zulip custom icon "attach_file".
40-
static const IconData attach_file = IconData(0xf105, fontFamily: "Zulip Icons");
43+
static const IconData attach_file = IconData(0xf106, fontFamily: "Zulip Icons");
4144

4245
/// The Zulip custom icon "bot".
43-
static const IconData bot = IconData(0xf106, fontFamily: "Zulip Icons");
46+
static const IconData bot = IconData(0xf107, fontFamily: "Zulip Icons");
4447

4548
/// The Zulip custom icon "camera".
46-
static const IconData camera = IconData(0xf107, fontFamily: "Zulip Icons");
49+
static const IconData camera = IconData(0xf108, fontFamily: "Zulip Icons");
4750

4851
/// The Zulip custom icon "check".
49-
static const IconData check = IconData(0xf108, fontFamily: "Zulip Icons");
52+
static const IconData check = IconData(0xf109, fontFamily: "Zulip Icons");
5053

5154
/// The Zulip custom icon "check_check".
52-
static const IconData check_check = IconData(0xf109, fontFamily: "Zulip Icons");
55+
static const IconData check_check = IconData(0xf10a, fontFamily: "Zulip Icons");
5356

5457
/// The Zulip custom icon "check_circle_checked".
55-
static const IconData check_circle_checked = IconData(0xf10a, fontFamily: "Zulip Icons");
58+
static const IconData check_circle_checked = IconData(0xf10b, fontFamily: "Zulip Icons");
5659

5760
/// The Zulip custom icon "check_circle_unchecked".
58-
static const IconData check_circle_unchecked = IconData(0xf10b, fontFamily: "Zulip Icons");
61+
static const IconData check_circle_unchecked = IconData(0xf10c, fontFamily: "Zulip Icons");
5962

6063
/// The Zulip custom icon "check_remove".
61-
static const IconData check_remove = IconData(0xf10c, fontFamily: "Zulip Icons");
64+
static const IconData check_remove = IconData(0xf10d, fontFamily: "Zulip Icons");
6265

6366
/// The Zulip custom icon "chevron_down".
64-
static const IconData chevron_down = IconData(0xf10d, fontFamily: "Zulip Icons");
67+
static const IconData chevron_down = IconData(0xf10e, fontFamily: "Zulip Icons");
6568

6669
/// The Zulip custom icon "chevron_right".
67-
static const IconData chevron_right = IconData(0xf10e, fontFamily: "Zulip Icons");
70+
static const IconData chevron_right = IconData(0xf10f, fontFamily: "Zulip Icons");
6871

6972
/// The Zulip custom icon "circle_x".
70-
static const IconData circle_x = IconData(0xf10f, fontFamily: "Zulip Icons");
73+
static const IconData circle_x = IconData(0xf110, fontFamily: "Zulip Icons");
7174

7275
/// The Zulip custom icon "clock".
73-
static const IconData clock = IconData(0xf110, fontFamily: "Zulip Icons");
76+
static const IconData clock = IconData(0xf111, fontFamily: "Zulip Icons");
7477

7578
/// The Zulip custom icon "contacts".
76-
static const IconData contacts = IconData(0xf111, fontFamily: "Zulip Icons");
79+
static const IconData contacts = IconData(0xf112, fontFamily: "Zulip Icons");
7780

7881
/// The Zulip custom icon "copy".
79-
static const IconData copy = IconData(0xf112, fontFamily: "Zulip Icons");
82+
static const IconData copy = IconData(0xf113, fontFamily: "Zulip Icons");
8083

8184
/// The Zulip custom icon "edit".
82-
static const IconData edit = IconData(0xf113, fontFamily: "Zulip Icons");
85+
static const IconData edit = IconData(0xf114, fontFamily: "Zulip Icons");
8386

8487
/// The Zulip custom icon "eye".
85-
static const IconData eye = IconData(0xf114, fontFamily: "Zulip Icons");
88+
static const IconData eye = IconData(0xf115, fontFamily: "Zulip Icons");
8689

8790
/// The Zulip custom icon "eye_off".
88-
static const IconData eye_off = IconData(0xf115, fontFamily: "Zulip Icons");
91+
static const IconData eye_off = IconData(0xf116, fontFamily: "Zulip Icons");
8992

9093
/// The Zulip custom icon "follow".
91-
static const IconData follow = IconData(0xf116, fontFamily: "Zulip Icons");
94+
static const IconData follow = IconData(0xf117, fontFamily: "Zulip Icons");
9295

9396
/// The Zulip custom icon "format_quote".
94-
static const IconData format_quote = IconData(0xf117, fontFamily: "Zulip Icons");
97+
static const IconData format_quote = IconData(0xf118, fontFamily: "Zulip Icons");
9598

9699
/// The Zulip custom icon "globe".
97-
static const IconData globe = IconData(0xf118, fontFamily: "Zulip Icons");
100+
static const IconData globe = IconData(0xf119, fontFamily: "Zulip Icons");
98101

99102
/// The Zulip custom icon "group_dm".
100-
static const IconData group_dm = IconData(0xf119, fontFamily: "Zulip Icons");
103+
static const IconData group_dm = IconData(0xf11a, fontFamily: "Zulip Icons");
101104

102105
/// The Zulip custom icon "hash_italic".
103-
static const IconData hash_italic = IconData(0xf11a, fontFamily: "Zulip Icons");
106+
static const IconData hash_italic = IconData(0xf11b, fontFamily: "Zulip Icons");
104107

105108
/// The Zulip custom icon "hash_sign".
106-
static const IconData hash_sign = IconData(0xf11b, fontFamily: "Zulip Icons");
109+
static const IconData hash_sign = IconData(0xf11c, fontFamily: "Zulip Icons");
107110

108111
/// The Zulip custom icon "image".
109-
static const IconData image = IconData(0xf11c, fontFamily: "Zulip Icons");
112+
static const IconData image = IconData(0xf11d, fontFamily: "Zulip Icons");
110113

111114
/// The Zulip custom icon "inbox".
112-
static const IconData inbox = IconData(0xf11d, fontFamily: "Zulip Icons");
115+
static const IconData inbox = IconData(0xf11e, fontFamily: "Zulip Icons");
113116

114117
/// The Zulip custom icon "info".
115-
static const IconData info = IconData(0xf11e, fontFamily: "Zulip Icons");
118+
static const IconData info = IconData(0xf11f, fontFamily: "Zulip Icons");
116119

117120
/// The Zulip custom icon "inherit".
118-
static const IconData inherit = IconData(0xf11f, fontFamily: "Zulip Icons");
121+
static const IconData inherit = IconData(0xf120, fontFamily: "Zulip Icons");
119122

120123
/// The Zulip custom icon "language".
121-
static const IconData language = IconData(0xf120, fontFamily: "Zulip Icons");
124+
static const IconData language = IconData(0xf121, fontFamily: "Zulip Icons");
122125

123126
/// The Zulip custom icon "link".
124-
static const IconData link = IconData(0xf121, fontFamily: "Zulip Icons");
127+
static const IconData link = IconData(0xf122, fontFamily: "Zulip Icons");
125128

126129
/// The Zulip custom icon "lock".
127-
static const IconData lock = IconData(0xf122, fontFamily: "Zulip Icons");
130+
static const IconData lock = IconData(0xf123, fontFamily: "Zulip Icons");
128131

129132
/// The Zulip custom icon "menu".
130-
static const IconData menu = IconData(0xf123, fontFamily: "Zulip Icons");
133+
static const IconData menu = IconData(0xf124, fontFamily: "Zulip Icons");
131134

132135
/// The Zulip custom icon "message_checked".
133-
static const IconData message_checked = IconData(0xf124, fontFamily: "Zulip Icons");
136+
static const IconData message_checked = IconData(0xf125, fontFamily: "Zulip Icons");
134137

135138
/// The Zulip custom icon "message_feed".
136-
static const IconData message_feed = IconData(0xf125, fontFamily: "Zulip Icons");
139+
static const IconData message_feed = IconData(0xf126, fontFamily: "Zulip Icons");
137140

138141
/// The Zulip custom icon "more_horizontal".
139-
static const IconData more_horizontal = IconData(0xf126, fontFamily: "Zulip Icons");
142+
static const IconData more_horizontal = IconData(0xf127, fontFamily: "Zulip Icons");
140143

141144
/// The Zulip custom icon "mute".
142-
static const IconData mute = IconData(0xf127, fontFamily: "Zulip Icons");
145+
static const IconData mute = IconData(0xf128, fontFamily: "Zulip Icons");
143146

144147
/// The Zulip custom icon "person".
145-
static const IconData person = IconData(0xf128, fontFamily: "Zulip Icons");
148+
static const IconData person = IconData(0xf129, fontFamily: "Zulip Icons");
146149

147150
/// The Zulip custom icon "plus".
148-
static const IconData plus = IconData(0xf129, fontFamily: "Zulip Icons");
151+
static const IconData plus = IconData(0xf12a, fontFamily: "Zulip Icons");
149152

150153
/// The Zulip custom icon "read_receipts".
151-
static const IconData read_receipts = IconData(0xf12a, fontFamily: "Zulip Icons");
154+
static const IconData read_receipts = IconData(0xf12b, fontFamily: "Zulip Icons");
152155

153156
/// The Zulip custom icon "remove".
154-
static const IconData remove = IconData(0xf12b, fontFamily: "Zulip Icons");
157+
static const IconData remove = IconData(0xf12c, fontFamily: "Zulip Icons");
155158

156159
/// The Zulip custom icon "search".
157-
static const IconData search = IconData(0xf12c, fontFamily: "Zulip Icons");
160+
static const IconData search = IconData(0xf12d, fontFamily: "Zulip Icons");
158161

159162
/// The Zulip custom icon "see_who_reacted".
160-
static const IconData see_who_reacted = IconData(0xf12d, fontFamily: "Zulip Icons");
163+
static const IconData see_who_reacted = IconData(0xf12e, fontFamily: "Zulip Icons");
161164

162165
/// The Zulip custom icon "send".
163-
static const IconData send = IconData(0xf12e, fontFamily: "Zulip Icons");
166+
static const IconData send = IconData(0xf12f, fontFamily: "Zulip Icons");
164167

165168
/// The Zulip custom icon "settings".
166-
static const IconData settings = IconData(0xf12f, fontFamily: "Zulip Icons");
169+
static const IconData settings = IconData(0xf130, fontFamily: "Zulip Icons");
167170

168171
/// The Zulip custom icon "share".
169-
static const IconData share = IconData(0xf130, fontFamily: "Zulip Icons");
172+
static const IconData share = IconData(0xf131, fontFamily: "Zulip Icons");
170173

171174
/// The Zulip custom icon "share_ios".
172-
static const IconData share_ios = IconData(0xf131, fontFamily: "Zulip Icons");
175+
static const IconData share_ios = IconData(0xf132, fontFamily: "Zulip Icons");
173176

174177
/// The Zulip custom icon "smile".
175-
static const IconData smile = IconData(0xf132, fontFamily: "Zulip Icons");
178+
static const IconData smile = IconData(0xf133, fontFamily: "Zulip Icons");
176179

177180
/// The Zulip custom icon "star".
178-
static const IconData star = IconData(0xf133, fontFamily: "Zulip Icons");
181+
static const IconData star = IconData(0xf134, fontFamily: "Zulip Icons");
179182

180183
/// The Zulip custom icon "star_filled".
181-
static const IconData star_filled = IconData(0xf134, fontFamily: "Zulip Icons");
184+
static const IconData star_filled = IconData(0xf135, fontFamily: "Zulip Icons");
182185

183186
/// The Zulip custom icon "three_person".
184-
static const IconData three_person = IconData(0xf135, fontFamily: "Zulip Icons");
187+
static const IconData three_person = IconData(0xf136, fontFamily: "Zulip Icons");
185188

186189
/// The Zulip custom icon "topic".
187-
static const IconData topic = IconData(0xf136, fontFamily: "Zulip Icons");
190+
static const IconData topic = IconData(0xf137, fontFamily: "Zulip Icons");
188191

189192
/// The Zulip custom icon "topics".
190-
static const IconData topics = IconData(0xf137, fontFamily: "Zulip Icons");
193+
static const IconData topics = IconData(0xf138, fontFamily: "Zulip Icons");
191194

192195
/// The Zulip custom icon "trash".
193-
static const IconData trash = IconData(0xf138, fontFamily: "Zulip Icons");
196+
static const IconData trash = IconData(0xf139, fontFamily: "Zulip Icons");
194197

195198
/// The Zulip custom icon "two_person".
196-
static const IconData two_person = IconData(0xf139, fontFamily: "Zulip Icons");
199+
static const IconData two_person = IconData(0xf13a, fontFamily: "Zulip Icons");
197200

198201
/// The Zulip custom icon "unmute".
199-
static const IconData unmute = IconData(0xf13a, fontFamily: "Zulip Icons");
202+
static const IconData unmute = IconData(0xf13b, fontFamily: "Zulip Icons");
200203

201204
// END GENERATED ICON DATA
202205
}

test/widgets/all_channels_test.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,4 +309,19 @@ void main() {
309309
'subscriptions': jsonEncode([channel.name]),
310310
});
311311
});
312+
313+
testWidgets('shows archive icon for archived channels', (tester) async {
314+
final archivedChannel = eg.stream(isArchived: true);
315+
final activeChannel = eg.stream(isArchived: false);
316+
await setupAllChannelsPage(tester, channels: [archivedChannel, activeChannel]);
317+
await tester.pump();
318+
319+
final archivedIcon = tester.widgetList<Icon>(find.byType(Icon))
320+
.firstWhere((icon) => icon.icon == ZulipIcons.archive);
321+
check(archivedIcon).isNotNull();
322+
323+
final activeIcons = tester.widgetList<Icon>(find.byType(Icon))
324+
.where((icon) => icon.icon != ZulipIcons.archive);
325+
check(activeIcons).isNotEmpty();
326+
});
312327
}

0 commit comments

Comments
 (0)