diff --git a/CHANGELOG.md b/CHANGELOG.md index a9133d0..9fa1246 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 chat view after leaving the active room; Cucumber E2E for ephemeral group, space channel, and DM leave flows ([#94](https://github.com/mjkatgithub/Decentra/issues/94)) +- Space home / sitemap view in the main pane when a Matrix Space is + selected but no channel is active; rail `selectSpace` clears room + selection; leaving a space channel lands on space home; lobby lists + unjoined channels with join actions and a sidebar Lobby entry; no + auto-select of first channel on load or space change + ([#124](https://github.com/mjkatgithub/Decentra/issues/124)) - Project architecture map for developers and agents: `docs/architecture.md`, `docs/README.md`, issue documentation checklist; `AGENTS.md` requires doc updates on structural changes diff --git a/app/components/Chat/RoomCategoryList.vue b/app/components/Chat/RoomCategoryList.vue index c9d7321..0fd85ac 100644 --- a/app/components/Chat/RoomCategoryList.vue +++ b/app/components/Chat/RoomCategoryList.vue @@ -70,6 +70,7 @@ const emit = defineEmits<{ openHomeStartDm: [] openHomeCreateRoom: [] openHomeExplorePublic: [] + openSpaceLobby: [] persistRoomOrder: [ payload: { parentSpaceId: string; orderedRoomIds: string[] }, ] @@ -94,6 +95,14 @@ const categoryDragEnabled = computed( () => Boolean(props.selectedRootSpaceId) && props.canReorderCategories, ) +const lobbyButtonActiveClass = computed(() => + !props.selectedRoomId + ? 'bg-primary-100 text-primary-800 dark:bg-primary-900/40' + + ' dark:text-primary-200' + : 'text-gray-700 hover:bg-gray-100 dark:text-gray-200' + + ' dark:hover:bg-gray-800', +) + const sortableDragOptions = { ghostClass: 'decentra-drag-ghost', chosenClass: 'decentra-drag-chosen', @@ -622,6 +631,21 @@ function onRoomDragEnd(_category: RoomSectionItem, rawEvent: unknown) {
+ +