diff --git a/frontend/pages/communication/chat.vue b/frontend/pages/communication/chat.vue index f9eb212..4a4e641 100644 --- a/frontend/pages/communication/chat.vue +++ b/frontend/pages/communication/chat.vue @@ -15,6 +15,7 @@ const matrixMembers = ref([]) const matrixMessageDraft = ref("") const matrixMessagesViewport = ref(null) const roomCreateOpen = ref(false) +const collapsedRoomGroups = ref({}) const matrixCallOpen = ref(false) const matrixCallMode = ref("video") const matrixCallLoading = ref(false) @@ -167,6 +168,15 @@ const groupedRooms = computed(() => [ } ].filter((group) => group.rooms.length > 0)) +const isRoomGroupCollapsed = (groupKey) => Boolean(collapsedRoomGroups.value[groupKey]) + +const toggleRoomGroup = (groupKey) => { + collapsedRoomGroups.value = { + ...collapsedRoomGroups.value, + [groupKey]: !isRoomGroupCollapsed(groupKey) + } +} + const normalizeRoomKey = (value) => { const normalized = String(value || "") .toLowerCase() @@ -951,56 +961,73 @@ onBeforeUnmount(() => { :key="group.key" class="space-y-1" > -
-

- {{ group.label }} -

- {{ group.rooms.length }} -
+
+ +