From 3d3ad27ca09dbd7310276a54cf6949da031c1edc Mon Sep 17 00:00:00 2001 From: pa Date: Sun, 8 Mar 2026 20:12:34 +0900 Subject: [PATCH] clean up sidebar css --- src/styles/status-icon.css | 69 +++++++++++++++++++ src/views/Sidebar/components/FriendItem.vue | 20 ++++-- .../Sidebar/components/FriendsSidebar.vue | 27 +++++--- .../Sidebar/components/GroupsSidebar.vue | 19 +++-- 4 files changed, 114 insertions(+), 21 deletions(-) create mode 100644 src/styles/status-icon.css diff --git a/src/styles/status-icon.css b/src/styles/status-icon.css new file mode 100644 index 00000000..1469ca77 --- /dev/null +++ b/src/styles/status-icon.css @@ -0,0 +1,69 @@ +/* + * Status icon styles for avatar status indicator dots and mask cutouts. + */ + +.status-icon::after { + position: absolute; + right: 0.75px; + bottom: 0.75px; + width: 9px; + height: 9px; + content: ''; + background: var(--status-offline); + border-radius: 50%; +} + +.status-icon.active::after { + background: var(--status-active); +} + +.status-icon.online::after { + background: var(--status-online); +} + +.status-icon.joinme::after { + background: var(--status-joinme); + mask-image: url(/images/masks/joinme.svg); +} + +.status-icon.askme::after { + background: var(--status-askme); + mask-image: url(/images/masks/askme.svg); +} + +.status-icon.busy::after { + background: var(--status-busy); + mask-image: url(/images/masks/busy.svg); +} + +.status-icon.offline::after { + background: var(--status-offline); +} + +.active img, +.offline img { + filter: grayscale(1); +} + +.friend-row:hover .active img, +.friend-row:hover .offline img { + filter: none; +} + +/* Avatar mask cutout for status dot */ +.status-icon img { + mask-image: url(/images/masks/usercutout.svg); +} + +.status-icon.mobile img { + mask-image: url(/images/masks/usercutoutmobile.svg); +} + +.status-icon.mobile::after { + right: -2px; + bottom: -0.5px; + width: 14px; + height: 14px; + border-radius: 0; + mask-image: url(/images/masks/phone.svg) !important; +} diff --git a/src/views/Sidebar/components/FriendItem.vue b/src/views/Sidebar/components/FriendItem.vue index 730ec773..4180a3e6 100644 --- a/src/views/Sidebar/components/FriendItem.vue +++ b/src/views/Sidebar/components/FriendItem.vue @@ -1,8 +1,10 @@