Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117783702
D2305.1775250182.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
10 KB
Referenced Files
None
Subscribers
None
D2305.1775250182.diff
View Options
diff --git a/src/resources/js/app.js b/src/resources/js/app.js
--- a/src/resources/js/app.js
+++ b/src/resources/js/app.js
@@ -78,7 +78,10 @@
router: window.router,
data() {
return {
- isAdmin: window.isAdmin
+ isAdmin: window.isAdmin,
+ appName: window.config['app.name'],
+ appUrl: window.config['app.url'],
+ themeDir: '/themes/' + window.config['app.theme']
}
},
methods: {
@@ -161,6 +164,11 @@
clearTimeout(this.refreshTimeout)
},
+ logo(mode) {
+ let src = this.appUrl + this.themeDir + '/images/logo_' + (mode || 'header') + '.png'
+
+ return `<img src="${src}" alt="${this.appName}">`
+ },
// Display "loading" overlay inside of the specified element
addLoader(elem) {
$(elem).css({position: 'relative'}).append($(loader).addClass('small'))
diff --git a/src/resources/themes/meet.scss b/src/resources/themes/meet.scss
--- a/src/resources/themes/meet.scss
+++ b/src/resources/themes/meet.scss
@@ -154,6 +154,10 @@
#meet-component {
overflow: hidden;
}
+
+ nav.navbar {
+ display: none;
+ }
}
#meet-setup {
@@ -172,6 +176,10 @@
}
#meet-session-menu {
+ background: #f6f5f3;
+ border-radius: 0 2em 2em 0;
+ margin: 0.25em 0;
+
button {
font-size: 1.3em;
padding: 0 0.25em;
@@ -190,6 +198,20 @@
}
}
+#meet-session-logo {
+ background: #e9e7e2;
+ border-radius: 2em 0 0 2em;
+ margin: 0.25em 0;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ img {
+ height: 1.25em;
+ padding: 0 1.5em;
+ }
+}
+
#meet-session-layout {
flex: 1;
overflow: hidden;
@@ -384,3 +406,31 @@
flex: 1;
}
}
+
+@include media-breakpoint-down(sm) {
+ #meet-session-logo {
+ display: none;
+ }
+
+ #meet-session-menu {
+ background: transparent;
+ }
+
+ #app.meet {
+ #footer-menu {
+ display: block !important;
+ height: 2em;
+ padding: 0;
+
+ .navbar-brand {
+ padding: 0;
+ margin: 0;
+ }
+
+ img {
+ width: auto !important;
+ height: 1em;
+ }
+ }
+ }
+}
diff --git a/src/resources/vue/Domain/Info.vue b/src/resources/vue/Domain/Info.vue
--- a/src/resources/vue/Domain/Info.vue
+++ b/src/resources/vue/Domain/Info.vue
@@ -23,7 +23,7 @@
<div class="card-body">
<div class="card-title">Domain configuration</div>
<div class="card-text">
- <p>In order to let {{ app_name }} receive email traffic for your domain you need to adjust
+ <p>In order to let {{ $root.appName }} receive email traffic for your domain you need to adjust
the DNS settings, more precisely the MX entries, accordingly.</p>
<p>Edit your domain's zone file and replace existing MX
entries with the following values: <pre>{{ domain.config.join("\n") }}</pre></p>
@@ -47,7 +47,6 @@
return {
domain_id: null,
domain: null,
- app_name: window.config['app.name'],
status: {}
}
},
diff --git a/src/resources/vue/Login.vue b/src/resources/vue/Login.vue
--- a/src/resources/vue/Login.vue
+++ b/src/resources/vue/Login.vue
@@ -56,7 +56,6 @@
},
data() {
return {
- app_url: window.config['app.url'],
email: '',
password: '',
secondFactor: '',
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
@@ -1,6 +1,7 @@
<template>
<div id="meet-component">
<div id="meet-session-toolbar" class="hidden">
+ <span id="meet-session-logo" v-html="$root.logo()"></span>
<div id="meet-session-menu">
<button class="btn btn-link link-audio" @click="switchSound" :disabled="!isPublisher()" title="Mute audio">
<svg-icon icon="microphone"></svg-icon>
@@ -283,6 +284,8 @@
beforeDestroy() {
clearTimeout(roomRequest)
+ $('#app').removeClass('meet')
+
if (this.meet) {
this.meet.leaveRoom()
}
diff --git a/src/resources/vue/User/ProfileDelete.vue b/src/resources/vue/User/ProfileDelete.vue
--- a/src/resources/vue/User/ProfileDelete.vue
+++ b/src/resources/vue/User/ProfileDelete.vue
@@ -14,7 +14,7 @@
for a few words about your reasons for leaving our service. Please send your feedback
to <a :href="'mailto:' + supportEmail">{{ supportEmail }}</a>.
</p>
- <p>Also feel free to contact {{ appName }} Support with any questions
+ <p>Also feel free to contact {{ $root.appName }} Support with any questions
or concerns that you may have in this context.</p>
<button class="btn btn-secondary button-cancel" @click="$router.go(-1)">Cancel</button>
<button class="btn btn-danger button-delete" @click="deleteProfile">
@@ -30,7 +30,6 @@
export default {
data() {
return {
- appName: window.config['app.name'],
supportEmail: window.config['app.support_email']
}
},
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
@@ -1,9 +1,7 @@
<template>
<nav :id="mode + '-menu'" class="navbar navbar-expand-lg navbar-light">
<div class="container">
- <router-link class="navbar-brand" to="/">
- <img :src="appUrl + themeDir + '/images/logo_' + mode + '.png'" :alt="appName">
- </router-link>
+ <router-link class="navbar-brand" to="/" v-html="$root.logo(mode)"></router-link>
<button v-if="mode == 'header'" class="navbar-toggler" type="button"
data-toggle="collapse" :data-target="'#' + mode + '-menu-navbar'"
aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"
@@ -51,13 +49,6 @@
mode: { type: String, default: 'header' },
footer: { type: String, default: '' }
},
- data() {
- return {
- appName: window.config['app.name'],
- appUrl: window.config['app.url'],
- themeDir: '/themes/' + window.config['app.theme']
- }
- },
computed: {
loggedIn() { return this.$store.state.isLoggedIn },
route() { return this.$route.name }
diff --git a/src/tests/Browser/Components/Menu.php b/src/tests/Browser/Components/Menu.php
--- a/src/tests/Browser/Components/Menu.php
+++ b/src/tests/Browser/Components/Menu.php
@@ -53,7 +53,7 @@
public function assertMenuItems($browser, array $items, string $active = null)
{
// On mobile the links are not visible, show them first (wait for transition)
- if ($browser->isPhone()) {
+ if (!$browser->isDesktop()) {
$browser->click('@toggler')->waitFor('.navbar-collapse.show');
}
@@ -68,7 +68,7 @@
$browser->assertPresent(".link-{$active}.active");
}
- if ($browser->isPhone()) {
+ if (!$browser->isDesktop()) {
$browser->click('@toggler')->waitUntilMissing('.navbar-collapse.show');
}
}
diff --git a/src/tests/Browser/Meet/RoomSetupTest.php b/src/tests/Browser/Meet/RoomSetupTest.php
--- a/src/tests/Browser/Meet/RoomSetupTest.php
+++ b/src/tests/Browser/Meet/RoomSetupTest.php
@@ -149,7 +149,17 @@
->assertVisible('@login-form')
->submitLogon('john@kolab.org', 'simple123')
->waitFor('@setup-form')
- ->assertMissing('@login-form')
+ ->within(new Menu(), function ($browser) {
+ $browser->assertMenuItems(['explore', 'blog', 'support', 'dashboard', 'logout']);
+ });
+
+ if ($browser->isDesktop()) {
+ $browser->within(new Menu('footer'), function ($browser) {
+ $browser->assertMenuItems(['explore', 'blog', 'support', 'tos', 'dashboard', 'logout']);
+ });
+ }
+
+ $browser->assertMissing('@login-form')
->waitUntilMissing('@setup-status-message.loading')
->waitFor('@setup-status-message')
->assertSeeIn('@setup-status-message', "The room is closed. It will be open for others after you join.")
@@ -170,14 +180,12 @@
->assertMissing('.status .status-audio')
->assertMissing('.status .status-video');
})
- ->within(new Menu(), function ($browser) {
- $browser->assertMenuItems(['explore', 'blog', 'support', 'dashboard', 'logout']);
- });
+ ->assertMissing('#header-menu');
- if ($browser->isDesktop()) {
- $browser->within(new Menu('footer'), function ($browser) {
- $browser->assertMenuItems(['explore', 'blog', 'support', 'tos', 'dashboard', 'logout']);
- });
+ if (!$browser->isPhone()) {
+ $browser->assertMissing('#footer-menu');
+ } else {
+ $browser->assertVisible('#footer-menu');
}
// After the owner "opened the room" guest should be able to join
@@ -205,16 +213,7 @@
->assertMissing('.status .status-audio')
->assertMissing('.status .status-video');
})
- ->assertElementsCount('@session div.meet-video', 2)
- ->within(new Menu(), function ($browser) {
- $browser->assertMenuItems(['explore', 'blog', 'support', 'signup', 'login']);
- });
-
- if ($guest->isDesktop()) {
- $guest->within(new Menu('footer'), function ($browser) {
- $browser->assertMenuItems(['explore', 'blog', 'support', 'tos', 'signup', 'login']);
- });
- }
+ ->assertElementsCount('@session div.meet-video', 2);
// Check guest's elements in the owner's window
$browser
@@ -233,7 +232,8 @@
// Guest is leaving
$guest->click('@menu button.link-logout')
- ->waitForLocation('/login');
+ ->waitForLocation('/login')
+ ->assertVisible('#header-menu');
// Expect the participant removed from other users windows
$browser->waitUntilMissing('@session div.meet-video:not(.self)');
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Apr 3, 9:03 PM (20 h, 20 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18824799
Default Alt Text
D2305.1775250182.diff (10 KB)
Attached To
Mode
D2305: Meet: Remove header/footer in the room
Attached
Detach File
Event Timeline