2017-01-16 17:57:03 +00:00
|
|
|
<template>
|
2017-11-17 15:24:42 +00:00
|
|
|
<div>
|
2017-11-18 11:13:51 +00:00
|
|
|
<p>{{$t('settings.presets')}}</p>
|
2017-11-17 15:24:42 +00:00
|
|
|
<select v-model="selected" class="style-switcher">
|
|
|
|
<option v-for="style in availableStyles" :value="style">{{style[0]}}</option>
|
|
|
|
</select>
|
2017-11-18 11:13:51 +00:00
|
|
|
<p>{{$t('settings.theme_help')}}</p>
|
2017-11-17 15:24:42 +00:00
|
|
|
<div class="color-container">
|
|
|
|
<div class="color-item">
|
2018-03-31 18:14:36 +00:00
|
|
|
<label for="bgcolor" class="theme-color-lb">{{$t('settings.background')}}</label>
|
2018-02-03 19:23:38 +00:00
|
|
|
<input id="bgcolor" class="theme-color-cl" type="color" v-model="bgColorLocal">
|
|
|
|
<input id="bgcolor-t" class="theme-color-in" type="text" v-model="bgColorLocal">
|
2017-11-17 15:24:42 +00:00
|
|
|
</div>
|
|
|
|
<div class="color-item">
|
2018-03-31 18:14:36 +00:00
|
|
|
<label for="fgcolor" class="theme-color-lb">{{$t('settings.foreground')}}</label>
|
2018-02-03 19:23:38 +00:00
|
|
|
<input id="fgcolor" class="theme-color-cl" type="color" v-model="fgColorLocal">
|
|
|
|
<input id="fgcolor-t" class="theme-color-in" type="text" v-model="fgColorLocal">
|
2017-11-17 15:24:42 +00:00
|
|
|
</div>
|
|
|
|
<div class="color-item">
|
2018-03-31 18:14:36 +00:00
|
|
|
<label for="textcolor" class="theme-color-lb">{{$t('settings.text')}}</label>
|
2018-02-03 19:23:38 +00:00
|
|
|
<input id="textcolor" class="theme-color-cl" type="color" v-model="textColorLocal">
|
|
|
|
<input id="textcolor-t" class="theme-color-in" type="text" v-model="textColorLocal">
|
2017-11-17 15:24:42 +00:00
|
|
|
</div>
|
|
|
|
<div class="color-item">
|
2018-03-31 18:14:36 +00:00
|
|
|
<label for="linkcolor" class="theme-color-lb">{{$t('settings.links')}}</label>
|
2018-02-03 19:23:38 +00:00
|
|
|
<input id="linkcolor" class="theme-color-cl" type="color" v-model="linkColorLocal">
|
|
|
|
<input id="linkcolor-t" class="theme-color-in" type="text" v-model="linkColorLocal">
|
2017-11-17 15:24:42 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<div class="panel">
|
|
|
|
<div class="panel-heading" :style="{ 'background-color': fgColorLocal, 'color': textColorLocal }">Preview</div>
|
|
|
|
<div class="panel-body theme-preview-content" :style="{ 'background-color': bgColorLocal, 'color': textColorLocal }">
|
|
|
|
<h4>Content</h4>
|
|
|
|
<br>
|
|
|
|
A bunch of more content and
|
|
|
|
<a :style="{ 'color': linkColorLocal }">a nice lil' link</a>
|
|
|
|
<br>
|
|
|
|
<button class="btn" :style="{ 'background-color': fgColorLocal, 'color': textColorLocal }">Button</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-03-31 18:14:36 +00:00
|
|
|
<button class="btn" @click="setCustomTheme">{{$t('general.apply')}}</button>
|
2017-11-17 15:24:42 +00:00
|
|
|
</div>
|
2017-01-16 17:57:03 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script src="./style_switcher.js"></script>
|
2017-01-17 13:41:13 +00:00
|
|
|
|
|
|
|
<style lang="scss">
|
2018-02-03 19:23:38 +00:00
|
|
|
.style-switcher {
|
|
|
|
margin-right: 1em;
|
|
|
|
}
|
2017-11-17 15:24:42 +00:00
|
|
|
|
2018-02-03 19:23:38 +00:00
|
|
|
.color-container {
|
|
|
|
display: flex;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
justify-content: space-between;
|
|
|
|
}
|
2017-11-17 15:24:42 +00:00
|
|
|
|
2018-02-03 19:23:38 +00:00
|
|
|
.color-item {
|
|
|
|
min-width: 20em;
|
|
|
|
display:flex;
|
|
|
|
flex: 1 1 0;
|
|
|
|
align-items: baseline;
|
|
|
|
margin: 5px 6px 5px 0;
|
2018-03-31 18:14:36 +00:00
|
|
|
|
|
|
|
label {
|
|
|
|
color: var(--faint);
|
|
|
|
}
|
2018-02-03 19:23:38 +00:00
|
|
|
}
|
|
|
|
.theme-color-cl,
|
|
|
|
.theme-color-in {
|
|
|
|
margin-left: 4px;
|
|
|
|
border-radius: 2px;
|
|
|
|
border: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.theme-color-in {
|
|
|
|
padding: 5px;
|
|
|
|
min-width: 4em;
|
|
|
|
max-width: 7em;
|
|
|
|
flex: 1;
|
|
|
|
}
|
|
|
|
.theme-color-lb {
|
|
|
|
flex: 2;
|
|
|
|
min-width: 7em;
|
|
|
|
max-width: 10em;
|
|
|
|
}
|
2017-11-17 15:24:42 +00:00
|
|
|
|
2018-02-03 19:23:38 +00:00
|
|
|
.theme-color-cl {
|
|
|
|
padding: 1px;
|
|
|
|
max-width: 8em;
|
|
|
|
align-self: stretch;
|
|
|
|
height: 100%;
|
|
|
|
flex: 0;
|
|
|
|
min-width: 2em;
|
|
|
|
cursor: pointer;
|
2017-11-17 15:24:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
.theme-preview-content {
|
|
|
|
padding: 20px;
|
|
|
|
}
|
2017-01-17 13:41:13 +00:00
|
|
|
</style>
|