mirror of
https://github.com/krille-chan/fluffychat
synced 2024-09-10 09:05:10 +00:00
feat: Join room by alias by tpying alias in searchbar
This commit is contained in:
parent
5a6a366028
commit
a7e8ec78ed
1 changed files with 23 additions and 1 deletions
|
@ -214,12 +214,34 @@ class ChatListController extends State<ChatList>
|
|||
}
|
||||
SearchUserDirectoryResponse? userSearchResult;
|
||||
QueryPublicRoomsResponse? roomSearchResult;
|
||||
final searchQuery = searchController.text.trim();
|
||||
try {
|
||||
roomSearchResult = await client.queryPublicRooms(
|
||||
server: searchServer,
|
||||
filter: PublicRoomQueryFilter(genericSearchTerm: searchController.text),
|
||||
filter: PublicRoomQueryFilter(genericSearchTerm: searchQuery),
|
||||
limit: 20,
|
||||
);
|
||||
|
||||
if (searchQuery.isValidMatrixId &&
|
||||
searchQuery.sigil == '#' &&
|
||||
roomSearchResult.chunk
|
||||
.any((room) => room.canonicalAlias == searchQuery) ==
|
||||
false) {
|
||||
final response = await client.getRoomIdByAlias(searchQuery);
|
||||
final roomId = response.roomId;
|
||||
if (roomId != null) {
|
||||
roomSearchResult.chunk.add(
|
||||
PublicRoomsChunk(
|
||||
name: searchQuery,
|
||||
guestCanJoin: false,
|
||||
numJoinedMembers: 0,
|
||||
roomId: roomId,
|
||||
worldReadable: false,
|
||||
canonicalAlias: searchQuery,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
userSearchResult = await client.searchUserDirectory(
|
||||
searchController.text,
|
||||
limit: 20,
|
||||
|
|
Loading…
Reference in a new issue