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}`)
}}
-