Better error handling when server room list is private

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2021-10-03 09:53:54 +05:30
parent 7d032bb684
commit 8e5a5baf52

View file

@ -137,16 +137,22 @@ function PublicRooms({ isOpen, searchTerm, onRequestClose }) {
updateNextBatch(result.next_batch); updateNextBatch(result.next_batch);
updateIsSearching(false); updateIsSearching(false);
updateIsViewMore(false); updateIsViewMore(false);
if (totalRooms.length === 0 && inputRoomName !== '') { if (totalRooms.length === 0) {
updateSearchQuery({ updateSearchQuery({
error: `No result found for "${inputRoomName}" on ${inputHs}`, error: inputRoomName === ''
? `No public rooms on ${inputHs}`
: `No result found for "${inputRoomName}" on ${inputHs}`,
alias: isInputAlias ? inputRoomName : null, alias: isInputAlias ? inputRoomName : null,
}); });
} }
} catch (e) { } catch (e) {
updatePublicRooms([]); updatePublicRooms([]);
let err = 'Something went wrong!';
if (e?.httpStatus >= 400 && e?.httpStatus < 500) {
err = e.message;
}
updateSearchQuery({ updateSearchQuery({
error: 'Something went wrong!', error: err,
alias: isInputAlias ? inputRoomName : null, alias: isInputAlias ? inputRoomName : null,
}); });
updateIsSearching(false); updateIsSearching(false);
@ -241,20 +247,12 @@ function PublicRooms({ isOpen, searchTerm, onRequestClose }) {
) )
} }
{ {
typeof searchQuery.name !== 'undefined' && !isSearching && publicRooms.length !== 0 && ( typeof searchQuery.name !== 'undefined' && !isSearching && (
searchQuery.name === '' searchQuery.name === ''
? <Text variant="b2">{`Public rooms on ${searchQuery.homeserver}.`}</Text> ? <Text variant="b2">{`Public rooms on ${searchQuery.homeserver}.`}</Text>
: <Text variant="b2">{`Search result for "${searchQuery.name}" on ${searchQuery.homeserver}.`}</Text> : <Text variant="b2">{`Search result for "${searchQuery.name}" on ${searchQuery.homeserver}.`}</Text>
) )
} }
{
typeof searchQuery.name !== 'undefined' && !isSearching && publicRooms.length === 0
&& (
<div className="flex--center">
<Text variant="b2">{`There are no public rooms on ${searchQuery.homeserver}.`}</Text>
</div>
)
}
{ searchQuery.error && ( { searchQuery.error && (
<> <>
<Text className="public-rooms__search-error" variant="b2">{searchQuery.error}</Text> <Text className="public-rooms__search-error" variant="b2">{searchQuery.error}</Text>