diff --git a/app/src/App.vue b/app/src/App.vue index f205e207..c5ac51d3 100644 --- a/app/src/App.vue +++ b/app/src/App.vue @@ -7,7 +7,12 @@ :to="{ name: 'home' }" :disabled="waiting" exact exact-active-class="active" > - Yunohost logo + + YunoHost logo + + + YunoHost logo + @@ -93,7 +98,8 @@ export default { 'routerKey', 'transitions', 'transitionName', - 'waiting' + 'waiting', + 'theme' ]) }, @@ -153,6 +159,8 @@ export default { if (today.getDate() === 31 && today.getMonth() + 1 === 10) { this.$store.commit('SET_SPINNER', 'spookycat') } + + document.documentElement.setAttribute('dark-theme', localStorage.getItem('theme')) // updates the data-theme attribute } } diff --git a/app/src/assets/logo.png b/app/src/assets/logo_dark.png similarity index 100% rename from app/src/assets/logo.png rename to app/src/assets/logo_dark.png diff --git a/app/src/assets/logo_light.png b/app/src/assets/logo_light.png new file mode 100644 index 00000000..791225b3 Binary files /dev/null and b/app/src/assets/logo_light.png differ diff --git a/app/src/components/ConfigPanel.vue b/app/src/components/ConfigPanel.vue index be92c993..f51dfadc 100644 --- a/app/src/components/ConfigPanel.vue +++ b/app/src/components/ConfigPanel.vue @@ -1,7 +1,8 @@ - - diff --git a/app/src/components/RecursiveListGroup.vue b/app/src/components/RecursiveListGroup.vue new file mode 100644 index 00000000..3c461094 --- /dev/null +++ b/app/src/components/RecursiveListGroup.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/app/src/components/RoutableTabs.vue b/app/src/components/RoutableTabs.vue index d037a14b..0ab1885c 100644 --- a/app/src/components/RoutableTabs.vue +++ b/app/src/components/RoutableTabs.vue @@ -13,7 +13,11 @@ - + + + + + diff --git a/app/src/components/globals/Card.vue b/app/src/components/globals/Card.vue index bdf8cc4c..b8e24249 100644 --- a/app/src/components/globals/Card.vue +++ b/app/src/components/globals/Card.vue @@ -6,6 +6,7 @@ {{ title }} +
diff --git a/app/src/components/globals/DescriptionRow.vue b/app/src/components/globals/DescriptionRow.vue new file mode 100644 index 00000000..4cf80387 --- /dev/null +++ b/app/src/components/globals/DescriptionRow.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/app/src/components/globals/ExplainWhat.vue b/app/src/components/globals/ExplainWhat.vue new file mode 100644 index 00000000..ad7f0b75 --- /dev/null +++ b/app/src/components/globals/ExplainWhat.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/app/src/components/globals/FormField.vue b/app/src/components/globals/FormField.vue index d7be17e1..3dd85173 100644 --- a/app/src/components/globals/FormField.vue +++ b/app/src/components/globals/FormField.vue @@ -28,15 +28,18 @@ @@ -76,8 +79,8 @@ export default { if ('label' in attrs) { const defaultAttrs = { 'label-cols-md': 4, - 'label-cols-lg': 2, - 'label-class': 'font-weight-bold' + 'label-cols-lg': 3, + 'label-class': ['font-weight-bold', 'py-0'] } if (!('label-cols' in attrs)) { for (const attr in defaultAttrs) { diff --git a/app/src/components/globals/Icon.vue b/app/src/components/globals/Icon.vue index bcd90655..077e7817 100644 --- a/app/src/components/globals/Icon.vue +++ b/app/src/components/globals/Icon.vue @@ -1,12 +1,13 @@ @@ -26,5 +27,21 @@ export default { &.fs-sm { font-size: 1rem; } + + &.variant { + font-size: .8rem; + width: 1.35rem; + min-width: 1.35rem; + height: 1.35rem; + line-height: 165%; + border-radius: 50rem; + + @each $color, $value in $theme-colors { + &.#{$color} { + background-color: $value; + color: color-yiq($value); + } + } + } } diff --git a/app/src/components/globals/ReadOnlyField.vue b/app/src/components/globals/ReadOnlyField.vue new file mode 100644 index 00000000..107165b5 --- /dev/null +++ b/app/src/components/globals/ReadOnlyField.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/app/src/components/globals/formItems/ButtonItem.vue b/app/src/components/globals/formItems/ButtonItem.vue new file mode 100644 index 00000000..c09f3fb4 --- /dev/null +++ b/app/src/components/globals/formItems/ButtonItem.vue @@ -0,0 +1,40 @@ + + + diff --git a/app/src/components/globals/formItems/DisplayTextItem.vue b/app/src/components/globals/formItems/DisplayTextItem.vue new file mode 100644 index 00000000..186ef1a7 --- /dev/null +++ b/app/src/components/globals/formItems/DisplayTextItem.vue @@ -0,0 +1,16 @@ + + + diff --git a/app/src/components/globals/formItems/FileItem.vue b/app/src/components/globals/formItems/FileItem.vue index 8dca3b7b..160c2fae 100644 --- a/app/src/components/globals/formItems/FileItem.vue +++ b/app/src/components/globals/formItems/FileItem.vue @@ -1,19 +1,24 @@ diff --git a/app/src/components/globals/formItems/MarkdownItem.vue b/app/src/components/globals/formItems/MarkdownItem.vue index 7fd4bacb..359c4e67 100644 --- a/app/src/components/globals/formItems/MarkdownItem.vue +++ b/app/src/components/globals/formItems/MarkdownItem.vue @@ -12,4 +12,3 @@ export default { } } - diff --git a/app/src/components/globals/formItems/ReadOnlyAlertItem.vue b/app/src/components/globals/formItems/ReadOnlyAlertItem.vue index bc63ff6d..ac1dac55 100644 --- a/app/src/components/globals/formItems/ReadOnlyAlertItem.vue +++ b/app/src/components/globals/formItems/ReadOnlyAlertItem.vue @@ -1,8 +1,10 @@ @@ -11,29 +13,23 @@ export default { name: 'ReadOnlyAlertItem', - data () { - const icons = { - success: 'thumbs-up', - info: 'info-circle', - warning: 'warning', - danger: 'times' - } - return { - icon_: (this.icon) ? this.icon : icons[this.type] - } - }, - props: { id: { type: String, default: null }, label: { type: String, default: null }, type: { type: String, default: null }, icon: { type: String, default: null } + }, + + computed: { + icon_ () { + const icons = { + success: 'thumbs-up', + info: 'info', + warning: 'exclamation', + danger: 'times' + } + return this.icon || icons[this.type] + } } } - - diff --git a/app/src/components/globals/formItems/TagsSelectizeItem.vue b/app/src/components/globals/formItems/TagsSelectizeItem.vue index f2243538..158d3a51 100644 --- a/app/src/components/globals/formItems/TagsSelectizeItem.vue +++ b/app/src/components/globals/formItems/TagsSelectizeItem.vue @@ -12,7 +12,6 @@ @remove="onRemoveTag({ option: tag, removeTag })" :title="tag" :disabled="disabled || disabledItems.includes(tag)" - variant="light" class="border border-dark mb-2" > {{ tag }} @@ -151,7 +150,7 @@ export default { padding-top: .5rem; position: sticky; top: 0; - background-color: white; + background-color: $white; } } diff --git a/app/src/components/globals/formItems/TextAreaItem.vue b/app/src/components/globals/formItems/TextAreaItem.vue index b9224f10..95af03e8 100644 --- a/app/src/components/globals/formItems/TextAreaItem.vue +++ b/app/src/components/globals/formItems/TextAreaItem.vue @@ -1,6 +1,6 @@