diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/App.vue | 4 | ||||
-rw-r--r-- | src/assets/app.scss | 7 | ||||
-rw-r--r-- | src/components/DynamicTheme.vue | 14 | ||||
-rw-r--r-- | src/components/Message.vue | 7 | ||||
-rw-r--r-- | src/components/Service.vue | 8 |
5 files changed, 24 insertions, 16 deletions
diff --git a/src/App.vue b/src/App.vue index eb132d0..c47b5a9 100644 --- a/src/App.vue +++ b/src/App.vue | |||
@@ -159,7 +159,9 @@ export default { | |||
159 | } | 159 | } |
160 | this.config = merge(defaults, config); | 160 | this.config = merge(defaults, config); |
161 | this.services = this.config.services; | 161 | this.services = this.config.services; |
162 | document.title = `${this.config.title} | ${this.config.subtitle}`; | 162 | document.title = |
163 | this.config.documentTitle || | ||
164 | `${this.config.title} | ${this.config.subtitle}`; | ||
163 | if (this.config.stylesheet) { | 165 | if (this.config.stylesheet) { |
164 | let stylesheet = ""; | 166 | let stylesheet = ""; |
165 | for (const file of this.config.stylesheet) { | 167 | for (const file of this.config.stylesheet) { |
diff --git a/src/assets/app.scss b/src/assets/app.scss index 4585874..59afd00 100644 --- a/src/assets/app.scss +++ b/src/assets/app.scss | |||
@@ -13,17 +13,17 @@ | |||
13 | text-overflow: ellipsis; | 13 | text-overflow: ellipsis; |
14 | } | 14 | } |
15 | 15 | ||
16 | html { | 16 | html, body, body #app { |
17 | height: 100%; | 17 | height: 100%; |
18 | background-color: var(--background); | ||
18 | } | 19 | } |
19 | 20 | ||
20 | body { | 21 | body { |
21 | font-family: "Raleway", sans-serif; | 22 | font-family: "Raleway", sans-serif; |
22 | height: 100%; | ||
23 | 23 | ||
24 | #app { | 24 | #app { |
25 | height: auto; | ||
25 | min-height: 100%; | 26 | min-height: 100%; |
26 | background-color: var(--background); | ||
27 | background-image: var(--background-image); | 27 | background-image: var(--background-image); |
28 | background-size: cover; | 28 | background-size: cover; |
29 | background-position: center; | 29 | background-position: center; |
@@ -170,6 +170,7 @@ body { | |||
170 | 170 | ||
171 | .title { | 171 | .title { |
172 | font-size: 1.1em; | 172 | font-size: 1.1em; |
173 | line-height: 1.2em; | ||
173 | @include ellipsis(); | 174 | @include ellipsis(); |
174 | } | 175 | } |
175 | 176 | ||
diff --git a/src/components/DynamicTheme.vue b/src/components/DynamicTheme.vue index 2ccb47b..fc2fd55 100644 --- a/src/components/DynamicTheme.vue +++ b/src/components/DynamicTheme.vue | |||
@@ -1,17 +1,15 @@ | |||
1 | <template> | 1 | <template> |
2 | <DynamicStyle> | 2 | <DynamicStyle> |
3 | /* light / dark theme switch based on system pref if available */ body #app | 3 | :root, body #app.is-light { |
4 | { | ||
5 | {{ getVars(themes.light) }} | 4 | {{ getVars(themes.light) }} |
6 | } @media (prefers-color-scheme: light), (prefers-color-scheme: | 5 | } @media (prefers-color-scheme: light), (prefers-color-scheme: |
7 | no-preference) { body #app { | 6 | no-preference) { :root, body #app { |
8 | {{ getVars(themes.light) }} | 7 | {{ getVars(themes.light) }} |
9 | } } @media (prefers-color-scheme: dark) { body #app { } } /* light / dark | 8 | } } body #app.is-dark { |
10 | theme override base on user choice. */ body #app.is-dark { | ||
11 | {{ getVars(themes.dark) }} | 9 | {{ getVars(themes.dark) }} |
12 | } body #app.is-light { | 10 | } @media (prefers-color-scheme: dark) { :root, body #app { |
13 | {{ getVars(themes.light) }} | 11 | {{ getVars(themes.dark) }} |
14 | } | 12 | } } |
15 | </DynamicStyle> | 13 | </DynamicStyle> |
16 | </template> | 14 | </template> |
17 | 15 | ||
diff --git a/src/components/Message.vue b/src/components/Message.vue index d007d3e..5a1e0ea 100644 --- a/src/components/Message.vue +++ b/src/components/Message.vue | |||
@@ -1,7 +1,10 @@ | |||
1 | <template> | 1 | <template> |
2 | <article v-if="show" class="message" :class="message.style"> | 2 | <article v-if="show" class="message" :class="message.style"> |
3 | <div v-if="message.title" class="message-header"> | 3 | <div v-if="message.title || message.icon" class="message-header"> |
4 | <p>{{ message.title }}</p> | 4 | <p> |
5 | <i v-if="message.icon" :class="`fa-fw ${message.icon}`"></i> | ||
6 | {{ message.title }} | ||
7 | </p> | ||
5 | </div> | 8 | </div> |
6 | <div | 9 | <div |
7 | v-if="message.content" | 10 | v-if="message.content" |
diff --git a/src/components/Service.vue b/src/components/Service.vue index 88e6e69..81ad8a2 100644 --- a/src/components/Service.vue +++ b/src/components/Service.vue | |||
@@ -1,6 +1,6 @@ | |||
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | <div class="card"> | 3 | <div class="card" :class="item.class"> |
4 | <a :href="item.url" :target="item.target" rel="noreferrer"> | 4 | <a :href="item.url" :target="item.target" rel="noreferrer"> |
5 | <div class="card-content"> | 5 | <div class="card-content"> |
6 | <div class="media"> | 6 | <div class="media"> |
@@ -37,4 +37,8 @@ export default { | |||
37 | }; | 37 | }; |
38 | </script> | 38 | </script> |
39 | 39 | ||
40 | <style scoped lang="scss"></style> | 40 | <style scoped lang="scss"> |
41 | .media-left img { | ||
42 | max-height: 100%; | ||
43 | } | ||
44 | </style> | ||