Position buttons better in settings

This commit is contained in:
Cadence Ember 2020-03-28 00:37:54 +13:00
parent bd0e9af7ff
commit 6ca7f7e4ec
No known key found for this signature in database
GPG Key ID: 128B99B1B74A6412
13 changed files with 218 additions and 220 deletions

View File

@ -24,8 +24,8 @@
.select { .select {
position: relative; position: relative;
width: 200px; width: 200px;
padding: 10px 10px 10px 0; padding: 0px 10px 10px 0;
margin-top: 10px; margin-top: 30px;
} }
.select-text { .select-text {
@ -57,8 +57,8 @@
.iconSelect { .iconSelect {
position: absolute; position: absolute;
top: 18px; top: 10px;
right: 10px; right: 15px;
/* Styling the down arrow */ /* Styling the down arrow */
padding: 0; padding: 0;
content: ''; content: '';

View File

@ -10,6 +10,7 @@
font-size: 16px; font-size: 16px;
line-height: 1.5; line-height: 1.5;
padding: 5px; padding: 5px;
margin: 12px 8px;
} }
/* Input */ /* Input */

View File

@ -1,74 +0,0 @@
/* Thanks to Guus Lieben for the Material Design Switch */
.switch-input {
display: none;
}
.switch-label {
position: relative;
display: inline-block;
min-width: 112px;
cursor: pointer;
font-weight: 500;
text-align: left;
margin: 16px;
padding: 16px 0 16px 44px;
}
.switch-label:before,
.switch-label:after {
content: "";
position: absolute;
margin: 0;
outline: 0;
top: 50%;
-ms-transform: translate(0, -50%);
-webkit-transform: translate(0, -50%);
transform: translate(0, -50%);
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}
.switch-label:before {
left: 1px;
width: 34px;
height: 14px;
background-color: #9E9E9E;
border-radius: 8px;
}
.switch-label:after {
left: 0;
width: 20px;
height: 20px;
background-color: #FAFAFA;
border-radius: 50%;
box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
}
.switch-label .toggle--on {
display: none;
}
.switch-label .toggle--off {
display: inline-block;
}
.switch-input:checked+.switch-label:before {
background-color: var(--accent-color-light);
}
.switch-input:checked+.switch-label:after {
background-color: var(--accent-color);
-ms-transform: translate(80%, -50%);
-webkit-transform: translate(80%, -50%);
transform: translate(80%, -50%);
}
.switch-input:checked+.switch-label .toggle--on {
display: inline-block;
}
.switch-input:checked+.switch-label .toggle--off {
display: none;
}

View File

@ -10,6 +10,10 @@ export default Vue.extend({
defaultValue: { defaultValue: {
type: Boolean, type: Boolean,
default: false default: false
},
compact: {
type: Boolean,
default: false
} }
}, },
data: function () { data: function () {

View File

@ -0,0 +1,68 @@
/* Thanks to Guus Lieben for the Material Design Switch */
.switch-input
display: none
.switch-label
position: relative
display: inline-block
min-width: 112px
cursor: pointer
font-weight: 500
text-align: left
margin: 16px
padding: 16px 0 16px 44px
&.compact
padding: 12px 0 12px 44px
margin: 0px
.switch-label:before,
.switch-label:after
content: ""
position: absolute
margin: 0
outline: 0
top: 50%
-ms-transform: translate(0, -50%)
-webkit-transform: translate(0, -50%)
transform: translate(0, -50%)
-webkit-transition: all 0.3s ease
transition: all 0.3s ease
.switch-label:before
left: 1px
width: 34px
height: 14px
background-color: #9E9E9E
border-radius: 8px
.switch-label:after
left: 0
width: 20px
height: 20px
background-color: #FAFAFA
border-radius: 50%
box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084)
.switch-label .toggle--on
display: none
.switch-label .toggle--off
display: inline-block
.switch-input:checked+.switch-label:before
background-color: var(--accent-color-light)
.switch-input:checked+.switch-label:after
background-color: var(--accent-color)
-ms-transform: translate(80%, -50%)
-webkit-transform: translate(80%, -50%)
transform: translate(80%, -50%)
.switch-input:checked+.switch-label .toggle--on
display: inline-block
.switch-input:checked+.switch-label .toggle--off
display: none

View File

@ -11,7 +11,7 @@
> >
<label <label
:for="id" :for="id"
class="switch-label" :class='(compact ? "compact " : "")+"switch-label"'
> >
{{ label }} {{ label }}
</label> </label>
@ -19,4 +19,4 @@
</template> </template>
<script src="./ft-toggle-switch.js" /> <script src="./ft-toggle-switch.js" />
<style scoped src="./ft-toggle-switch.css" /> <style scoped lang="sass" src="./ft-toggle-switch.sass" />

View File

@ -1,21 +0,0 @@
.relative {
position: relative;
}
.card {
width: 85%;
margin: 0 auto;
margin-bottom: 10px;
}
@media only screen and (max-width: 680px) {
.card {
width: 90%;
}
}
@media only screen and (max-width: 460px) {
.generalSettingsFlexBox {
justify-content: flex-start;
}
}

View File

@ -0,0 +1 @@
@use "../../sass-partials/settings"

View File

@ -1,6 +1,6 @@
<template> <template>
<ft-card <ft-card
class="relative card"> class="card">
<h3 <h3
class="videoTitle" class="videoTitle"
> >
@ -9,17 +9,18 @@
<ft-flex-box class="generalSettingsFlexBox"> <ft-flex-box class="generalSettingsFlexBox">
<ft-toggle-switch <ft-toggle-switch
label="Fallback to Non-Preferred Backend on Failure" label="Fallback to Non-Preferred Backend on Failure"
:compact=true
:default-value="backendFallback" :default-value="backendFallback"
@change="updateBackendFallback" @change="updateBackendFallback"
/> />
<ft-toggle-switch <ft-toggle-switch
label="Check for Updates" label="Check for Updates"
:compact=true
:default-value="checkForUpdates" :default-value="checkForUpdates"
@change="updateCheckForUpdates" @change="updateCheckForUpdates"
/> />
</ft-flex-box> </ft-flex-box>
<br> <div class="switchGrid">
<ft-flex-box>
<ft-select <ft-select
placeholder="Preferred API Backend" placeholder="Preferred API Backend"
:value="backendPreference" :value="backendPreference"
@ -55,9 +56,9 @@
:select-values="thumbnailTypeValues" :select-values="thumbnailTypeValues"
@change="updateThumbnailPreference" @change="updateThumbnailPreference"
/> />
</ft-flex-box> </div>
</ft-card> </ft-card>
</template> </template>
<script src="./general-settings.js" /> <script src="./general-settings.js" />
<style scoped src="./general-settings.css" /> <style scoped lang="sass" src="./general-settings.sass" />

View File

@ -1,21 +0,0 @@
.relative {
position: relative;
}
.card {
width: 85%;
margin: 0 auto;
margin-bottom: 10px;
}
@media only screen and (max-width: 680px) {
.card {
width: 90%;
}
}
@media only screen and (max-width: 460px) {
.playerSettingsFlexBox {
justify-content: flex-start;
}
}

View File

@ -0,0 +1 @@
@use "../../sass-partials/settings"

View File

@ -6,44 +6,54 @@
> >
{{ title }} {{ title }}
</h3> </h3>
<ft-flex-box class="playerSettingsFlexBox"> <div class="switchColumnGrid">
<div class="switchColumn">
<ft-toggle-switch <ft-toggle-switch
label="Remember History" label="Remember History"
:compact=true
:default-value="rememberHistory" :default-value="rememberHistory"
@change="updateRememberHistory" @change="updateRememberHistory"
/> />
<ft-toggle-switch
label="Autoplay Videos"
:default-value="autoplayVideos"
@change="updateAutoplayVideos"
/>
<ft-toggle-switch
label="Autoplay Playlists"
:default-value="autoplayPlaylists"
@change="updateAutoplayPlaylists"
/>
<ft-toggle-switch
label="Play Next Video"
:default-value="playNextVideo"
@change="updatePlayNextVideo"
/>
<ft-toggle-switch <ft-toggle-switch
label="Enable Subtitles by Default" label="Enable Subtitles by Default"
:compact=true
:default-value="enableSubtitles" :default-value="enableSubtitles"
@change="updateEnableSubtitles" @change="updateEnableSubtitles"
/> />
<ft-toggle-switch <ft-toggle-switch
label="Force Local Backend for Legacy Formats" label="Force Local Backend for Legacy Formats"
:compact=true
:default-value="forceLocalBackendForLegacy" :default-value="forceLocalBackendForLegacy"
@change="updateForceLocalBackendForLegacy" @change="updateForceLocalBackendForLegacy"
/> />
<ft-toggle-switch <ft-toggle-switch
label="Proxy Videos Through Invidious" label="Proxy Videos Through Invidious"
:compact=true
:default-value="proxyVideos" :default-value="proxyVideos"
@change="updateProxyVideos" @change="updateProxyVideos"
/> />
</ft-flex-box> </div>
<br> <div class="switchColumn">
<ft-toggle-switch
label="Autoplay Videos"
:compact=true
:default-value="autoplayVideos"
@change="updateAutoplayVideos"
/>
<ft-toggle-switch
label="Autoplay Playlists"
:compact=true
:default-value="autoplayPlaylists"
@change="updateAutoplayPlaylists"
/>
<ft-toggle-switch
label="Play Next Video"
:compact=true
:default-value="playNextVideo"
@change="updatePlayNextVideo"
/>
</div>
</div>
<ft-flex-box> <ft-flex-box>
<ft-slider <ft-slider
label="Default Volume" label="Default Volume"
@ -64,7 +74,6 @@
@change="updateDefaultPlayback" @change="updateDefaultPlayback"
/> />
</ft-flex-box> </ft-flex-box>
<br>
<ft-flex-box> <ft-flex-box>
<ft-select <ft-select
placeholder="Default Video Format" placeholder="Default Video Format"
@ -85,4 +94,4 @@
</template> </template>
<script src="./player-settings.js" /> <script src="./player-settings.js" />
<style scoped src="./player-settings.css" /> <style scoped lang="sass" src="./player-settings.sass" />

View File

@ -0,0 +1,29 @@
.switchGrid
display: grid
grid-template-columns: auto auto
justify-content: space-evenly
align-items: center
@media only screen and (max-width: 680px)
grid-template-columns: auto
.switchColumnGrid
@extend .switchGrid
align-items: start
.switchColumn
display: flex
flex-direction: column
justify-items: start
.card
width: 85%
margin: 0 auto
margin-bottom: 10px
@media only screen and (max-width: 680px)
width: 90%
@media only screen and (max-width: 460px)
.generalSettingsFlexBox, .playerSettingsFlexBox
justify-content: flex-start