Skip to content

Commit 5e87b52

Browse files
committed
add routing
1 parent 230c2e7 commit 5e87b52

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

src/app/pages/client/home/Home.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ type HomeMenuProps = {
7171
const HomeMenu = forwardRef<HTMLDivElement, HomeMenuProps>(({ requestClose }, ref) => {
7272
const orphanRooms = useHomeRooms();
7373
const [hideReads] = useSetting(settingsAtom, 'hideReads');
74-
const [isShowingAllRoomsInHome, setIsShowingAllRoomsInHome] = useSetting(settingsAtom, 'isShowingAllRoomsInHome');
74+
const [isShowingAllRoomsInHome, setIsShowingAllRoomsInHome] = useSetting(
75+
settingsAtom,
76+
'isShowingAllRoomsInHome'
77+
);
7578
const unread = useRoomsUnread(orphanRooms, roomToUnreadAtom);
7679
const mx = useMatrixClient();
7780

@@ -98,11 +101,11 @@ const HomeMenu = forwardRef<HTMLDivElement, HomeMenuProps>(({ requestClose }, re
98101
<MenuItem
99102
onClick={() => setIsShowingAllRoomsInHome(!isShowingAllRoomsInHome)}
100103
size="300"
101-
after={<Icon size="100" src={isShowingAllRoomsInHome? Icons.Home : Icons.Globe} />}
104+
after={<Icon size="100" src={isShowingAllRoomsInHome ? Icons.Home : Icons.Globe} />}
102105
radii="300"
103106
>
104107
<Text style={{ flexGrow: 1 }} as="span" size="T300" truncate>
105-
{isShowingAllRoomsInHome? 'Show Home Rooms' : 'Show All Rooms'}
108+
{isShowingAllRoomsInHome ? 'Show Home Rooms' : 'Show All Rooms'}
106109
</Text>
107110
</MenuItem>
108111
</Box>
@@ -423,6 +426,7 @@ export function Home() {
423426
const room = mx.getRoom(roomId);
424427
if (!room) return null;
425428
const selected = selectedRoomId === roomId;
429+
const canonicalName = getCanonicalAliasOrRoomId(mx, roomId);
426430

427431
return (
428432
<VirtualTile
@@ -448,7 +452,7 @@ export function Home() {
448452
selected={selected}
449453
showAvatar={showIcons()}
450454
hideText={hideText}
451-
linkPath={getHomeRoomPath(getCanonicalAliasOrRoomId(mx, roomId))}
455+
linkPath={getHomeRoomPath(canonicalName)}
452456
notificationMode={getRoomNotificationMode(
453457
notificationPreferences,
454458
room.roomId

src/app/pages/client/home/RoomProvider.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@ import { useMatrixClient } from '$hooks/useMatrixClient';
66
import { JoinBeforeNavigate } from '$features/join-before-navigate';
77
import { useSearchParamsViaServers } from '$hooks/router/useSearchParamsViaServers';
88
import { useHomeRooms } from './useHomeRooms';
9+
import { useSetting } from '$state/hooks/settings';
10+
import { settingsAtom } from '$state/settings';
911

1012
export function HomeRouteRoomProvider({ children }: { children: ReactNode }) {
1113
const mx = useMatrixClient();
14+
const [isShowingAllRoomsInHome] = useSetting(settingsAtom, 'isShowingAllRoomsInHome');
1215
const rooms = useHomeRooms();
1316

1417
const { roomIdOrAlias: encodedRoomIdOrAlias, eventId: encodedEventId } = useParams();
@@ -18,7 +21,7 @@ export function HomeRouteRoomProvider({ children }: { children: ReactNode }) {
1821
const roomId = useSelectedRoom();
1922
const room = mx.getRoom(roomId);
2023

21-
if (!room || !rooms.includes(room.roomId)) {
24+
if (!room || (!isShowingAllRoomsInHome && !rooms.includes(room.roomId))) {
2225
return (
2326
<JoinBeforeNavigate
2427
roomIdOrAlias={roomIdOrAlias!}

0 commit comments

Comments
 (0)