Add a settings section component to reduce duplicate code (#2609)
This commit is contained in:
parent
1512178489
commit
63946f7561
|
@ -1,4 +1,5 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import { mapActions, mapMutations } from 'vuex'
|
import { mapActions, mapMutations } from 'vuex'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtButton from '../ft-button/ft-button.vue'
|
import FtButton from '../ft-button/ft-button.vue'
|
||||||
|
@ -16,6 +17,7 @@ import ytch from 'yt-channel-info'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'DataSettings',
|
name: 'DataSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-button': FtButton,
|
'ft-button': FtButton,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Data Settings.Data Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Data Settings.Data Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<ft-flex-box>
|
<ft-flex-box>
|
||||||
<ft-button
|
<ft-button
|
||||||
:label="$t('Settings.Data Settings.Import Subscriptions')"
|
:label="$t('Settings.Data Settings.Import Subscriptions')"
|
||||||
|
@ -69,8 +65,7 @@
|
||||||
:option-values="subscriptionsPromptValues"
|
:option-values="subscriptionsPromptValues"
|
||||||
@click="exportSubscriptions"
|
@click="exportSubscriptions"
|
||||||
/>
|
/>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./data-settings.js" />
|
<script src="./data-settings.js" />
|
||||||
<style scoped lang="sass" src="./data-settings.sass" />
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
import FtButton from '../ft-button/ft-button.vue'
|
import FtButton from '../ft-button/ft-button.vue'
|
||||||
|
@ -9,6 +10,7 @@ import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'PlayerSettings',
|
name: 'PlayerSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
'ft-button': FtButton,
|
'ft-button': FtButton,
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Distraction Free Settings.Distraction Free Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Distraction Free Settings.Distraction Free Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<div class="switchColumnGrid">
|
<div class="switchColumnGrid">
|
||||||
<div class="switchColumn">
|
<div class="switchColumn">
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
|
@ -96,25 +92,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
</ft-settings-section>
|
||||||
<ft-flex-box>
|
|
||||||
<ft-select
|
|
||||||
v-if="false"
|
|
||||||
placeholder="Distraction View Type"
|
|
||||||
:value="viewValues[0]"
|
|
||||||
:select-names="viewNames"
|
|
||||||
:select-values="viewValues"
|
|
||||||
/>
|
|
||||||
</ft-flex-box>
|
|
||||||
<br>
|
|
||||||
<ft-flex-box>
|
|
||||||
<ft-button
|
|
||||||
v-if="false"
|
|
||||||
label="Manage My Distractions"
|
|
||||||
/>
|
|
||||||
</ft-flex-box>
|
|
||||||
</details>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./distraction-settings.js" />
|
<script src="./distraction-settings.js" />
|
||||||
<style scoped lang="sass" src="./distraction-settings.sass" />
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
import FtSelect from '../ft-select/ft-select.vue'
|
import FtSelect from '../ft-select/ft-select.vue'
|
||||||
|
@ -11,6 +12,7 @@ import { IpcChannels } from '../../../constants'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'DownloadSettings',
|
name: 'DownloadSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
'ft-flex-box': FtFlexBox,
|
'ft-flex-box': FtFlexBox,
|
||||||
'ft-select': FtSelect,
|
'ft-select': FtSelect,
|
||||||
|
|
|
@ -1,8 +1,2 @@
|
||||||
@use "../../sass-partials/settings"
|
|
||||||
|
|
||||||
@media only screen and (max-width: 500px)
|
|
||||||
.downloadSettingsFlexBox
|
|
||||||
justify-content: flex-start
|
|
||||||
|
|
||||||
.folderDisplay
|
.folderDisplay
|
||||||
width: 50vh
|
width: 50vh
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Download Settings.Download Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Download Settings.Download Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<ft-flex-box>
|
<ft-flex-box>
|
||||||
<ft-select
|
<ft-select
|
||||||
:placeholder="$t('Settings.Download Settings.Download Behavior')"
|
:placeholder="$t('Settings.Download Settings.Download Behavior')"
|
||||||
|
@ -17,7 +13,7 @@
|
||||||
</ft-flex-box>
|
</ft-flex-box>
|
||||||
<ft-flex-box
|
<ft-flex-box
|
||||||
v-if="downloadBehavior === 'download'"
|
v-if="downloadBehavior === 'download'"
|
||||||
class="downloadSettingsFlexBox"
|
class="settingsFlexStart500px"
|
||||||
>
|
>
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
:label="$t('Settings.Download Settings.Ask Download Path')"
|
:label="$t('Settings.Download Settings.Ask Download Path')"
|
||||||
|
@ -44,7 +40,7 @@
|
||||||
@click="chooseDownloadingFolder"
|
@click="chooseDownloadingFolder"
|
||||||
/>
|
/>
|
||||||
</ft-flex-box>
|
</ft-flex-box>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./download-settings.js" />
|
<script src="./download-settings.js" />
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtSelect from '../ft-select/ft-select.vue'
|
import FtSelect from '../ft-select/ft-select.vue'
|
||||||
import FtInput from '../ft-input/ft-input.vue'
|
import FtInput from '../ft-input/ft-input.vue'
|
||||||
|
@ -9,6 +10,7 @@ import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'ExternalPlayerSettings',
|
name: 'ExternalPlayerSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-select': FtSelect,
|
'ft-select': FtSelect,
|
||||||
'ft-input': FtInput,
|
'ft-input': FtInput,
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.External Player Settings.External Player Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.External Player Settings.External Player Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<div class="switchColumnGrid">
|
<div class="switchColumnGrid">
|
||||||
<div class="switchColumn">
|
<div class="switchColumn">
|
||||||
<ft-select
|
<ft-select
|
||||||
|
@ -30,7 +26,7 @@
|
||||||
</div>
|
</div>
|
||||||
<ft-flex-box
|
<ft-flex-box
|
||||||
v-if="externalPlayer !== ''"
|
v-if="externalPlayer !== ''"
|
||||||
class="externalPlayerSettingsFlexBox"
|
class="settingsFlexStart460px"
|
||||||
>
|
>
|
||||||
<ft-input
|
<ft-input
|
||||||
:placeholder="$t('Settings.External Player Settings.Custom External Player Executable')"
|
:placeholder="$t('Settings.External Player Settings.Custom External Player Executable')"
|
||||||
|
@ -49,8 +45,7 @@
|
||||||
@input="updateExternalPlayerCustomArgs"
|
@input="updateExternalPlayerCustomArgs"
|
||||||
/>
|
/>
|
||||||
</ft-flex-box>
|
</ft-flex-box>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./external-player-settings.js" />
|
<script src="./external-player-settings.js" />
|
||||||
<style scoped lang="sass" src="./external-player-settings.sass" />
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
import Vue from 'vue'
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
name: 'FtSettingsSection',
|
||||||
|
props: {
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -1,4 +1,30 @@
|
||||||
.switchGrid
|
.settingsSection
|
||||||
|
background-color: var(--card-bg-color)
|
||||||
|
width: 85%
|
||||||
|
margin: 0 auto
|
||||||
|
|
||||||
|
&[open]
|
||||||
|
padding-bottom: 15px
|
||||||
|
|
||||||
|
@media only screen and (max-width: 680px)
|
||||||
|
width: 90%
|
||||||
|
|
||||||
|
.sectionLine
|
||||||
|
width: 100%
|
||||||
|
height: 2px
|
||||||
|
border: 0
|
||||||
|
margin-top: -1px
|
||||||
|
background-color: var(--primary-color)
|
||||||
|
|
||||||
|
.sectionHeader
|
||||||
|
display: block
|
||||||
|
cursor: pointer
|
||||||
|
padding: 1px
|
||||||
|
|
||||||
|
.sectionTitle
|
||||||
|
margin-left: 2%
|
||||||
|
|
||||||
|
:deep(.switchGrid)
|
||||||
display: grid
|
display: grid
|
||||||
grid-template-columns: auto auto
|
grid-template-columns: auto auto
|
||||||
justify-content: space-evenly
|
justify-content: space-evenly
|
||||||
|
@ -7,44 +33,22 @@
|
||||||
@media only screen and (max-width: 680px)
|
@media only screen and (max-width: 680px)
|
||||||
grid-template-columns: auto
|
grid-template-columns: auto
|
||||||
|
|
||||||
.switchColumnGrid
|
:deep(.switchColumnGrid)
|
||||||
@extend .switchGrid
|
@extend :deep(.switchGrid)
|
||||||
align-items: start
|
align-items: start
|
||||||
|
|
||||||
.switchColumn
|
:deep(.switchColumn)
|
||||||
display: flex
|
display: flex
|
||||||
flex-direction: column
|
flex-direction: column
|
||||||
justify-items: start
|
justify-items: start
|
||||||
|
|
||||||
details
|
:deep(.center)
|
||||||
background-color: var(--card-bg-color)
|
|
||||||
width: 85%
|
|
||||||
margin: 0 auto
|
|
||||||
|
|
||||||
&[open]
|
|
||||||
padding-bottom: 15px
|
|
||||||
|
|
||||||
hr
|
|
||||||
width: 100%
|
|
||||||
height: 2px
|
|
||||||
border: 0
|
|
||||||
margin-top: -1px
|
|
||||||
background-color: var(--primary-color)
|
|
||||||
|
|
||||||
summary
|
|
||||||
display: block
|
|
||||||
cursor: pointer
|
|
||||||
padding: 1px 1px 1px 1px
|
|
||||||
|
|
||||||
h3
|
|
||||||
margin-left: 2%
|
|
||||||
|
|
||||||
@media only screen and (max-width: 680px)
|
|
||||||
width: 90%
|
|
||||||
|
|
||||||
.center
|
|
||||||
text-align: center
|
text-align: center
|
||||||
|
|
||||||
@media only screen and (max-width: 460px)
|
@media only screen and (max-width: 460px)
|
||||||
.generalSettingsFlexBox, .playerSettingsFlexBox, .externalPlayerSettingsFlexBox
|
:deep(.settingsFlexStart460px)
|
||||||
|
justify-content: flex-start
|
||||||
|
|
||||||
|
@media only screen and (max-width: 500px)
|
||||||
|
:deep(.settingsFlexStart500px)
|
||||||
justify-content: flex-start
|
justify-content: flex-start
|
|
@ -0,0 +1,14 @@
|
||||||
|
<template>
|
||||||
|
<details class="settingsSection">
|
||||||
|
<summary class="sectionHeader">
|
||||||
|
<h3 class="sectionTitle">
|
||||||
|
{{ title }}
|
||||||
|
</h3>
|
||||||
|
</summary>
|
||||||
|
<hr class="sectionLine">
|
||||||
|
<slot />
|
||||||
|
</details>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script src="./ft-settings-section.js" />
|
||||||
|
<style scoped src="./ft-settings-section.sass" lang="sass" />
|
|
@ -1,4 +1,3 @@
|
||||||
@use "../../sass-partials/settings"
|
|
||||||
.sponsorBlockCategory
|
.sponsorBlockCategory
|
||||||
margin-top: 30px
|
margin-top: 30px
|
||||||
padding: 0 10px
|
padding: 0 10px
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions, mapMutations } from 'vuex'
|
import { mapActions, mapMutations } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtSelect from '../ft-select/ft-select.vue'
|
import FtSelect from '../ft-select/ft-select.vue'
|
||||||
import FtInput from '../ft-input/ft-input.vue'
|
import FtInput from '../ft-input/ft-input.vue'
|
||||||
|
@ -12,6 +13,7 @@ import debounce from 'lodash.debounce'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'GeneralSettings',
|
name: 'GeneralSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-select': FtSelect,
|
'ft-select': FtSelect,
|
||||||
'ft-input': FtInput,
|
'ft-input': FtInput,
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
@use "../../sass-partials/settings"
|
|
||||||
|
|
||||||
.select
|
.select
|
||||||
min-width: 240px
|
min-width: 240px
|
||||||
width: auto
|
width: auto
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.General Settings.General Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.General Settings.General Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<div class="switchColumnGrid">
|
<div class="switchColumnGrid">
|
||||||
<div class="switchColumn">
|
<div class="switchColumn">
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
|
@ -96,7 +92,7 @@
|
||||||
<div
|
<div
|
||||||
v-if="backendPreference === 'invidious' || backendFallback"
|
v-if="backendPreference === 'invidious' || backendFallback"
|
||||||
>
|
>
|
||||||
<ft-flex-box class="generalSettingsFlexBox">
|
<ft-flex-box class="settingsFlexStart460px">
|
||||||
<ft-input
|
<ft-input
|
||||||
:placeholder="$t('Settings.General Settings.Current Invidious Instance')"
|
:placeholder="$t('Settings.General Settings.Current Invidious Instance')"
|
||||||
:show-action-button="false"
|
:show-action-button="false"
|
||||||
|
@ -141,7 +137,7 @@
|
||||||
/>
|
/>
|
||||||
</ft-flex-box>
|
</ft-flex-box>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./general-settings.js" />
|
<script src="./general-settings.js" />
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
import FtButton from '../ft-button/ft-button.vue'
|
import FtButton from '../ft-button/ft-button.vue'
|
||||||
|
@ -9,6 +10,7 @@ import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'ParentalControlSettings',
|
name: 'ParentalControlSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
'ft-button': FtButton,
|
'ft-button': FtButton,
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Parental Control Settings.Parental Control Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Parental Control Settings.Parental Control Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<div class="switchColumnGrid">
|
<div class="switchColumnGrid">
|
||||||
<div class="switchColumn">
|
<div class="switchColumn">
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
|
@ -30,8 +26,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./parental-control-settings.js" />
|
<script src="./parental-control-settings.js" />
|
||||||
<style scoped lang="sass" src="./parental-control-settings.sass" />
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtSelect from '../ft-select/ft-select.vue'
|
import FtSelect from '../ft-select/ft-select.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
|
@ -15,6 +16,7 @@ import path from 'path'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'PlayerSettings',
|
name: 'PlayerSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-select': FtSelect,
|
'ft-select': FtSelect,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
@use "../../sass-partials/settings"
|
|
||||||
|
|
||||||
.screenshotFolderContainer
|
.screenshotFolderContainer
|
||||||
width: 95%
|
width: 95%
|
||||||
margin: 0 auto
|
margin: 0 auto
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Player Settings.Player Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Player Settings.Player Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<div class="switchColumnGrid">
|
<div class="switchColumnGrid">
|
||||||
<div class="switchColumn">
|
<div class="switchColumn">
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
|
@ -231,7 +227,7 @@
|
||||||
/>
|
/>
|
||||||
</ft-flex-box>
|
</ft-flex-box>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./player-settings.js" />
|
<script src="./player-settings.js" />
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtButton from '../ft-button/ft-button.vue'
|
import FtButton from '../ft-button/ft-button.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
|
@ -10,6 +11,7 @@ import { MAIN_PROFILE_ID } from '../../../constants'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'PrivacySettings',
|
name: 'PrivacySettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-button': FtButton,
|
'ft-button': FtButton,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Privacy Settings.Privacy Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Privacy Settings.Privacy Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<div class="switchColumnGrid">
|
<div class="switchColumnGrid">
|
||||||
<div class="switchColumn">
|
<div class="switchColumn">
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
|
@ -76,8 +72,7 @@
|
||||||
:option-values="promptValues"
|
:option-values="promptValues"
|
||||||
@click="handleRemoveSubscriptions"
|
@click="handleRemoveSubscriptions"
|
||||||
/>
|
/>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./privacy-settings.js" />
|
<script src="./privacy-settings.js" />
|
||||||
<style scoped lang="sass" src="./privacy-settings.sass" />
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
import FtButton from '../ft-button/ft-button.vue'
|
import FtButton from '../ft-button/ft-button.vue'
|
||||||
|
@ -18,6 +19,7 @@ import { IpcChannels } from '../../../constants'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'ProxySettings',
|
name: 'ProxySettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
'ft-button': FtButton,
|
'ft-button': FtButton,
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
||||||
|
|
||||||
@media only screen and (max-width: 500px)
|
|
||||||
.subscriptionSettingsFlexBox
|
|
||||||
justify-content: flex-start
|
|
|
@ -1,12 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Proxy Settings.Proxy Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Proxy Settings.Proxy Settings") }}
|
<ft-flex-box class="settingsFlexStart500px">
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<ft-flex-box class="subscriptionSettingsFlexBox">
|
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
:label="$t('Settings.Proxy Settings.Enable Tor / Proxy')"
|
:label="$t('Settings.Proxy Settings.Enable Tor / Proxy')"
|
||||||
:default-value="useProxy"
|
:default-value="useProxy"
|
||||||
|
@ -77,8 +73,7 @@
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./proxy-settings.js" />
|
<script src="./proxy-settings.js" />
|
||||||
<style scoped lang="sass" src="./proxy-settings.sass" />
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
import FtInput from '../ft-input/ft-input.vue'
|
import FtInput from '../ft-input/ft-input.vue'
|
||||||
|
@ -9,6 +10,7 @@ import FtSponsorBlockCategory from '../ft-sponsor-block-category/ft-sponsor-bloc
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'SponsorBlockSettings',
|
name: 'SponsorBlockSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
'ft-input': FtInput,
|
'ft-input': FtInput,
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
||||||
|
|
||||||
@media only screen and (max-width: 500px)
|
|
||||||
.sponsorBlockSettingsFlexBox
|
|
||||||
justify-content: flex-start
|
|
|
@ -1,12 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.SponsorBlock Settings.SponsorBlock Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.SponsorBlock Settings.SponsorBlock Settings") }}
|
<ft-flex-box class="settingsFlexStart500px">
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<ft-flex-box class="sponsorBlockSettingsFlexBox">
|
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
:label="$t('Settings.SponsorBlock Settings.Enable SponsorBlock')"
|
:label="$t('Settings.SponsorBlock Settings.Enable SponsorBlock')"
|
||||||
:default-value="useSponsorBlock"
|
:default-value="useSponsorBlock"
|
||||||
|
@ -16,7 +12,7 @@
|
||||||
<div
|
<div
|
||||||
v-if="useSponsorBlock"
|
v-if="useSponsorBlock"
|
||||||
>
|
>
|
||||||
<ft-flex-box class="sponsorBlockSettingsFlexBox">
|
<ft-flex-box class="settingsFlexStart500px">
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
:label="$t('Settings.SponsorBlock Settings.Notify when sponsor segment is skipped')"
|
:label="$t('Settings.SponsorBlock Settings.Notify when sponsor segment is skipped')"
|
||||||
:default-value="sponsorBlockShowSkippedToast"
|
:default-value="sponsorBlockShowSkippedToast"
|
||||||
|
@ -40,8 +36,7 @@
|
||||||
/>
|
/>
|
||||||
</ft-flex-box>
|
</ft-flex-box>
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./sponsor-block-settings.js" />
|
<script src="./sponsor-block-settings.js" />
|
||||||
<style scoped lang="sass" src="./sponsor-block-settings.sass" />
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'SubscriptionSettings',
|
name: 'SubscriptionSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
'ft-flex-box': FtFlexBox
|
'ft-flex-box': FtFlexBox
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
||||||
|
|
||||||
@media only screen and (max-width: 500px)
|
|
||||||
.subscriptionSettingsFlexBox
|
|
||||||
justify-content: flex-start
|
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Subscription Settings.Subscription Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Subscription Settings.Subscription Settings") }}
|
<ft-flex-box class="settingsFlexStart500px">
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<ft-flex-box class="subscriptionSettingsFlexBox">
|
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
:label="$t('Settings.Subscription Settings.Hide Videos on Watch')"
|
:label="$t('Settings.Subscription Settings.Hide Videos on Watch')"
|
||||||
:default-value="hideWatchedSubs"
|
:default-value="hideWatchedSubs"
|
||||||
|
@ -19,8 +15,7 @@
|
||||||
@change="updateUseRssFeeds"
|
@change="updateUseRssFeeds"
|
||||||
/>
|
/>
|
||||||
</ft-flex-box>
|
</ft-flex-box>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./subscription-settings.js" />
|
<script src="./subscription-settings.js" />
|
||||||
<style scoped lang="sass" src="./subscription-settings.sass" />
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { mapActions } from 'vuex'
|
import { mapActions } from 'vuex'
|
||||||
|
import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
|
||||||
import FtCard from '../ft-card/ft-card.vue'
|
import FtCard from '../ft-card/ft-card.vue'
|
||||||
import FtSelect from '../ft-select/ft-select.vue'
|
import FtSelect from '../ft-select/ft-select.vue'
|
||||||
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
||||||
|
@ -10,6 +11,7 @@ import FtPrompt from '../ft-prompt/ft-prompt.vue'
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
name: 'ThemeSettings',
|
name: 'ThemeSettings',
|
||||||
components: {
|
components: {
|
||||||
|
'ft-settings-section': FtSettingsSection,
|
||||||
'ft-card': FtCard,
|
'ft-card': FtCard,
|
||||||
'ft-select': FtSelect,
|
'ft-select': FtSelect,
|
||||||
'ft-toggle-switch': FtToggleSwitch,
|
'ft-toggle-switch': FtToggleSwitch,
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
@use "../../sass-partials/settings"
|
|
|
@ -1,11 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<details>
|
<ft-settings-section
|
||||||
<summary>
|
:title="$t('Settings.Theme Settings.Theme Settings')"
|
||||||
<h3>
|
>
|
||||||
{{ $t("Settings.Theme Settings.Theme Settings") }}
|
|
||||||
</h3>
|
|
||||||
</summary>
|
|
||||||
<hr>
|
|
||||||
<ft-flex-box>
|
<ft-flex-box>
|
||||||
<ft-toggle-switch
|
<ft-toggle-switch
|
||||||
:label="$t('Settings.Theme Settings.Match Top Bar with Main Color')"
|
:label="$t('Settings.Theme Settings.Match Top Bar with Main Color')"
|
||||||
|
@ -70,8 +66,7 @@
|
||||||
:option-values="restartPromptValues"
|
:option-values="restartPromptValues"
|
||||||
@click="handleSmoothScrolling"
|
@click="handleSmoothScrolling"
|
||||||
/>
|
/>
|
||||||
</details>
|
</ft-settings-section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script src="./theme-settings.js" />
|
<script src="./theme-settings.js" />
|
||||||
<style scoped lang="sass" src="./theme-settings.sass" />
|
|
||||||
|
|
Loading…
Reference in New Issue