From 99af2643dde3f531b58128c93ab581167349c572 Mon Sep 17 00:00:00 2001 From: Rishi Chirchi Date: Sat, 15 Feb 2025 12:49:59 +0530 Subject: [PATCH 1/2] icons: Add icon for switch account, from Figma Taken from Figma: https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=6141-40422&t --- assets/icons/ZulipIcons.ttf | Bin 12464 -> 12716 bytes assets/icons/arrow_left_right.svg | 4 ++ lib/widgets/icons.dart | 77 ++++++++++++++++-------------- 3 files changed, 44 insertions(+), 37 deletions(-) create mode 100644 assets/icons/arrow_left_right.svg diff --git a/assets/icons/ZulipIcons.ttf b/assets/icons/ZulipIcons.ttf index 0be670d5cb409c5a8b45cecef5c85e0fedfded51..fec63cceaf36b218eb97c16486cc14200d7fd7d8 100644 GIT binary patch delta 1974 zcmah~OKcle6uoa|Jn?6oPszuSHnE*Fv7LB4vEzxIkL_d;J|cjKKu}dNZW70#`NvHh zslr`E5H^*HSwzjIq86$UNQi(`i3$~|iwdzosDQ)*bx~MUEGQcg5`pt3uLOw&c{+37 z=YGz;_xa_+-22mIVnpPk3nY{A_~Z*?6K_wPCt?XAdFR>5Nc6?8CO;)oZbIvo>BZbi z>Ec8`k=lv9Kjs#;^2@t(-@rkY$ak$Uo15AA@zzJsy$hHHY}lDHiunzov#?k!?LGO| zpF}nzOD~_-P_(U}br|I23!Q zNEF$|`sAe>9qv&p17xvx>XXke{oKb!D{U-amc8UAFIDLl{lpqshMi|u*w<1*x+#4r zOJpOBbQ-5ADw0I?6vPNo5A{-n4C!6Z`?8o_|unR$R z(9-Zy9g+zlUJ~b=c#6_xY($}23l|}9is0KL)H|Ubhq{5$i%#*Q@F{~S*#Y1r_O_=MHfK`T?VWXo4A;c+j<_%!Z%bJGEUSya=p=}nG z1Wb8$ZFCGJ3?Mu&A9o(WIS>B`IsVyyST7anbRp|;dY(>GhgJLlB0MZSZ(SHocTl_x zW1b;*8iMU7{}BjT=OG6Gp82q2luK zR?5)#BSb6w8t`Sp18)G&oi{R!W*w%IrsJfHqv*Wuyhq^rgB9|v+l}WrPWoBA0!O%E__!xP?{?q+i#Kk)^CsK9_Zm02r@FN zMeIHluVd{5X$d1s^R)G#yOL5n`g##Dff!*h=tBx|bZ8JwPl6#&I|W`QxTjIY9^9&t z%3JCLIQ*c_w!$_s5H|YyA8APKo7phGST zgdkT0h9Or4Qjlu`LCAFh6B17%6*KtYt)z1TX~+$MA;?XE9>|hF269VaWZ&!ff|Vb1 z6LAm+|EoprMf!zJvD=a`y?SFhFBYfjsrvw!SpbL={PcRu6X zaVf4{Ev3Dx{pucfe_K0PTdEtYyI4P5f9HQk!+%sN3$7Doi8GO3moMYVMCF(nZD-9b z%}tGUvg+^ZPct9BX3W>!)z6w6>zFUv+^BZ=TJZHpSXXyf96DxH+SB}6wMLc{MX73j zkCr{yZ18v**qd4H-~&yYVmo|!P@2*_hl=j2nqR&c(O~6JYn%?7t;&z4JburV=08}2 zKQZ@cRl7q~k7-vm+JD1kcHn=}XZnS9Hb&0e+S>AFc4m2Vss3=fFqxu mX%<*uvn$h`aS}C-T_?>0 zMRC<1fE0NFLRn;mSacDHgeuexQpAD{*#xmb6{;wTP=#RAc2OSZUQZ}nJUTx2alYrB zxi^YCg*pTP53ZpFiC4xhym~oi0o*-`)Fy+Mft(mJ3dy=Q+MboSrQ&t$tMdn|hu00`ryP zNTGE1J#M-WDY#xPtX9QEaf+LroCg*P<>?bQ^Cl3T0)Hp}miC!;8#>(RMi%FwvHB37 zF!~T7_alx3l2my3pF|J?oJTOoofIrabN@#lRdz9Uua(*eOl2QKUC_ZPreM)QR5`Zj z$l~@8g{Dg2Bzie|il#A!uvG9Qo`eG#TE)3?oZ}eM43fhM+QgVfm?<0R#4$Kk+N1Os zVT=sgsZMb}4Xdt1emub{f(#-n=vURG$OGtr>)-XGoTb|Udf=rx#NZZfhE!T6oyKsQ z?!#P>_6FLRd=@X`JjU5c*{dL}j`~!Wt%~9~hDoRm>8zjTCj4}Bv=-nv!*!{Cmi1W- z6UFl!HQlwc$|!?eL5Q8Idx5r$7QXq5R3s*kFl zb*C6U#;S+dybyCuGV?53mcwx4E8`8iHyU3%3SG2L4@9lOc!E}`Oe{P!5;Bvc*}mLx zW3zRmvF~s-+MPyS<H=#m`T(-g66bm+D+43F zan9Ij)mtAr$DQA}@~&;yeRslr!;|;?;_dK$;{DCH;k(loX#2I@YXAAz`u~3X>r6nt zPSC#Bw)y%%c!YLvaG-7f^`WTkR=idZuk%mi*Sv5SYPHJBZLWwFds*2EQYRmj5e54Mf + + + diff --git a/lib/widgets/icons.dart b/lib/widgets/icons.dart index 82cb83704b..6c6934ebd7 100644 --- a/lib/widgets/icons.dart +++ b/lib/widgets/icons.dart @@ -27,116 +27,119 @@ abstract final class ZulipIcons { /// The Zulip custom icon "arrow_down". static const IconData arrow_down = IconData(0xf101, fontFamily: "Zulip Icons"); + /// The Zulip custom icon "arrow_left_right". + static const IconData arrow_left_right = IconData(0xf102, fontFamily: "Zulip Icons"); + /// The Zulip custom icon "arrow_right". - static const IconData arrow_right = IconData(0xf102, fontFamily: "Zulip Icons"); + static const IconData arrow_right = IconData(0xf103, fontFamily: "Zulip Icons"); /// The Zulip custom icon "at_sign". - static const IconData at_sign = IconData(0xf103, fontFamily: "Zulip Icons"); + static const IconData at_sign = IconData(0xf104, fontFamily: "Zulip Icons"); /// The Zulip custom icon "attach_file". - static const IconData attach_file = IconData(0xf104, fontFamily: "Zulip Icons"); + static const IconData attach_file = IconData(0xf105, fontFamily: "Zulip Icons"); /// The Zulip custom icon "bot". - static const IconData bot = IconData(0xf105, fontFamily: "Zulip Icons"); + static const IconData bot = IconData(0xf106, fontFamily: "Zulip Icons"); /// The Zulip custom icon "camera". - static const IconData camera = IconData(0xf106, fontFamily: "Zulip Icons"); + static const IconData camera = IconData(0xf107, fontFamily: "Zulip Icons"); /// The Zulip custom icon "check". - static const IconData check = IconData(0xf107, fontFamily: "Zulip Icons"); + static const IconData check = IconData(0xf108, fontFamily: "Zulip Icons"); /// The Zulip custom icon "check_remove". - static const IconData check_remove = IconData(0xf108, fontFamily: "Zulip Icons"); + static const IconData check_remove = IconData(0xf109, fontFamily: "Zulip Icons"); /// The Zulip custom icon "chevron_right". - static const IconData chevron_right = IconData(0xf109, fontFamily: "Zulip Icons"); + static const IconData chevron_right = IconData(0xf10a, fontFamily: "Zulip Icons"); /// The Zulip custom icon "clock". - static const IconData clock = IconData(0xf10a, fontFamily: "Zulip Icons"); + static const IconData clock = IconData(0xf10b, fontFamily: "Zulip Icons"); /// The Zulip custom icon "contacts". - static const IconData contacts = IconData(0xf10b, fontFamily: "Zulip Icons"); + static const IconData contacts = IconData(0xf10c, fontFamily: "Zulip Icons"); /// The Zulip custom icon "copy". - static const IconData copy = IconData(0xf10c, fontFamily: "Zulip Icons"); + static const IconData copy = IconData(0xf10d, fontFamily: "Zulip Icons"); /// The Zulip custom icon "follow". - static const IconData follow = IconData(0xf10d, fontFamily: "Zulip Icons"); + static const IconData follow = IconData(0xf10e, fontFamily: "Zulip Icons"); /// The Zulip custom icon "format_quote". - static const IconData format_quote = IconData(0xf10e, fontFamily: "Zulip Icons"); + static const IconData format_quote = IconData(0xf10f, fontFamily: "Zulip Icons"); /// The Zulip custom icon "globe". - static const IconData globe = IconData(0xf10f, fontFamily: "Zulip Icons"); + static const IconData globe = IconData(0xf110, fontFamily: "Zulip Icons"); /// The Zulip custom icon "group_dm". - static const IconData group_dm = IconData(0xf110, fontFamily: "Zulip Icons"); + static const IconData group_dm = IconData(0xf111, fontFamily: "Zulip Icons"); /// The Zulip custom icon "hash_italic". - static const IconData hash_italic = IconData(0xf111, fontFamily: "Zulip Icons"); + static const IconData hash_italic = IconData(0xf112, fontFamily: "Zulip Icons"); /// The Zulip custom icon "hash_sign". - static const IconData hash_sign = IconData(0xf112, fontFamily: "Zulip Icons"); + static const IconData hash_sign = IconData(0xf113, fontFamily: "Zulip Icons"); /// The Zulip custom icon "image". - static const IconData image = IconData(0xf113, fontFamily: "Zulip Icons"); + static const IconData image = IconData(0xf114, fontFamily: "Zulip Icons"); /// The Zulip custom icon "inbox". - static const IconData inbox = IconData(0xf114, fontFamily: "Zulip Icons"); + static const IconData inbox = IconData(0xf115, fontFamily: "Zulip Icons"); /// The Zulip custom icon "info". - static const IconData info = IconData(0xf115, fontFamily: "Zulip Icons"); + static const IconData info = IconData(0xf116, fontFamily: "Zulip Icons"); /// The Zulip custom icon "inherit". - static const IconData inherit = IconData(0xf116, fontFamily: "Zulip Icons"); + static const IconData inherit = IconData(0xf117, fontFamily: "Zulip Icons"); /// The Zulip custom icon "language". - static const IconData language = IconData(0xf117, fontFamily: "Zulip Icons"); + static const IconData language = IconData(0xf118, fontFamily: "Zulip Icons"); /// The Zulip custom icon "lock". - static const IconData lock = IconData(0xf118, fontFamily: "Zulip Icons"); + static const IconData lock = IconData(0xf119, fontFamily: "Zulip Icons"); /// The Zulip custom icon "menu". - static const IconData menu = IconData(0xf119, fontFamily: "Zulip Icons"); + static const IconData menu = IconData(0xf11a, fontFamily: "Zulip Icons"); /// The Zulip custom icon "message_feed". - static const IconData message_feed = IconData(0xf11a, fontFamily: "Zulip Icons"); + static const IconData message_feed = IconData(0xf11b, fontFamily: "Zulip Icons"); /// The Zulip custom icon "mute". - static const IconData mute = IconData(0xf11b, fontFamily: "Zulip Icons"); + static const IconData mute = IconData(0xf11c, fontFamily: "Zulip Icons"); /// The Zulip custom icon "read_receipts". - static const IconData read_receipts = IconData(0xf11c, fontFamily: "Zulip Icons"); + static const IconData read_receipts = IconData(0xf11d, fontFamily: "Zulip Icons"); /// The Zulip custom icon "send". - static const IconData send = IconData(0xf11d, fontFamily: "Zulip Icons"); + static const IconData send = IconData(0xf11e, fontFamily: "Zulip Icons"); /// The Zulip custom icon "share". - static const IconData share = IconData(0xf11e, fontFamily: "Zulip Icons"); + static const IconData share = IconData(0xf11f, fontFamily: "Zulip Icons"); /// The Zulip custom icon "share_ios". - static const IconData share_ios = IconData(0xf11f, fontFamily: "Zulip Icons"); + static const IconData share_ios = IconData(0xf120, fontFamily: "Zulip Icons"); /// The Zulip custom icon "smile". - static const IconData smile = IconData(0xf120, fontFamily: "Zulip Icons"); + static const IconData smile = IconData(0xf121, fontFamily: "Zulip Icons"); /// The Zulip custom icon "star". - static const IconData star = IconData(0xf121, fontFamily: "Zulip Icons"); + static const IconData star = IconData(0xf122, fontFamily: "Zulip Icons"); /// The Zulip custom icon "star_filled". - static const IconData star_filled = IconData(0xf122, fontFamily: "Zulip Icons"); + static const IconData star_filled = IconData(0xf123, fontFamily: "Zulip Icons"); /// The Zulip custom icon "three_person". - static const IconData three_person = IconData(0xf123, fontFamily: "Zulip Icons"); + static const IconData three_person = IconData(0xf124, fontFamily: "Zulip Icons"); /// The Zulip custom icon "topic". - static const IconData topic = IconData(0xf124, fontFamily: "Zulip Icons"); + static const IconData topic = IconData(0xf125, fontFamily: "Zulip Icons"); /// The Zulip custom icon "unmute". - static const IconData unmute = IconData(0xf125, fontFamily: "Zulip Icons"); + static const IconData unmute = IconData(0xf126, fontFamily: "Zulip Icons"); /// The Zulip custom icon "user". - static const IconData user = IconData(0xf126, fontFamily: "Zulip Icons"); + static const IconData user = IconData(0xf127, fontFamily: "Zulip Icons"); // END GENERATED ICON DATA } From 4cc8da9f116f04979709060629fc2072b684e405 Mon Sep 17 00:00:00 2001 From: Rishi Chirchi Date: Fri, 21 Feb 2025 15:05:16 +0530 Subject: [PATCH 2/2] home: Add switch account icon in main menu Fixes #1178. --- lib/widgets/home.dart | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/widgets/home.dart b/lib/widgets/home.dart index 160544c5c8..4591b7afb3 100644 --- a/lib/widgets/home.dart +++ b/lib/widgets/home.dart @@ -554,11 +554,7 @@ class _SwitchAccountButton extends _MenuButton { const _SwitchAccountButton(); @override - // TODO(design): choose an icon - IconData? get icon => null; - - @override - Widget buildLeading(BuildContext context) => const SizedBox.shrink(); + IconData? get icon => ZulipIcons.arrow_left_right; @override String label(ZulipLocalizations zulipLocalizations) {