Page MenuHomePhorge

D2014.1775230151.diff
No OneTemporary

Authored By
Unknown
Size
9 KB
Referenced Files
None
Subscribers
None

D2014.1775230151.diff

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')
-<div id="app">
- <menu-component mode="header"></menu-component>
- <app-component></app-component>
- <div class="filler"></div>
- <menu-component mode="footer" footer="{{ config('app.company.footer') }}"></menu-component>
-</div>
-@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.
</p>
<p>
- <a v-if="href" :href="href">{{ href }}</a>
+ <router-link v-if="href" :to="roomRoute">{{ href }}</router-link>
</p>
<p>
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 }}
</router-link>
</li>
- <li class="nav-item" v-if="!loggedIn">
- <router-link v-if="!$root.isAdmin && $root.hasRoute('signup')" class="nav-link link-signup" active-class="active" :to="{name: 'signup'}">Signup</router-link>
- <a v-else class="nav-link link-signup" :href="appUrl + '/signup'">Signup</a>
+ <li class="nav-item" v-if="!loggedIn && !$root.isAdmin">
+ <router-link class="nav-link link-signup" active-class="active" :to="{name: 'signup'}">Signup</router-link>
</li>
<li class="nav-item" v-if="loggedIn">
- <router-link v-if="$root.hasRoute('dashboard')" class="nav-link link-dashboard" active-class="active" :to="{name: 'dashboard'}">Cockpit</router-link>
- <a v-else class="nav-link link-dashboard" :href="appUrl + '/dashboard'">Cockpit</a>
+ <router-link class="nav-link link-dashboard" active-class="active" :to="{name: 'dashboard'}">Cockpit</router-link>
</li>
<li class="nav-item" v-if="loggedIn">
<router-link class="nav-link menulogin link-logout" active-class="active" :to="{name: 'logout'}">Logout</router-link>
</li>
<li class="nav-item" v-if="!loggedIn">
- <a class="nav-link menulogin link-login" :href="appUrl + '/login'">Login</a>
+ <router-link class="nav-link menulogin link-login" :to="{name: 'login'}">Login</router-link>
</li>
</ul>
<div v-if="mode == 'footer'" class="footer">
@@ -57,8 +55,7 @@
return {
appName: window.config['app.name'],
appUrl: window.config['app.url'],
- themeDir: '/themes/' + window.config['app.theme'],
- webmailURL: window.config['app.webmail_url']
+ themeDir: '/themes/' + window.config['app.theme']
}
},
computed: {
diff --git a/src/webpack.mix.js b/src/webpack.mix.js
--- a/src/webpack.mix.js
+++ b/src/webpack.mix.js
@@ -16,7 +16,14 @@
mix.webpackConfig({
output: {
- publicPath: process.env.MIX_ASSET_PATH
+ publicPath: process.env.MIX_ASSET_PATH,
+ chunkFilename: "js/[name].js"
+ },
+ optimization: {
+ splitChunks: {
+ // disable chunking, so I want room.js include the (default) vendor~room.js
+ maxAsyncRequests: 1
+ }
},
resolve: {
alias: {
@@ -27,7 +34,6 @@
mix.js('resources/js/user.js', 'public/js')
.js('resources/js/admin.js', 'public/js')
- .js('resources/js/meet.js', 'public/js')
glob.sync('resources/themes/*/', {}).forEach(fromDir => {
const toDir = fromDir.replace('resources/themes/', 'public/themes/')

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 3, 3:29 PM (7 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18824499
Default Alt Text
D2014.1775230151.diff (9 KB)

Event Timeline