diff --git a/imports/NeoChat/Page/RoomListPage.qml b/imports/NeoChat/Page/RoomListPage.qml index 032f83fe0..00ff241e7 100644 --- a/imports/NeoChat/Page/RoomListPage.qml +++ b/imports/NeoChat/Page/RoomListPage.qml @@ -21,6 +21,7 @@ Kirigami.ScrollablePage { property var roomListModel property var enteredRoom + required property var activeConnection signal enterRoom(var room) signal leaveRoom(var room) @@ -36,6 +37,18 @@ Kirigami.ScrollablePage { } ListView { + id: listView + Kirigami.PlaceholderMessage { + anchors.centerIn: parent + width: parent.width - (Kirigami.Units.largeSpacing * 4) + visible: listView.count == 0 + text: i18n("You didn't join any room yet.") + helpfulAction: Kirigami.Action { + icon.name: "list-add" + text: i18n("Explore rooms") + onTriggered: pageStack.layers.push("qrc:/imports/NeoChat/Page/JoinRoomPage.qml", {"connection": activeConnection}) + } + } model: SortFilterRoomListModel { id: sortFilterRoomListModel sourceModel: roomListModel diff --git a/qml/main.qml b/qml/main.qml index 98376f92e..64bbdc7b4 100644 --- a/qml/main.qml +++ b/qml/main.qml @@ -69,6 +69,7 @@ Kirigami.ApplicationWindow { RoomListPage { id: roomList roomListModel: spectralRoomListModel + activeConnection: Controller.activeConnection } } @@ -79,7 +80,7 @@ Kirigami.ApplicationWindow { if (Controller.accountCount === 0) { pageStack.replace("qrc:/imports/NeoChat/Page/LoginPage.qml", {}); } else { - pageStack.replace(roomListComponent); + pageStack.replace(roomListComponent, {'activeConnection': Controller.activeConnection}); } } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d633c462f..2ff56d974 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -46,6 +46,7 @@ if(ANDROID) "media-playback-start" "go-up" "go-down" + "list-add" ) else() target_link_libraries(neochat PRIVATE Qt5::Widgets ${QTKEYCHAIN_LIBRARIES})