implements control shortcut on video overlay, re-styles the select dropdown

This commit is contained in:
alectrocute 2020-07-12 23:03:51 -07:00
parent 395e23a155
commit 1d0186aed2
2 changed files with 49 additions and 14 deletions

View File

@ -39,11 +39,7 @@
<span>{{ $t('setting.keyboard_layout') }}</span> <span>{{ $t('setting.keyboard_layout') }}</span>
<label class="select"> <label class="select">
<select v-model="keyboard_layout"> <select v-model="keyboard_layout">
<option <option v-for="(name, code) in keyboard_layouts_list" :key="code" :value="code">{{ name }}</option>
v-for="(name, code) in keyboard_layouts_list"
:key="code"
:value="code"
>{{ name }}</option>
</select> </select>
<span /> <span />
</label> </label>
@ -198,20 +194,33 @@
.select { .select {
max-width: 120px; max-width: 120px;
text-align: right;
select:hover {
border: 1px solid $background-secondary;
}
select { select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: block; display: block;
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
padding: 4px; height: 30px;
text-align: right;
padding: 0 5px 0 10px;
margin: 0; margin: 0;
line-height: 30px; line-height: 30px;
font-weight: bold; font-weight: bold;
border: 0; font-size: 12px;
border-radius: 12px; text-overflow: ellipsis;
border: 1px solid transparent;
color: black; border-radius: 5px;
background-color: $style-primary; color: white;
background-color: $background-tertiary;
font-weight: lighter;
cursor: pointer;
option { option {
font-weight: normal; font-weight: normal;

View File

@ -29,6 +29,12 @@
<ul v-if="!fullscreen" class="video-menu"> <ul v-if="!fullscreen" class="video-menu">
<li><i @click.stop.prevent="requestFullscreen" class="fas fa-expand"></i></li> <li><i @click.stop.prevent="requestFullscreen" class="fas fa-expand"></i></li>
<li v-if="admin"><i @click.stop.prevent="onResolution" class="fas fa-desktop"></i></li> <li v-if="admin"><i @click.stop.prevent="onResolution" class="fas fa-desktop"></i></li>
<li>
<i
:class="[hosted && !hosting ? 'disabled' : '', !hosted && !hosting ? 'faded' : '', 'fas', 'fa-keyboard']"
@click.stop.prevent="toggleControl"
/>
</li>
</ul> </ul>
<neko-resolution ref="resolution" /> <neko-resolution ref="resolution" />
</div> </div>
@ -64,6 +70,14 @@
text-align: center; text-align: center;
color: rgba($color: #fff, $alpha: 0.6); color: rgba($color: #fff, $alpha: 0.6);
cursor: pointer; cursor: pointer;
&.faded {
color: rgba($color: $text-normal, $alpha: 0.4);
}
&.disabled {
color: rgba($color: $style-error, $alpha: 0.4);
}
} }
} }
} }
@ -179,6 +193,10 @@
return this.$accessor.remote.hosting return this.$accessor.remote.hosting
} }
get hosted() {
return this.$accessor.remote.hosted
}
get volume() { get volume() {
return this.$accessor.video.volume return this.$accessor.video.volume
} }
@ -328,7 +346,7 @@
this.$accessor.video.setPlayable(false) this.$accessor.video.setPlayable(false)
}) })
this._video.addEventListener('error', event => { this._video.addEventListener('error', (event) => {
this.$log.error(event.error) this.$log.error(event.error)
this.$accessor.video.setPlayable(false) this.$accessor.video.setPlayable(false)
}) })
@ -374,7 +392,7 @@
.then(() => { .then(() => {
this.onResise() this.onResise()
}) })
.catch(err => this.$log.error) .catch((err) => this.$log.error)
} catch (err) { } catch (err) {
this.$log.error(err) this.$log.error(err)
} }
@ -400,6 +418,14 @@
} }
} }
toggleControl() {
if (!this.playable) {
return
}
this.$accessor.remote.toggle()
}
requestFullscreen() { requestFullscreen() {
this._player.requestFullscreen() this._player.requestFullscreen()
this.onResise() this.onResise()
@ -413,7 +439,7 @@
if (this.hosting && navigator.clipboard && typeof navigator.clipboard.readText === 'function') { if (this.hosting && navigator.clipboard && typeof navigator.clipboard.readText === 'function') {
navigator.clipboard navigator.clipboard
.readText() .readText()
.then(text => { .then((text) => {
if (this.clipboard !== text) { if (this.clipboard !== text) {
this.$accessor.remote.setClipboard(text) this.$accessor.remote.setClipboard(text)
this.$accessor.remote.sendClipboard(text) this.$accessor.remote.sendClipboard(text)