diff --git a/src/views/Favorites/FavoritesAvatar.vue b/src/views/Favorites/FavoritesAvatar.vue index ddac3443..6c10f86c 100644 --- a/src/views/Favorites/FavoritesAvatar.vue +++ b/src/views/Favorites/FavoritesAvatar.vue @@ -111,6 +111,7 @@ :key="group.key" :class="[ 'group-item', + `group-item--${group.visibility}`, { 'is-active': !hasSearchInput && isGroupActive('remote', group.key) } ]" @click="handleGroupClick('remote', group.key)"> @@ -125,9 +126,6 @@ {{ t(`view.favorite.visibility.${group.visibility}`) }} - @@ -127,9 +128,6 @@ {{ t(`view.favorite.visibility.${group.visibility}`) }} - {}); } + /** + * + * @param ids + */ function bulkUnfavoriteSelectedFriends(ids) { if (isLocalGroupSelected.value && activeLocalGroupName.value) { ids.forEach((id) => { @@ -972,6 +1048,10 @@ friendEditMode.value = false; } + /** + * + * @param ctx + */ function clearFavoriteGroup(ctx) { modalStore .confirm({ @@ -989,21 +1069,38 @@ .catch(() => {}); } + /** + * + * @param group + * @param visibility + */ function handleVisibilitySelection(group, visibility) { const menuKey = remoteGroupMenuKey(group.key); changeFriendGroupVisibility(group.name, visibility, menuKey); } + /** + * + * @param group + */ function handleRemoteRename(group) { handleGroupMenuVisible(remoteGroupMenuKey(group.key), false); changeFavoriteGroupName(group); } + /** + * + * @param group + */ function handleRemoteClear(group) { handleGroupMenuVisible(remoteGroupMenuKey(group.key), false); clearFavoriteGroup(group); } + /** + * + * @param group + */ function changeFavoriteGroupName(group) { const currentName = group.displayName || group.name; modalStore @@ -1042,6 +1139,12 @@ .catch(() => {}); } + /** + * + * @param name + * @param visibility + * @param menuKey + */ function changeFriendGroupVisibility(name, visibility, menuKey = null) { const params = { type: 'friend', @@ -1064,6 +1167,10 @@ }); } + /** + * + * @param value + */ function formatVisibility(value) { if (!value) { return ''; @@ -1071,6 +1178,9 @@ return value.charAt(0).toUpperCase() + value.slice(1); } + /** + * + */ function startLocalGroupCreation() { isCreatingLocalGroup.value = true; newLocalGroupName.value = ''; @@ -1079,11 +1189,17 @@ }); } + /** + * + */ function cancelLocalGroupCreation() { isCreatingLocalGroup.value = false; newLocalGroupName.value = ''; } + /** + * + */ function handleLocalGroupCreationConfirm() { const name = newLocalGroupName.value.trim(); if (!name) { @@ -1096,6 +1212,10 @@ selectGroup('local', name); } + /** + * + * @param group + */ function handleLocalRename(group) { handleGroupMenuVisible(localGroupMenuKey(group), false); modalStore @@ -1123,6 +1243,10 @@ .catch(() => {}); } + /** + * + * @param group + */ function handleLocalDelete(group) { handleGroupMenuVisible(localGroupMenuKey(group), false); modalStore @@ -1280,10 +1404,19 @@ } .group-item__visibility-dot { - width: 7px; - height: 7px; - border-radius: 50%; - flex-shrink: 0; + display: none; + } + + .group-item--public { + border-left: 3px solid #22c55e; + } + + .group-item--friends { + border-left: 3px solid #0ea5e9; + } + + .group-item--private { + border-left: 3px solid #ef4444; } .group-item.is-active { diff --git a/src/views/Favorites/FavoritesWorld.vue b/src/views/Favorites/FavoritesWorld.vue index efcc843f..464ad04b 100644 --- a/src/views/Favorites/FavoritesWorld.vue +++ b/src/views/Favorites/FavoritesWorld.vue @@ -113,6 +113,7 @@ :key="group.key" :class="[ 'group-item', + `group-item--${group.visibility}`, { 'is-active': !hasSearchInput && isGroupActive('remote', group.key) } ]" @click="handleGroupClick('remote', group.key)"> @@ -127,9 +128,6 @@ {{ t(`view.favorite.visibility.${group.visibility}`) }} -