aboutsummaryrefslogtreecommitdiff
path: root/src/components/style_switcher/style_switcher.vue
blob: 074b38301a7a69b4e42f03695b18c1f595464302 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<template>
  <div>
    <select v-model="selected" class="style-switcher">
      <option v-for="style in availableStyles" :value="style">{{style[0]}}</option>
    </select>
    <h3>Custom theme</h3>
    <p>Enter hex color codes (#aabbcc) into the text fields.</p>
    <div class="color-container">
      <div class="color-item">
        <label for="bgcolor" class="base04">Background</label>
        <input id="bgcolor" class="theme-color-in" type="text" v-model="bgColorLocal">
      </div>
      <div class="color-item">
        <label for="fgcolor" class="base04">Foreground</label>
        <input id="fgcolor" class="theme-color-in" type="text" v-model="fgColorLocal">
      </div>
      <div class="color-item">
        <label for="textcolor" class="base04">Text</label>
        <input id="textcolor" class="theme-color-in" type="text" v-model="textColorLocal">
      </div>
      <div class="color-item">
        <label for="linkcolor" class="base04">Links</label>
        <input id="linkcolor" class="theme-color-in" type="text" v-model="linkColorLocal">
      </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>
    <button class="btn base02-background base04" @click="setCustomTheme">Submit</button>
  </div>
</template>

<script src="./style_switcher.js"></script>

<style lang="scss">
 .style-switcher {
   margin-right: 1em;
 }

 .color-container {
   display: flex;
 }

 .color-item {
   max-width: 7em;
   display:flex;
   flex-wrap:wrap;
 }

 .theme-color-in {
   max-width: 6em;
   border-radius: 2px;
   border: 0;
   padding: 5px;
   margin: 5px 0 5px 0;
 }

 .theme-preview-content {
   padding: 20px;
 }
</style>