More navigation work

A normal room link https://server.com/#/room/#PUBLIC:matrix.org will now redirect to the /join/ screen if you are not logged in or not joined.
This commit is contained in:
N-Pex 2021-01-12 20:51:31 +01:00
parent 0130858908
commit 7165b5af8c
3 changed files with 8 additions and 8 deletions

View file

@ -15,7 +15,7 @@ const routes = [
component: Chat
},
{
path: '/room/:roomId',
path: '/room/:roomId?',
name: 'Chat',
component: Chat
},
@ -47,11 +47,11 @@ router.beforeEach((to, from, next) => {
var authRequired = !publicPages.includes(to.path);
const loggedIn = localStorage.getItem('user');
if (to.name == 'Join' && !to.params.roomId && to.hash) {
to.params.roomId = to.hash;
}
if (to.name == 'Chat' || to.name == 'Join') {
if (!to.params.roomId && to.hash) {
// Public rooms start with '#', confuses the router. If hash but no roomId param, set it.
to.params.roomId = to.hash;
}
const roomId = util.sanitizeRoomId(to.params.roomId);
router.app.$matrix.setCurrentRoomId(roomId);
if (roomId && roomId.startsWith('#')) {