diff --git a/assets/images/avatars/admin-room.svg b/assets/images/avatars/admin-room.svg new file mode 100644 index 000000000000..b358608ed994 --- /dev/null +++ b/assets/images/avatars/admin-room.svg @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/assets/images/avatars/announce-room.svg b/assets/images/avatars/announce-room.svg new file mode 100644 index 000000000000..d29ff8c76976 --- /dev/null +++ b/assets/images/avatars/announce-room.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/assets/images/avatars/deleted-room.svg b/assets/images/avatars/deleted-room.svg index cfce5daab440..c68c13a23fef 100644 --- a/assets/images/avatars/deleted-room.svg +++ b/assets/images/avatars/deleted-room.svg @@ -1,9 +1,9 @@ - + diff --git a/assets/images/avatars/room.svg b/assets/images/avatars/room.svg index f138146a65cb..bb677bac3714 100644 --- a/assets/images/avatars/room.svg +++ b/assets/images/avatars/room.svg @@ -1,9 +1,9 @@ - + diff --git a/src/components/Icon/Expensicons.js b/src/components/Icon/Expensicons.js index 40e0342153b6..4dc6b42dff85 100644 --- a/src/components/Icon/Expensicons.js +++ b/src/components/Icon/Expensicons.js @@ -72,10 +72,14 @@ import Wallet from '../../../assets/images/wallet.svg'; import Workspace from '../../../assets/images/workspace-default-avatar.svg'; import ActiveRoomAvatar from '../../../assets/images/avatars/room.svg'; import DeletedRoomAvatar from '../../../assets/images/avatars/deleted-room.svg'; +import AdminRoomAvatar from '../../../assets/images/avatars/admin-room.svg'; +import AnnounceRoomAvatar from '../../../assets/images/avatars/announce-room.svg'; export { ActiveRoomAvatar, + AdminRoomAvatar, Android, + AnnounceRoomAvatar, Apple, ArrowRight, BackArrow, diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 3937b60fb342..9401ca7c05ee 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -219,6 +219,12 @@ function getAvatarSources(report) { if (ReportUtils.isArchivedRoom(report)) { return Expensicons.DeletedRoomAvatar; } + if (ReportUtils.isAdminRoom(report)) { + return Expensicons.AdminRoomAvatar; + } + if (ReportUtils.isAnnounceRoom(report)) { + return Expensicons.AnnounceRoomAvatar; + } if (ReportUtils.isChatRoom(report)) { return Expensicons.ActiveRoomAvatar; } diff --git a/src/libs/reportUtils.js b/src/libs/reportUtils.js index 59f83ff1db9e..aae2e0da77e6 100644 --- a/src/libs/reportUtils.js +++ b/src/libs/reportUtils.js @@ -92,6 +92,26 @@ function isDefaultRoom(report) { ], lodashGet(report, ['chatType'], '')); } +/** + * Whether the provided report is an Admin room + * @param {Object} report + * @param {String} report.chatType + * @returns {Boolean} + */ +function isAdminRoom(report) { + return lodashGet(report, ['chatType'], '') === CONST.REPORT.CHAT_TYPE.POLICY_ADMINS; +} + +/** + * Whether the provided report is a Announce room + * @param {Object} report + * @param {String} report.chatType + * @returns {Boolean} + */ +function isAnnounceRoom(report) { + return lodashGet(report, ['chatType'], '') === CONST.REPORT.CHAT_TYPE.POLICY_ANNOUNCE; +} + /** * Whether the provided report is a user created policy room * @param {Object} report @@ -257,6 +277,8 @@ export { canDeleteReportAction, sortReportsByLastVisited, isDefaultRoom, + isAdminRoom, + isAnnounceRoom, isUserCreatedPolicyRoom, isChatRoom, getChatRoomSubtitle,