diff --git a/src/app/Utils.php b/src/app/Utils.php --- a/src/app/Utils.php +++ b/src/app/Utils.php @@ -382,10 +382,7 @@ $env['view'] = 'root'; $env['jsapp'] = 'user.js'; - if ($path == 'meet' || strpos($path, 'meet/') === 0) { - $env['view'] = 'meet'; - $env['jsapp'] = 'meet.js'; - } elseif ($req_domain == "admin.$sys_domain") { + if ($req_domain == "admin.$sys_domain") { $env['jsapp'] = 'admin.js'; } diff --git a/src/resources/js/meet.js b/src/resources/js/meet.js deleted file mode 100644 --- a/src/resources/js/meet.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Application code for the Meet UI - */ - -import routes from './routes-meet.js' - -window.routes = routes -window.isAdmin = false - -require('./app') - -// Register additional icons -import { library } from '@fortawesome/fontawesome-svg-core' - -import { - faAlignLeft, - faCompress, - faDesktop, - faExpand, - faMicrophone, - faPowerOff, - faUser, - faShieldAlt, - faVideo, - faVolumeMute -} from '@fortawesome/free-solid-svg-icons' - -// Register only these icons we need -library.add( - faAlignLeft, - faCompress, - faDesktop, - faExpand, - faMicrophone, - faPowerOff, - faUser, - faShieldAlt, - faVideo, - faVolumeMute -) diff --git a/src/resources/js/routes-meet.js b/src/resources/js/routes-meet.js deleted file mode 100644 --- a/src/resources/js/routes-meet.js +++ /dev/null @@ -1,23 +0,0 @@ -import PageComponent from '../vue/Page' -import LogoutComponent from '../vue/Logout' -import RoomComponent from '../vue/Meet/Room' - -const routes = [ - { - component: LogoutComponent, - name: 'logout', - path: '/logout' - }, - { - component: RoomComponent, - name: 'room', - path: '/meet/:room' - }, - { - component: PageComponent, - name: '404', - path: '*' - } -] - -export default routes diff --git a/src/resources/js/routes-user.js b/src/resources/js/routes-user.js --- a/src/resources/js/routes-user.js +++ b/src/resources/js/routes-user.js @@ -13,7 +13,26 @@ import UserProfileDeleteComponent from '../vue/User/ProfileDelete' import WalletComponent from '../vue/Wallet' +const RoomComponent = () => ({ + // The component to load (should be a Promise) + component: import(/* webpackChunkName: "room" */ '../vue/Meet/Room.vue'), + // A component to use while the async component is loading + // loading: LoadingComponent, + // A component to use if the load fails + // error: PageComponent, + // Delay before showing the loading component. Default: 200ms. + delay: 0, + // The error component will be displayed if a timeout is + // provided and exceeded. Default: Infinity. + // timeout: 3000 +}) + const routes = [ + { + component: RoomComponent, + name: 'room', + path: '/meet/:room' + }, { path: '/dashboard', name: 'dashboard', diff --git a/src/resources/views/meet.blade.php b/src/resources/views/meet.blade.php deleted file mode 100644 --- a/src/resources/views/meet.blade.php +++ /dev/null @@ -1,10 +0,0 @@ -@extends('layouts.app') -@section('title', "Meet") -@section('content') -
- - -
- -
-@endsection diff --git a/src/resources/vue/Meet/Room.vue b/src/resources/vue/Meet/Room.vue --- a/src/resources/vue/Meet/Room.vue +++ b/src/resources/vue/Meet/Room.vue @@ -129,6 +129,36 @@ import LogonForm from '../Login' import SessionSecurityOptions from './SessionSecurityOptions' +// Register additional icons +import { library } from '@fortawesome/fontawesome-svg-core' + +import { + faAlignLeft, + faCompress, + faDesktop, + faExpand, + faMicrophone, + faPowerOff, + faUser, + faShieldAlt, + faVideo, + faVolumeMute +} from '@fortawesome/free-solid-svg-icons' + +// Register only these icons we need +library.add( + faAlignLeft, + faCompress, + faDesktop, + faExpand, + faMicrophone, + faPowerOff, + faUser, + faShieldAlt, + faVideo, + faVolumeMute +) + let roomRequest export default { @@ -372,7 +402,7 @@ // FIXME: Where exactly the user should land? Currently he'll land // on dashboard (if he's logged in) or login form (if he's not). - window.location = window.config['app.url'] + this.$router.push({ name: 'dashboard' }) }).modal() } } @@ -389,7 +419,7 @@ const logout = () => { this.meet.leaveRoom() this.meet = null - window.location = window.config['app.url'] + this.$router.push({ name: 'dashboard' }) } if (this.session.owner) { diff --git a/src/resources/vue/Rooms.vue b/src/resources/vue/Rooms.vue --- a/src/resources/vue/Rooms.vue +++ b/src/resources/vue/Rooms.vue @@ -12,7 +12,7 @@ attendance. Use this URL to invite people to join you.

- {{ href }} + {{ href }}

This is a work in progress and more features will be added over time. Current features include: @@ -60,7 +60,8 @@ data() { return { rooms: [], - href: '' + href: '', + roomRoute: '' } }, mounted() { @@ -77,7 +78,8 @@ this.rooms = response.data.list if (response.data.count) { - this.href = window.config['app.url'] + '/meet/' + encodeURI(this.rooms[0].name) + this.roomRoute = '/meet/' + encodeURI(this.rooms[0].name) + this.href = window.config['app.url'] + this.roomRoute } }) .catch(this.$root.errorHandler) diff --git a/src/resources/vue/Widgets/Menu.vue b/src/resources/vue/Widgets/Menu.vue --- a/src/resources/vue/Widgets/Menu.vue +++ b/src/resources/vue/Widgets/Menu.vue @@ -23,19 +23,17 @@ {{ item.title }} -