mirror of https://github.com/Lissy93/dashy.git
Merge pull request #9 from Lissy93/new-themes
Adds new themes: Minimal, material and material dark
This commit is contained in:
commit
1c1dd4ff3f
|
@ -105,6 +105,7 @@ All fields are optional, unless otherwise stated.
|
||||||
**`section`**
|
**`section`**
|
||||||
- `name` - String: (required) The title of that section
|
- `name` - String: (required) The title of that section
|
||||||
- `items` - Item[]: (required) An array of items - _See **`item`** below_
|
- `items` - Item[]: (required) An array of items - _See **`item`** below_
|
||||||
|
- `icon` - String: (optional) An single icon to be displayed next to the title _See **`icon`** below_
|
||||||
- `displayData`: An object with the following fields (all optional)
|
- `displayData`: An object with the following fields (all optional)
|
||||||
- `collapsed` - Boolean: If true, the section will be collapsed initially (defaults to `false`)
|
- `collapsed` - Boolean: If true, the section will be collapsed initially (defaults to `false`)
|
||||||
- `color` - String: A custom accent color for the section, as a hex code or HTML color (e.g. `#fff`)
|
- `color` - String: A custom accent color for the section, as a hex code or HTML color (e.g. `#fff`)
|
||||||
|
|
|
@ -13,6 +13,7 @@ appConfig:
|
||||||
fontAwesomeKey: 0821c65656
|
fontAwesomeKey: 0821c65656
|
||||||
sections:
|
sections:
|
||||||
- name: Getting Started
|
- name: Getting Started
|
||||||
|
icon: far fa-star
|
||||||
items:
|
items:
|
||||||
- title: Source
|
- title: Source
|
||||||
description: Source code and documentation on GitHub
|
description: Source code and documentation on GitHub
|
||||||
|
|
|
@ -82,6 +82,7 @@ export default {
|
||||||
@import '@/styles/global-styles.scss';
|
@import '@/styles/global-styles.scss';
|
||||||
@import '@/styles/color-palette.scss';
|
@import '@/styles/color-palette.scss';
|
||||||
@import '@/styles/color-themes.scss';
|
@import '@/styles/color-themes.scss';
|
||||||
|
@import '@/styles/typography.scss';
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: var(--background);
|
background: var(--background);
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -192,9 +192,9 @@ a.config-button, button.config-button {
|
||||||
|
|
||||||
div.code-container {
|
div.code-container {
|
||||||
background: var(--config-code-background);
|
background: var(--config-code-background);
|
||||||
#conf-yaml {
|
#conf-yaml span {
|
||||||
font-family: 'Inconsolata', sans-serif;
|
font-family: var(--font-monospace), monospace !important;
|
||||||
.hljs-attr {
|
&.hljs-attr {
|
||||||
font-weight: bold !important;
|
font-weight: bold !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -252,7 +252,7 @@ a.hyperlink-wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding-top: 2rem;
|
padding-top: 2rem;
|
||||||
background: var(--background-darker);
|
background: var(--config-settings-background);
|
||||||
height: calc(100% - 2rem);
|
height: calc(100% - 2rem);
|
||||||
h2 {
|
h2 {
|
||||||
margin: 1rem auto;
|
margin: 1rem auto;
|
||||||
|
@ -271,6 +271,7 @@ a.hyperlink-wrapper {
|
||||||
border-radius: var(--curve-factor);
|
border-radius: var(--curve-factor);
|
||||||
text-align: left;
|
text-align: left;
|
||||||
opacity: var(--dimming-factor);
|
opacity: var(--dimming-factor);
|
||||||
|
color: var(--config-settings-color);
|
||||||
background: var(--config-settings-background);
|
background: var(--config-settings-background);
|
||||||
p.sub-title {
|
p.sub-title {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
<prism-editor class="my-editor" v-model="customCss" :highlight="highlighter" line-numbers />
|
<prism-editor class="my-editor" v-model="customCss" :highlight="highlighter" line-numbers />
|
||||||
<button class="save-button" @click="save()">Save Changes</button>
|
<button class="save-button" @click="save()">Save Changes</button>
|
||||||
<p>Note, you will need to refresh the page for your changes to take effect</p>
|
<p>Note, you will need to refresh the page for your changes to take effect</p>
|
||||||
|
<p>To remove all custom styles, delete the contents and hit Save Changes</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -30,7 +31,7 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
validate(css) {
|
validate(css) {
|
||||||
return css.match(/((?:^\s*)([\w#.@*,:\-.:>,*\s]+)\s*{(?:[\s]*)((?:[A-Za-z\- \s]+[:]\s*['"0-9\w .,/()\-!%]+;?)*)*\s*}(?:\s*))/gmi);
|
return css === '' || css.match(/((?:^\s*)([\w#.@*,:\-.:>,*\s]+)\s*{(?:[\s]*)((?:[A-Za-z\- \s]+[:]\s*['"0-9\w .,/()\-!%]+;?)*)*\s*}(?:\s*))/gmi);
|
||||||
},
|
},
|
||||||
save() {
|
save() {
|
||||||
let msg = '';
|
let msg = '';
|
||||||
|
@ -40,6 +41,7 @@ export default {
|
||||||
localStorage.setItem(localStorageKeys.APP_CONFIG, JSON.stringify(appConfig));
|
localStorage.setItem(localStorageKeys.APP_CONFIG, JSON.stringify(appConfig));
|
||||||
msg = 'Changes saved succesfully';
|
msg = 'Changes saved succesfully';
|
||||||
this.inject(this.customCss);
|
this.inject(this.customCss);
|
||||||
|
if (this.customCss === '') setTimeout(() => { location.reload(); }, 1500); // eslint-disable-line no-restricted-globals
|
||||||
} else {
|
} else {
|
||||||
msg = 'Error - Invalid CSS';
|
msg = 'Error - Invalid CSS';
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@ export default {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding: 1rem 0;
|
padding: 1rem 0;
|
||||||
background: var(--background-darker);
|
background: var(--config-settings-background);
|
||||||
height: calc(100% - 1rem);
|
height: calc(100% - 1rem);
|
||||||
h2 {
|
h2 {
|
||||||
margin: 1rem auto;
|
margin: 1rem auto;
|
||||||
|
@ -117,6 +117,7 @@ div.form {
|
||||||
min-width: 24rem;
|
min-width: 24rem;
|
||||||
span {
|
span {
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
|
color: var(--config-settings-color);
|
||||||
}
|
}
|
||||||
input {
|
input {
|
||||||
color: var(--config-settings-color);
|
color: var(--config-settings-color);
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
tabIndex="-1"
|
tabIndex="-1"
|
||||||
>
|
>
|
||||||
<label :for="`collapsible-${uniqueKey}`" class="lbl-toggle" tabindex="-1">
|
<label :for="`collapsible-${uniqueKey}`" class="lbl-toggle" tabindex="-1">
|
||||||
|
<Icon v-if="icon" :icon="icon" size="small" class="section-icon" />
|
||||||
<h3>{{ title }}</h3>
|
<h3>{{ title }}</h3>
|
||||||
</label>
|
</label>
|
||||||
<div class="collapsible-content">
|
<div class="collapsible-content">
|
||||||
|
@ -24,18 +25,23 @@
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import { localStorageKeys } from '@/utils/defaults';
|
import { localStorageKeys } from '@/utils/defaults';
|
||||||
|
import Icon from '@/components/LinkItems/ItemIcon.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CollapsableContainer',
|
name: 'CollapsableContainer',
|
||||||
props: {
|
props: {
|
||||||
uniqueKey: String,
|
uniqueKey: String,
|
||||||
title: String,
|
title: String,
|
||||||
|
icon: String,
|
||||||
collapsed: Boolean,
|
collapsed: Boolean,
|
||||||
cols: Number,
|
cols: Number,
|
||||||
rows: Number,
|
rows: Number,
|
||||||
color: String,
|
color: String,
|
||||||
customStyles: String,
|
customStyles: String,
|
||||||
},
|
},
|
||||||
|
components: {
|
||||||
|
Icon,
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isOpen: !this.collapsed,
|
isOpen: !this.collapsed,
|
||||||
|
@ -96,105 +102,104 @@ export default {
|
||||||
@import '@/styles/media-queries.scss';
|
@import '@/styles/media-queries.scss';
|
||||||
|
|
||||||
.collapsable {
|
.collapsable {
|
||||||
padding: var(--item-group-padding);
|
padding: var(--item-group-padding);
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
|
border-radius: var(--curve-factor);
|
||||||
|
background: var(--item-group-outer-background);
|
||||||
|
box-shadow: var(--item-group-shadow);
|
||||||
|
height: fit-content;
|
||||||
|
width: 100%;
|
||||||
|
width: stretch;
|
||||||
|
|
||||||
|
grid-row-start: span 1;
|
||||||
|
&.row-2 { grid-row-start: span 2; }
|
||||||
|
&.row-3 { grid-row-start: span 3; }
|
||||||
|
&.row-4 { grid-row-start: span 4; }
|
||||||
|
|
||||||
|
grid-column-start: span 1;
|
||||||
|
@include tablet-up {
|
||||||
|
&.col-2 { grid-column-start: span 2; }
|
||||||
|
&.col-3 { grid-column-start: span 2; }
|
||||||
|
&.col-4 { grid-column-start: span 2; }
|
||||||
|
}
|
||||||
|
@include laptop-up {
|
||||||
|
&.col-2 { grid-column-start: span 2; }
|
||||||
|
&.col-3 { grid-column-start: span 3; }
|
||||||
|
&.col-4 { grid-column-start: span 3; }
|
||||||
|
}
|
||||||
|
@include monitor-up {
|
||||||
|
&.col-2 { grid-column-start: span 2; }
|
||||||
|
&.col-3 { grid-column-start: span 3; }
|
||||||
|
&.col-4 { grid-column-start: span 4; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrap-collabsible {
|
||||||
|
margin-bottom: 1.2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type='checkbox'] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
label.lbl-toggle {
|
||||||
|
outline: none;
|
||||||
|
display: block;
|
||||||
|
padding: 0.25rem;
|
||||||
|
cursor: pointer;
|
||||||
border-radius: var(--curve-factor);
|
border-radius: var(--curve-factor);
|
||||||
background: var(--item-group-outer-background);
|
transition: all 0.25s ease-out;
|
||||||
box-shadow: var(--item-group-shadow);
|
text-align: left;
|
||||||
height: fit-content;
|
color: var(--item-group-heading-text-color); //var(--item-group-background);
|
||||||
width: 100%;
|
h3 {
|
||||||
width: stretch;
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
grid-row-start: span 1;
|
display: inline;
|
||||||
&.row-2 { grid-row-start: span 2; }
|
|
||||||
&.row-3 { grid-row-start: span 3; }
|
|
||||||
&.row-4 { grid-row-start: span 4; }
|
|
||||||
|
|
||||||
grid-column-start: span 1;
|
|
||||||
@include tablet-up {
|
|
||||||
&.col-2 { grid-column-start: span 2; }
|
|
||||||
&.col-3 { grid-column-start: span 2; }
|
|
||||||
&.col-4 { grid-column-start: span 2; }
|
|
||||||
}
|
}
|
||||||
@include laptop-up {
|
.section-icon {
|
||||||
&.col-2 { grid-column-start: span 2; }
|
display: inline;
|
||||||
&.col-3 { grid-column-start: span 3; }
|
margin-right: 0.5rem;
|
||||||
&.col-4 { grid-column-start: span 3; }
|
|
||||||
}
|
|
||||||
@include monitor-up {
|
|
||||||
&.col-2 { grid-column-start: span 2; }
|
|
||||||
&.col-3 { grid-column-start: span 3; }
|
|
||||||
&.col-4 { grid-column-start: span 4; }
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.wrap-collabsible {
|
.lbl-toggle:hover {
|
||||||
margin-bottom: 1.2rem 0;
|
color: var(--item-group-heading-text-color-hover);
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type='checkbox'] {
|
.lbl-toggle::before {
|
||||||
display: none;
|
content: ' ';
|
||||||
}
|
display: inline-block;
|
||||||
|
border-top: 5px solid transparent;
|
||||||
|
border-bottom: 5px solid transparent;
|
||||||
|
border-left: 5px solid currentColor;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: .7rem;
|
||||||
|
transform: translateY(-2px);
|
||||||
|
transition: transform .2s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
label {
|
.toggle:checked + .lbl-toggle::before {
|
||||||
outline: none;
|
transform: rotate(90deg) translateX(-3px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.lbl-toggle {
|
.collapsible-content {
|
||||||
display: block;
|
max-height: 0px;
|
||||||
padding: 0.25rem;
|
overflow: hidden;
|
||||||
cursor: pointer;
|
transition: max-height .25s ease-in-out;
|
||||||
border-radius: var(--curve-factor);
|
background: var(--item-group-background);
|
||||||
transition: all 0.25s ease-out;
|
border-radius: 0 0 var(--curve-factor) var(--curve-factor);
|
||||||
text-align: left;
|
}
|
||||||
color: var(--item-group-heading-text-color); //var(--item-group-background);
|
|
||||||
|
|
||||||
h3 {
|
.toggle:checked + .lbl-toggle + .collapsible-content {
|
||||||
margin: 0;
|
max-height: 3000px;
|
||||||
padding: 0;
|
}
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.lbl-toggle:hover {
|
.toggle:checked + .lbl-toggle {
|
||||||
color: var(--item-group-heading-text-color-hover);
|
border-bottom-right-radius: 0;
|
||||||
}
|
border-bottom-left-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.lbl-toggle::before {
|
.collapsible-content .content-inner {
|
||||||
content: ' ';
|
padding: 0.5rem;
|
||||||
display: inline-block;
|
}
|
||||||
border-top: 5px solid transparent;
|
|
||||||
border-bottom: 5px solid transparent;
|
|
||||||
border-left: 5px solid currentColor;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-right: .7rem;
|
|
||||||
transform: translateY(-2px);
|
|
||||||
|
|
||||||
transition: transform .2s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle:checked + .lbl-toggle::before {
|
|
||||||
transform: rotate(90deg) translateX(-3px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.collapsible-content {
|
|
||||||
max-height: 0px;
|
|
||||||
overflow: hidden;
|
|
||||||
transition: max-height .25s ease-in-out;
|
|
||||||
background: var(--item-group-background);
|
|
||||||
border-radius: 0 0 var(--curve-factor) var(--curve-factor);
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle:checked + .lbl-toggle + .collapsible-content {
|
|
||||||
max-height: 1000px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle:checked + .lbl-toggle {
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.collapsible-content .content-inner {
|
|
||||||
padding: 0.5rem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -4,17 +4,19 @@
|
||||||
:target="target === 'newtab' ? '_blank' : ''"
|
:target="target === 'newtab' ? '_blank' : ''"
|
||||||
:class="`item ${!icon? 'short': ''} size-${itemSize}`"
|
:class="`item ${!icon? 'short': ''} size-${itemSize}`"
|
||||||
v-tooltip="getTooltipOptions()"
|
v-tooltip="getTooltipOptions()"
|
||||||
v-bind:style="customStyles"
|
|
||||||
rel="noopener noreferrer" tabindex="0"
|
rel="noopener noreferrer" tabindex="0"
|
||||||
:id="`link-${id}`"
|
:id="`link-${id}`"
|
||||||
|
:style="`--open-icon: ${getUnicodeOpeningIcon()}; ${customStyles}`"
|
||||||
>
|
>
|
||||||
<!-- Item Text -->
|
<!-- Item Text -->
|
||||||
<div class="tile-title" :id="`tile-${id}`" >
|
<div :class="`tile-title ${!icon? 'bounce': ''}`" :id="`tile-${id}`" >
|
||||||
<span class="text">{{ title }}</span>
|
<span class="text">{{ title }}</span>
|
||||||
<div class="overflow-dots">...</div>
|
<div class="overflow-dots">...</div>
|
||||||
|
<p class="description">{{ description }}</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- Item Icon -->
|
<!-- Item Icon -->
|
||||||
<Icon :icon="icon" :url="url" :size="itemSize" :color="color" v-bind:style="customStyles" />
|
<Icon :icon="icon" :url="url" :size="itemSize" :color="color"
|
||||||
|
v-bind:style="customStyles" class="bounce" />
|
||||||
<!-- Small icon, showing opening method on hover -->
|
<!-- Small icon, showing opening method on hover -->
|
||||||
<ItemOpenMethodIcon class="opening-method-icon" :isSmall="!icon" :openingMethod="target"
|
<ItemOpenMethodIcon class="opening-method-icon" :isSmall="!icon" :openingMethod="target"
|
||||||
:position="itemSize === 'medium'? 'bottom right' : 'top right'"/>
|
:position="itemSize === 'medium'? 'bottom right' : 'top right'"/>
|
||||||
|
@ -89,6 +91,14 @@ export default {
|
||||||
delay: { show: 600, hide: 200 },
|
delay: { show: 600, hide: 200 },
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
getUnicodeOpeningIcon() {
|
||||||
|
switch (this.target) {
|
||||||
|
case 'newtab': return '"\\f360"';
|
||||||
|
case 'sametab': return '"\\f24d"';
|
||||||
|
case 'iframe': return '"\\f2d0"';
|
||||||
|
default: return '"\\f054"';
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.manageTitleEllipse();
|
this.manageTitleEllipse();
|
||||||
|
@ -205,7 +215,7 @@ export default {
|
||||||
}
|
}
|
||||||
.tile-title {
|
.tile-title {
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
min-height: 1rem;
|
min-height: 1.2rem;
|
||||||
span.text {
|
span.text {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 10%;
|
padding-left: 10%;
|
||||||
|
@ -228,6 +238,15 @@ export default {
|
||||||
&.size-large {
|
&.size-large {
|
||||||
height: 100px;
|
height: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p.description {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
&:before {
|
||||||
|
display: none;
|
||||||
|
font-family: FontAwesome;
|
||||||
|
content: var(--open-icon, "\f054") !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<Collapsable
|
<Collapsable
|
||||||
:title="title"
|
:title="title"
|
||||||
|
:icon="icon"
|
||||||
:uniqueKey="groupId"
|
:uniqueKey="groupId"
|
||||||
:collapsed="displayData.collapsed"
|
:collapsed="displayData.collapsed"
|
||||||
:cols="displayData.cols"
|
:cols="displayData.cols"
|
||||||
|
@ -51,6 +52,7 @@ export default {
|
||||||
props: {
|
props: {
|
||||||
groupId: String,
|
groupId: String,
|
||||||
title: String,
|
title: String,
|
||||||
|
icon: String,
|
||||||
displayData: Object,
|
displayData: Object,
|
||||||
items: Array,
|
items: Array,
|
||||||
itemSize: String,
|
itemSize: String,
|
||||||
|
@ -126,5 +128,19 @@ export default {
|
||||||
@include big-screen-up { grid-template-columns: repeat(5, 1fr); }
|
@include big-screen-up { grid-template-columns: repeat(5, 1fr); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.orientation-horizontal {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
.there-are-items {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(5, 1fr);
|
||||||
|
@include phone { grid-template-columns: repeat(2, 1fr); }
|
||||||
|
@include tablet { grid-template-columns: repeat(4, 1fr); }
|
||||||
|
@include laptop { grid-template-columns: repeat(6, 1fr); }
|
||||||
|
@include monitor { grid-template-columns: repeat(8, 1fr); }
|
||||||
|
@include big-screen { grid-template-columns: repeat(10, 1fr); }
|
||||||
|
@include big-screen-up { grid-template-columns: repeat(12, 1fr); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -29,12 +29,12 @@ export default {
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
padding: 0.5rem;
|
padding: 0.25rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: var(--medium-grey);
|
color: var(--medium-grey);
|
||||||
opacity: var(--dimming-factor);
|
opacity: var(--dimming-factor);
|
||||||
background: var(--background-darker);
|
background: var(--background-darker);
|
||||||
margin-top: 1rem;
|
margin-top: 7px;
|
||||||
border-top: 1px solid var(--outline-color);
|
border-top: 1px solid var(--outline-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
<span class="options-label">Icon Size</span>
|
<span class="options-label">Icon Size</span>
|
||||||
<div class="display-options">
|
<div class="display-options">
|
||||||
<IconSmall @click="updateIconSize('small')" v-tooltip="tooltip('Small')"
|
<IconSmall @click="updateIconSize('small')" v-tooltip="tooltip('Small')"
|
||||||
:class="`layout-icon ${iconSize === 'small' ? 'selected' : ''}`" tabindex="2" />
|
:class="`layout-icon ${iconSize === 'small' ? 'selected' : ''}`" tabindex="-2" />
|
||||||
<IconMedium @click="updateIconSize('medium')" v-tooltip="tooltip('Medium')"
|
<IconMedium @click="updateIconSize('medium')" v-tooltip="tooltip('Medium')"
|
||||||
:class="`layout-icon ${iconSize === 'medium' ? 'selected' : ''}`" tabindex="2" />
|
:class="`layout-icon ${iconSize === 'medium' ? 'selected' : ''}`" tabindex="-2" />
|
||||||
<IconLarge @click="updateIconSize('large')" v-tooltip="tooltip('Large')"
|
<IconLarge @click="updateIconSize('large')" v-tooltip="tooltip('Large')"
|
||||||
:class="`layout-icon ${iconSize === 'large' ? 'selected' : ''}`" tabindex="2" />
|
:class="`layout-icon ${iconSize === 'large' ? 'selected' : ''}`" tabindex="-2" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
<span class="options-label">Layout</span>
|
<span class="options-label">Layout</span>
|
||||||
<div class="display-options">
|
<div class="display-options">
|
||||||
<IconDeafault @click="updateDisplayLayout('auto')" v-tooltip="tooltip('Auto')"
|
<IconDeafault @click="updateDisplayLayout('auto')" v-tooltip="tooltip('Auto')"
|
||||||
:class="`layout-icon ${displayLayout === 'auto' ? 'selected' : ''}`" tabindex="2" />
|
:class="`layout-icon ${displayLayout === 'auto' ? 'selected' : ''}`" tabindex="-2" />
|
||||||
<IconHorizontal @click="updateDisplayLayout('horizontal')" v-tooltip="tooltip('Horizontal')"
|
<IconHorizontal @click="updateDisplayLayout('horizontal')" v-tooltip="tooltip('Horizontal')"
|
||||||
:class="`layout-icon ${displayLayout === 'horizontal' ? 'selected' : ''}`" tabindex="2" />
|
:class="`layout-icon ${displayLayout === 'horizontal' ? 'selected' : ''}`" tabindex="-2" />
|
||||||
<IconVertical @click="updateDisplayLayout('vertical')" v-tooltip="tooltip('Vertical')"
|
<IconVertical @click="updateDisplayLayout('vertical')" v-tooltip="tooltip('Vertical')"
|
||||||
:class="`layout-icon ${displayLayout === 'vertical' ? 'selected' : ''}`" tabindex="2" />
|
:class="`layout-icon ${displayLayout === 'vertical' ? 'selected' : ''}`" tabindex="-2" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
id="filter-tiles"
|
id="filter-tiles"
|
||||||
v-model="input"
|
v-model="input"
|
||||||
ref="filter"
|
ref="filter"
|
||||||
placeholder="Start typing to filter tiles..."
|
placeholder="Start typing to filter..."
|
||||||
v-on:input="userIsTypingSomething"
|
v-on:input="userIsTypingSomething"
|
||||||
@keydown.esc="clearFilterInput" />
|
@keydown.esc="clearFilterInput" />
|
||||||
<i v-if="input.length > 0"
|
<i v-if="input.length > 0"
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="theme-selector-section" v-if="themes" >
|
<div class="theme-selector-section" v-if="themes" >
|
||||||
<span class="theme-label">Themes</span>
|
<span class="theme-label">Theme</span>
|
||||||
<v-select
|
<v-select
|
||||||
:options="themeNames"
|
:options="themeNames"
|
||||||
v-model="selectedTheme"
|
v-model="selectedTheme"
|
||||||
class="theme-dropdown"
|
class="theme-dropdown"
|
||||||
:tabindex="2"
|
:tabindex="-2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
@import '@/styles/media-queries.scss';
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
/* Basic*/
|
/* Basic*/
|
||||||
|
|
|
@ -7,6 +7,8 @@ html[data-theme='callisto'] {
|
||||||
--item-background-hover: #060913;
|
--item-background-hover: #060913;
|
||||||
--item-hover-shadow: 0 1px 3px #00ccb4b3, 0 1px 2px #00ccb4bf;
|
--item-hover-shadow: 0 1px 3px #00ccb4b3, 0 1px 2px #00ccb4bf;
|
||||||
--primary: #00CCB4;
|
--primary: #00CCB4;
|
||||||
|
--font-body: 'Inconsolata', 'Georgia', sans-serif;
|
||||||
|
--font-headings: 'PTMono', 'Courier New', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='thebe'] {
|
html[data-theme='thebe'] {
|
||||||
|
@ -19,9 +21,11 @@ html[data-theme='thebe'] {
|
||||||
--primary: #9660ec;
|
--primary: #9660ec;
|
||||||
--item-group-outer-background: #9660EC
|
--item-group-outer-background: #9660EC
|
||||||
linear-gradient(45deg, #9660ec 2%,#5f60ea 51%,#9660ec 100%);
|
linear-gradient(45deg, #9660ec 2%,#5f60ea 51%,#9660ec 100%);
|
||||||
|
--font-headings: 'PTMono', 'Courier New', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='dracula'] {
|
html[data-theme='dracula'] {
|
||||||
|
--font-headings: 'Allerta Stencil', sans-serif;
|
||||||
--background: #44475a;
|
--background: #44475a;
|
||||||
--background-darker: #282a36;
|
--background-darker: #282a36;
|
||||||
--item-group-background: #282a36;
|
--item-group-background: #282a36;
|
||||||
|
@ -43,6 +47,7 @@ html[data-theme='bee'] {
|
||||||
--item-background: #1c2636;
|
--item-background: #1c2636;
|
||||||
--item-group-background: #0b1021;
|
--item-group-background: #0b1021;
|
||||||
--nav-link-background-color: #0b1021;
|
--nav-link-background-color: #0b1021;
|
||||||
|
--font-headings: 'Sniglet', cursive;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='raspberry-jam'] {
|
html[data-theme='raspberry-jam'] {
|
||||||
|
@ -52,6 +57,7 @@ html[data-theme='raspberry-jam'] {
|
||||||
--nav-link-background-color: #0b1021;
|
--nav-link-background-color: #0b1021;
|
||||||
--config-code-background: #0b1021;
|
--config-code-background: #0b1021;
|
||||||
--config-code-color: #eb2d6c;
|
--config-code-color: #eb2d6c;
|
||||||
|
--font-headings: 'Sniglet', cursive;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='tiger'] {
|
html[data-theme='tiger'] {
|
||||||
|
@ -59,6 +65,7 @@ html[data-theme='tiger'] {
|
||||||
--item-background: #1c2636;
|
--item-background: #1c2636;
|
||||||
--item-group-background: #0b1021;
|
--item-group-background: #0b1021;
|
||||||
--nav-link-background-color: #0b1021;
|
--nav-link-background-color: #0b1021;
|
||||||
|
--font-headings: 'Sniglet', cursive;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='matrix-red'] {
|
html[data-theme='matrix-red'] {
|
||||||
|
@ -67,6 +74,8 @@ html[data-theme='matrix-red'] {
|
||||||
--primary: red;
|
--primary: red;
|
||||||
--outline-color: red;
|
--outline-color: red;
|
||||||
--curve-factor: 0px;
|
--curve-factor: 0px;
|
||||||
|
--font-body: 'Cutive Mono', monospace;
|
||||||
|
--font-headings: 'VT323', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='matrix'] {
|
html[data-theme='matrix'] {
|
||||||
|
@ -75,6 +84,8 @@ html[data-theme='matrix'] {
|
||||||
--primary: #2bca2b;
|
--primary: #2bca2b;
|
||||||
--outline-color: #2bca2b;
|
--outline-color: #2bca2b;
|
||||||
--curve-factor: 0px;
|
--curve-factor: 0px;
|
||||||
|
--font-body: 'Cutive Mono', monospace;
|
||||||
|
--font-headings: 'VT323', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='hacker-girl'] {
|
html[data-theme='hacker-girl'] {
|
||||||
|
@ -83,6 +94,8 @@ html[data-theme='hacker-girl'] {
|
||||||
--primary: #e435f1;
|
--primary: #e435f1;
|
||||||
--outline-color: #e435f1;
|
--outline-color: #e435f1;
|
||||||
--curve-factor: 0px;
|
--curve-factor: 0px;
|
||||||
|
--font-body: 'Cutive Mono', monospace;
|
||||||
|
--font-headings: 'VT323', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='high-contrast-light'] {
|
html[data-theme='high-contrast-light'] {
|
||||||
|
@ -94,6 +107,7 @@ html[data-theme='high-contrast-light'] {
|
||||||
--outline-color: #000;
|
--outline-color: #000;
|
||||||
--curve-factor: 0px;
|
--curve-factor: 0px;
|
||||||
--config-code-color: #000;
|
--config-code-color: #000;
|
||||||
|
--font-headings: 'PTMono', 'Courier New', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='high-contrast-dark'] {
|
html[data-theme='high-contrast-dark'] {
|
||||||
|
@ -103,6 +117,7 @@ html[data-theme='high-contrast-dark'] {
|
||||||
--primary: #fff;
|
--primary: #fff;
|
||||||
--outline-color: #fff;
|
--outline-color: #fff;
|
||||||
--curve-factor: 0px;
|
--curve-factor: 0px;
|
||||||
|
--font-headings: 'PTMono', 'Courier New', monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='nord'] {
|
html[data-theme='nord'] {
|
||||||
|
@ -129,13 +144,15 @@ html[data-theme='nord-frost'] {
|
||||||
.collapsable:nth-child(4n) { background: #5E81AC; }
|
.collapsable:nth-child(4n) { background: #5E81AC; }
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='material'] {
|
html[data-theme='material-original'] {
|
||||||
--primary: #29B6F6;
|
--primary: #29B6F6;
|
||||||
--settings-text-color: #01579b;
|
--settings-text-color: #01579b;
|
||||||
--background: #e2e1e0;
|
--background: #e2e1e0;
|
||||||
--background-darker: #01579B;
|
--background-darker: #01579B;
|
||||||
--settings-background: #01579B;
|
--settings-background: #01579B;
|
||||||
--item-group-background: #f8f8f8;
|
--item-group-shadow: none;
|
||||||
|
--item-group-outer-background: none;
|
||||||
|
--item-group-background: none;
|
||||||
--item-background: #fff;
|
--item-background: #fff;
|
||||||
--item-background-hover: #fff;
|
--item-background-hover: #fff;
|
||||||
--settings-background: #29B6F6;
|
--settings-background: #29B6F6;
|
||||||
|
@ -151,9 +168,13 @@ html[data-theme='material'] {
|
||||||
--welcome-popup-background: #01579b;
|
--welcome-popup-background: #01579b;
|
||||||
--welcome-popup-text-color: #ffffff;
|
--welcome-popup-text-color: #ffffff;
|
||||||
--config-code-color: #000;
|
--config-code-color: #000;
|
||||||
|
--item-group-heading-text-color-hover: #01579b;
|
||||||
|
--config-settings-background: #01579b;
|
||||||
|
--config-settings-color: #fff;
|
||||||
|
--heading-text-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='material-dark'] {
|
html[data-theme='material-dark-original'] {
|
||||||
--primary: #08B0BB;
|
--primary: #08B0BB;
|
||||||
--settings-text-color: #08B0BB;
|
--settings-text-color: #08B0BB;
|
||||||
--background: #39434C;
|
--background: #39434C;
|
||||||
|
@ -182,9 +203,15 @@ html[data-theme='material-dark'] {
|
||||||
--welcome-popup-text-color: var(--primary);
|
--welcome-popup-text-color: var(--primary);
|
||||||
--config-settings-background: #131a1f;
|
--config-settings-background: #131a1f;
|
||||||
--config-settings-color: #41e2ed;
|
--config-settings-color: #41e2ed;
|
||||||
|
--scroll-bar-color: #08B0BB;
|
||||||
|
--scroll-bar-background: #131a1f;
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
border-left: 1px solid #131a1f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
html[data-theme='colorful'] {
|
html[data-theme='colorful'] {
|
||||||
|
--font-headings: 'Podkova', monospace;
|
||||||
--primary: #e8eae1;
|
--primary: #e8eae1;
|
||||||
--background: #0b1021;
|
--background: #0b1021;
|
||||||
--item-background: #05070e;
|
--item-background: #05070e;
|
||||||
|
@ -210,4 +237,332 @@ html[data-theme='colorful'] {
|
||||||
svg path { fill: #05070e; }
|
svg path { fill: #05070e; }
|
||||||
i.fas, i.fab, i.far, i.fal, i.fad { color: #05070e; }
|
i.fas, i.fab, i.far, i.fal, i.fad { color: #05070e; }
|
||||||
}
|
}
|
||||||
|
h1, h2, h3, h4 {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html[data-theme='minimal-light'], html[data-theme='minimal-dark'] {
|
||||||
|
--font-body: 'PTMono-Regular', 'Courier New', monospace;
|
||||||
|
--font-headings: 'PTMono-Regular', 'Courier New', monospace;
|
||||||
|
label.lbl-toggle h3 {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
}
|
||||||
|
.tile-title span.text {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
padding: 0.1rem 0.5rem;
|
||||||
|
.page-titles{
|
||||||
|
h1 {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
span.subtitle {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nav .nav-item {
|
||||||
|
padding: 0.2rem 0.4rem;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-group-container.orientation-horizontal .collapsable {
|
||||||
|
border-bottom: 1px dashed #ffffff38;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme='material'], html[data-theme='material-dark'] {
|
||||||
|
--font-body: 'Raleway', serif;
|
||||||
|
--font-headings: 'Francois One', serif;
|
||||||
|
--curve-factor: 4px;
|
||||||
|
--curve-factor-navbar: 8px;
|
||||||
|
|
||||||
|
.collapsable {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
/* Custom layout for medium and large icons */
|
||||||
|
.item:not(.size-small) {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
justify-content: flex-end;
|
||||||
|
text-align: left;
|
||||||
|
overflow: hidden;
|
||||||
|
align-items: center;
|
||||||
|
width: 15rem;
|
||||||
|
min-width: 15rem;
|
||||||
|
max-height: 6rem;
|
||||||
|
margin: 0.2rem;
|
||||||
|
padding: 0.5rem;
|
||||||
|
.overflow-dots {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
padding: 0.1rem 0.25rem;
|
||||||
|
}
|
||||||
|
.tile-title {
|
||||||
|
height: auto;
|
||||||
|
padding: 0.1rem 0.25rem;
|
||||||
|
span.text {
|
||||||
|
position: relative;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
p.description {
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
font-size: .9em;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.size-large {
|
||||||
|
width: 18rem;
|
||||||
|
min-width: 18rem;
|
||||||
|
max-height: 5rem;
|
||||||
|
margin: 0.4rem;
|
||||||
|
img {
|
||||||
|
padding: 0.2rem 0.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.tooltip {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.orientation-horizontal {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
.there-are-items {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(5, 1fr);
|
||||||
|
@include phone { grid-template-columns: repeat(1, 1fr); }
|
||||||
|
@include tablet { grid-template-columns: repeat(2, 1fr); }
|
||||||
|
@include laptop { grid-template-columns: repeat(3, 1fr); }
|
||||||
|
@include monitor { grid-template-columns: repeat(4, 1fr); }
|
||||||
|
@include big-screen { grid-template-columns: repeat(5, 1fr); }
|
||||||
|
@include big-screen-up { grid-template-columns: repeat(6, 1fr); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
a.item {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: all 0.2s linear 0s;
|
||||||
|
div {
|
||||||
|
transition: all 0.2s linear 0s;
|
||||||
|
}
|
||||||
|
&:before {
|
||||||
|
content: "\f054";
|
||||||
|
font-family: FontAwesome;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0px;
|
||||||
|
height: 100%;
|
||||||
|
width: 1rem;
|
||||||
|
background: #ccd3dd80;
|
||||||
|
border-radius: 0 60% 60% 0;
|
||||||
|
transform: scale(0,1);
|
||||||
|
transform-origin: left center;
|
||||||
|
transition: all 0.2s linear 0s;
|
||||||
|
padding: 0 0.2rem;
|
||||||
|
}
|
||||||
|
&:hover, &:focus-within {
|
||||||
|
div.bounce {
|
||||||
|
text-indent: 1rem;
|
||||||
|
}
|
||||||
|
&:before {
|
||||||
|
transform: scale(1,1);
|
||||||
|
text-indent: 0;
|
||||||
|
}
|
||||||
|
.opening-method-icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
background: #c7c7c754;
|
||||||
|
}
|
||||||
|
span.text {
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
&.size-small {
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
min-width: 11rem;
|
||||||
|
}
|
||||||
|
&.size-large {
|
||||||
|
&:before {
|
||||||
|
width: 1.5rem;
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
div:nth-child(2) {
|
||||||
|
text-indent: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme='material'] {
|
||||||
|
--primary: #363636;
|
||||||
|
--background: #f5f5f5;
|
||||||
|
--background-darker: #4285f4;
|
||||||
|
--item-group-outer-background: none;
|
||||||
|
--item-group-shadow: none;
|
||||||
|
--item-group-background: none;
|
||||||
|
--item-background: #fff;
|
||||||
|
--item-background-hover: #fff;
|
||||||
|
--item-shadow: 0 1px 3px #0000001f, 0 1px 2px #0000003d;
|
||||||
|
--item-hover-shadow: 0 1px 4px #00000029, 0 2px 4px #0000002a;
|
||||||
|
--item-text-color: #363636;
|
||||||
|
--item-group-heading-text-color-hover: #363636;
|
||||||
|
--item-icon-transform-hover: none;
|
||||||
|
--nav-link-background-color: #0c4eba;
|
||||||
|
--nav-link-text-color: #fff;
|
||||||
|
--nav-link-border-color: #0c4eba;
|
||||||
|
--settings-text-color: #363636;
|
||||||
|
--config-code-color: #363636;
|
||||||
|
--config-settings-background: #fff;
|
||||||
|
--config-settings-color: #363636;
|
||||||
|
--heading-text-color: #fff;
|
||||||
|
--curve-factor: 4px;
|
||||||
|
--curve-factor-navbar: 8px;
|
||||||
|
--search-container-background: #4285f4;
|
||||||
|
|
||||||
|
header {
|
||||||
|
background: #4285f4;
|
||||||
|
color: #fff;
|
||||||
|
.page-titles span.subtitle {
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
opacity: 1;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
section.filter-container form label {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.prism-editor-wrapper {
|
||||||
|
background: #f5f5f5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme='material-dark'] {
|
||||||
|
--primary: #08B0BB;
|
||||||
|
--background: #313941;
|
||||||
|
--background-darker: #08B0BB;
|
||||||
|
--settings-background: #092b3a;
|
||||||
|
--settings-text-color: #08B0BB;
|
||||||
|
|
||||||
|
--item-group-background: none;
|
||||||
|
--item-group-outer-background: none;
|
||||||
|
--item-group-shadow: none;
|
||||||
|
--item-group-padding: 5px 0 0;
|
||||||
|
--item-group-heading-text-color: #e0e0e0;
|
||||||
|
--item-group-heading-text-color-hover: #08B0BB;
|
||||||
|
|
||||||
|
--item-text-color: #e0e0e0;
|
||||||
|
--item-shadow: 2px 2px 3px #00000082, 0 1px 10px #00000040;
|
||||||
|
--item-hover-shadow: 4px 4px 3px #00000082, 0 1px 10px #00000040;
|
||||||
|
--item-icon-transform: drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);
|
||||||
|
--item-icon-transform-hover: drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);
|
||||||
|
--item-background: #414B55;
|
||||||
|
--item-background-hover: #414B55;
|
||||||
|
|
||||||
|
--settings-background: #131a1f;
|
||||||
|
--search-container-background: #131a1f;
|
||||||
|
--search-field-background: #39434c;
|
||||||
|
--heading-text-color: #131a1f;
|
||||||
|
--nav-link-text-color: #08B0BB;
|
||||||
|
--nav-link-background-color: #131a1f;
|
||||||
|
--nav-link-text-color-hover: #08B0BB;
|
||||||
|
--nav-link-background-color-hover: #131a1fc7;
|
||||||
|
--nav-link-border-color-hover: transparent;
|
||||||
|
--curve-factor: 2px;
|
||||||
|
--curve-factor-navbar: 0;
|
||||||
|
|
||||||
|
--welcome-popup-background: #131a1f;
|
||||||
|
--welcome-popup-text-color: var(--primary);
|
||||||
|
--config-settings-background: #131a1f;
|
||||||
|
--config-settings-color: #41e2ed;
|
||||||
|
--scroll-bar-color: #08B0BB;
|
||||||
|
--scroll-bar-background: #131a1f;
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
border-left: 1px solid #131a1f;
|
||||||
|
}
|
||||||
|
.item {
|
||||||
|
&:before, &:active {
|
||||||
|
background: #131a1f !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme='minimal-light'] {
|
||||||
|
--primary: #a5a5a5;
|
||||||
|
--background: #ffffff;
|
||||||
|
--background-darker: #14171e;
|
||||||
|
--item-group-outer-background: none;
|
||||||
|
--item-group-shadow: none;
|
||||||
|
--item-group-background: none;
|
||||||
|
--item-background: none;
|
||||||
|
--item-background-hover: #f2f2f2;
|
||||||
|
--item-shadow: none;
|
||||||
|
--item-hover-shadow: none;
|
||||||
|
--item-text-color: #101931;
|
||||||
|
--item-group-heading-text-color-hover: #101931;
|
||||||
|
--settings-text-color: #101931;
|
||||||
|
--config-code-color: #101931;
|
||||||
|
--nav-link-background-color: none;
|
||||||
|
--search-container-background: #fff;
|
||||||
|
--curve-factor: 4px;
|
||||||
|
--curve-factor-navbar: 8px;
|
||||||
|
|
||||||
|
section.filter-container {
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 1px dashed #00000038;
|
||||||
|
input#filter-tiles {
|
||||||
|
border: 1px solid #101931;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html[data-theme='minimal-dark'] {
|
||||||
|
--primary: #a5a5a5;
|
||||||
|
--background: #14171e;
|
||||||
|
--background-darker: #090b0e;
|
||||||
|
--item-group-outer-background: none;
|
||||||
|
--item-group-shadow: none;
|
||||||
|
--item-group-background: none;
|
||||||
|
--item-background: none;
|
||||||
|
--item-background-hover: #090b0e;
|
||||||
|
--item-shadow: none;
|
||||||
|
--item-hover-shadow: none;
|
||||||
|
--item-text-color: #fff;
|
||||||
|
--item-group-heading-text-color-hover: #fff;
|
||||||
|
--settings-text-color: #fff;
|
||||||
|
--config-code-color: #fff;
|
||||||
|
--nav-link-background-color: none;
|
||||||
|
--search-container-background: #14171e;
|
||||||
|
--curve-factor: 4px;
|
||||||
|
--curve-factor-navbar: 8px;
|
||||||
|
--item-group-heading-text-color: #fff;
|
||||||
|
--item-group-heading-text-color-hover: #ffffffbf;
|
||||||
|
|
||||||
|
label.lbl-toggle h3 {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
section.filter-container {
|
||||||
|
background: #14171e;
|
||||||
|
border-bottom: 1px dashed #ffffff38;
|
||||||
|
input#filter-tiles {
|
||||||
|
border: 1px solid #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,25 +1,14 @@
|
||||||
|
|
||||||
@import '@/styles/style-helpers.scss';
|
@import '@/styles/style-helpers.scss';
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Inconsolata';
|
|
||||||
src: url('./assets/fonts/Inconsolata-Light.ttf');
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
html {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
transition: all 1s;
|
transition: all 1s;
|
||||||
margin-top: -3px;
|
margin-top: -3px;
|
||||||
@extend .scroll-bar;
|
@extend .scroll-bar;
|
||||||
}
|
box-sizing: border-box;
|
||||||
|
input[type=button], button, a {
|
||||||
/* Default app font face */
|
cursor: pointer;
|
||||||
body, div, p, a, span, label, input, button {
|
}
|
||||||
font-family: 'Inconsolata', sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Headings font face */
|
|
||||||
h1, h2, h3, h4, h5 {
|
|
||||||
font-family: 'Inconsolata', sans-serif;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inconsolata';
|
||||||
|
src: url('./assets/fonts/Inconsolata-Light.ttf');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Raleway';
|
||||||
|
src: url('./assets/fonts/Raleway-Variable.ttf');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'PTMono';
|
||||||
|
src: url('./assets/fonts/PTMono-Regular.ttf');
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
--font-body: 'Raleway', 'Trebuchet MS', sans-serif;
|
||||||
|
--font-headings: 'Inconsolata', 'Georgia', sans-serif;
|
||||||
|
--font-monospace: 'PTMono', 'Courier New', monospace;
|
||||||
|
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: normal;
|
||||||
|
text-decoration: none;
|
||||||
|
background: transparent;
|
||||||
|
vertical-align: baseline;
|
||||||
|
|
||||||
|
/* Default app font face */
|
||||||
|
body, div, p, a, span, label, input, button {
|
||||||
|
font-family: var(--font-body);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Headings font face */
|
||||||
|
h1, h2, h3, h4, h5 {
|
||||||
|
font-family: var(--font-headings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Monospace, for code and raw data output */
|
||||||
|
code, pre, pre *, .jsoneditor *, .mono * {
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fonts used for external themes */
|
||||||
|
/* Material Design Themes */
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Francois+One&family=Roboto:wght@300&display=swap');
|
||||||
|
|
||||||
|
/* Matrix, Hacker, Nerd Themes */
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Cutive+Mono&family=VT323&display=swap');
|
||||||
|
|
||||||
|
/* Colourful */
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Podkova:wght@500&display=swap');
|
||||||
|
|
||||||
|
/* Dracula */
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Allerta+Stencil&display=swap');
|
||||||
|
|
||||||
|
/* Jam */
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Sniglet&display=swap');
|
|
@ -14,22 +14,26 @@ module.exports = {
|
||||||
theme: 'default',
|
theme: 'default',
|
||||||
fontAwesomeKey: '0821c65656',
|
fontAwesomeKey: '0821c65656',
|
||||||
builtInThemes: [
|
builtInThemes: [
|
||||||
'nord',
|
|
||||||
'nord-frost',
|
|
||||||
'callisto',
|
'callisto',
|
||||||
'thebe',
|
'thebe',
|
||||||
|
'dracula',
|
||||||
'material',
|
'material',
|
||||||
'material-dark',
|
'material-dark',
|
||||||
'dracula',
|
'colorful',
|
||||||
|
'nord',
|
||||||
|
'nord-frost',
|
||||||
|
'minimal-dark',
|
||||||
|
'minimal-light',
|
||||||
'matrix',
|
'matrix',
|
||||||
'matrix-red',
|
'matrix-red',
|
||||||
'hacker-girl',
|
'hacker-girl',
|
||||||
'bee',
|
|
||||||
'raspberry-jam',
|
'raspberry-jam',
|
||||||
|
'bee',
|
||||||
'tiger',
|
'tiger',
|
||||||
'colorful',
|
'material-original',
|
||||||
'high-contrast-light',
|
'material-dark-original',
|
||||||
'high-contrast-dark',
|
'high-contrast-dark',
|
||||||
|
'high-contrast-light',
|
||||||
],
|
],
|
||||||
visibleComponents: {
|
visibleComponents: {
|
||||||
pageTitle: true,
|
pageTitle: true,
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
v-for="(section, index) in getSections(sections)"
|
v-for="(section, index) in getSections(sections)"
|
||||||
:key="index"
|
:key="index"
|
||||||
:title="section.name"
|
:title="section.name"
|
||||||
|
:icon="section.icon || undefined"
|
||||||
:displayData="getDisplayData(section)"
|
:displayData="getDisplayData(section)"
|
||||||
:groupId="`section-${index}`"
|
:groupId="`section-${index}`"
|
||||||
:items="filterTiles(section.items)"
|
:items="filterTiles(section.items)"
|
||||||
|
@ -204,6 +205,7 @@ export default {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/styles/media-queries.scss';
|
@import '@/styles/media-queries.scss';
|
||||||
|
@import '@/styles/style-helpers.scss';
|
||||||
|
|
||||||
.home {
|
.home {
|
||||||
padding-bottom: 1px;
|
padding-bottom: 1px;
|
||||||
|
@ -216,7 +218,9 @@ export default {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
max-width: 1200px;
|
max-width: 90%;
|
||||||
|
overflow: auto;
|
||||||
|
@extend .scroll-bar;
|
||||||
@include monitor-up {
|
@include monitor-up {
|
||||||
max-width: 1400px;
|
max-width: 1400px;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue