diff --git a/src/components/navigator/NavigatorView.tsx b/src/components/navigator/NavigatorView.tsx index b93b8d5..727d06b 100644 --- a/src/components/navigator/NavigatorView.tsx +++ b/src/components/navigator/NavigatorView.tsx @@ -14,8 +14,10 @@ import { NavigatorRoomCreatorView } from './views/NavigatorRoomCreatorView'; import { NavigatorRoomInfoView } from './views/NavigatorRoomInfoView'; import { NavigatorRoomLinkView } from './views/NavigatorRoomLinkView'; import { NavigatorRoomSettingsView } from './views/room-settings/NavigatorRoomSettingsView'; +import { NavigatorEmptyStateView } from './views/search/NavigatorEmptyStateView'; import { NavigatorSearchResultView } from './views/search/NavigatorSearchResultView'; import { NavigatorSearchSavesResultView } from './views/search/NavigatorSearchSavesResultView'; +import { NavigatorSearchSkeletonView } from './views/search/NavigatorSearchSkeletonView'; import { NavigatorSearchView } from './views/search/NavigatorSearchView'; export const NavigatorView: FC<{}> = props => @@ -132,7 +134,7 @@ export const NavigatorView: FC<{}> = props => - + { !isCreatorOpen &&
{ isOpenSavesSearches && @@ -140,13 +142,13 @@ export const NavigatorView: FC<{}> = props =>
}
- +
+ { (isFetching && !searchResult) && + } { searchResult && searchResult.results.map((result, index) => ) } { searchResult && (!searchResult.results || searchResult.results.length === 0) && -
- { LocalizeText(searchResult.code === 'myworld_view' ? 'navigator.roomsettings.moderation.none' : 'navigator.search.returned.no.results') } -
} + useNavigatorUiStore.getState().openCreator() } /> }
void; +} + +export const NavigatorEmptyStateView: FC = props => +{ + const { code, onCreateRoom } = props; + + const isMyWorld = (code === 'myworld_view'); + const messageKey = isMyWorld ? 'navigator.roomsettings.moderation.none' : 'navigator.search.returned.no.results'; + + return ( +
+
+ +
+
+ { LocalizeText(messageKey) } +
+ +
+ ); +}; diff --git a/src/components/navigator/views/search/NavigatorSearchSkeletonView.tsx b/src/components/navigator/views/search/NavigatorSearchSkeletonView.tsx new file mode 100644 index 0000000..95666d8 --- /dev/null +++ b/src/components/navigator/views/search/NavigatorSearchSkeletonView.tsx @@ -0,0 +1,25 @@ +import { FC } from 'react'; + +interface NavigatorSearchSkeletonViewProps +{ + rows?: number; +} + +export const NavigatorSearchSkeletonView: FC = props => +{ + const { rows = 5 } = props; + + return ( +