diff options
-rw-r--r-- | viewer/package.json | 5 | ||||
-rw-r--r-- | viewer/src/assets/scss/global.scss | 14 | ||||
-rw-r--r-- | viewer/src/assets/scss/palette.scss | 31 | ||||
-rw-r--r-- | viewer/src/assets/scss/theme.scss | 62 | ||||
-rw-r--r-- | viewer/src/components/LdBreadcrumb.vue | 1 | ||||
-rw-r--r-- | viewer/src/components/LdCommand.vue | 48 | ||||
-rw-r--r-- | viewer/src/components/LdProposition.vue | 30 | ||||
-rw-r--r-- | viewer/src/locales/en.json | 14 | ||||
-rw-r--r-- | viewer/src/plugins/fontawesome.ts | 6 | ||||
-rw-r--r-- | viewer/visualstudio.code-workspace | 1 |
10 files changed, 158 insertions, 54 deletions
diff --git a/viewer/package.json b/viewer/package.json index 1521dc5..e1761c9 100644 --- a/viewer/package.json +++ b/viewer/package.json | |||
@@ -5,7 +5,8 @@ | |||
5 | "scripts": { | 5 | "scripts": { |
6 | "serve": "vue-cli-service serve", | 6 | "serve": "vue-cli-service serve", |
7 | "build": "vue-cli-service build --modern", | 7 | "build": "vue-cli-service build --modern", |
8 | "lint": "vue-cli-service lint", | 8 | "lint": "vue-cli-service lint --no-fix", |
9 | "lint-autoformat": "vue-cli-service lint --fix", | ||
9 | "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue|ts)' --locales './src/locales/**/*.json'" | 10 | "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue|ts)' --locales './src/locales/**/*.json'" |
10 | }, | 11 | }, |
11 | "dependencies": { | 12 | "dependencies": { |
@@ -47,4 +48,4 @@ | |||
47 | "vue-cli-plugin-i18n": "^0.6.1", | 48 | "vue-cli-plugin-i18n": "^0.6.1", |
48 | "vue-template-compiler": "^2.6.10" | 49 | "vue-template-compiler": "^2.6.10" |
49 | } | 50 | } |
50 | } | 51 | } \ No newline at end of file |
diff --git a/viewer/src/assets/scss/global.scss b/viewer/src/assets/scss/global.scss index 4acaf13..ed69841 100644 --- a/viewer/src/assets/scss/global.scss +++ b/viewer/src/assets/scss/global.scss | |||
@@ -60,6 +60,20 @@ | |||
60 | 60 | ||
61 | .disabled { | 61 | .disabled { |
62 | color: $disabled-color !important; | 62 | color: $disabled-color !important; |
63 | cursor: initial; | ||
64 | } | ||
65 | |||
66 | // Disable sticky hover styling on touch devices, | ||
67 | // on which the virtual cursor doesn't leave the element after being tapped. | ||
68 | // The fix can be applied to `a` elements by using the .link class. | ||
69 | @media (hover:none), (hover:on-demand) { | ||
70 | .link:hover { | ||
71 | color: $link !important; | ||
72 | } | ||
73 |  | ||
74 | .disabled:hover { | ||
75 | color: $disabled-color !important; | ||
76 | } | ||
63 | } | 77 | } |
64 | 78 | ||
65 | // === Scrollbar styling | 79 | // === Scrollbar styling |
diff --git a/viewer/src/assets/scss/palette.scss b/viewer/src/assets/scss/palette.scss new file mode 100644 index 0000000..f7eab11 --- /dev/null +++ b/viewer/src/assets/scss/palette.scss | |||
@@ -0,0 +1,31 @@ | |||
1 | /* ldgallery - A static generator which turns a collection of tagged | ||
2 | -- pictures into a searchable web gallery. | ||
3 | -- | ||
4 | -- Copyright (C) 2020 Pacien TRAN-GIRARD | ||
5 | -- | ||
6 | -- This program is free software: you can redistribute it and/or modify | ||
7 | -- it under the terms of the GNU Affero General Public License as | ||
8 | -- published by the Free Software Foundation, either version 3 of the | ||
9 | -- License, or (at your option) any later version. | ||
10 | -- | ||
11 | -- This program is distributed in the hope that it will be useful, | ||
12 | -- but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | -- GNU Affero General Public License for more details. | ||
15 | -- | ||
16 | -- You should have received a copy of the GNU Affero General Public License | ||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | // Material Design Blue Gray colour palette | ||
21 | $palette-000: #FFFFFF; | ||
22 | $palette-050: #ECEFF1; | ||
23 | $palette-100: #CFD8DC; | ||
24 | $palette-200: #B0BEC5; | ||
25 | $palette-300: #90A4AE; | ||
26 | $palette-400: #78909C; | ||
27 | $palette-500: #607D8B; | ||
28 | $palette-600: #546E7A; | ||
29 | $palette-700: #455A64; | ||
30 | $palette-800: #37474F; | ||
31 | $palette-900: #263238; | ||
diff --git a/viewer/src/assets/scss/theme.scss b/viewer/src/assets/scss/theme.scss index f46b9f5..7972d48 100644 --- a/viewer/src/assets/scss/theme.scss +++ b/viewer/src/assets/scss/theme.scss | |||
@@ -2,6 +2,7 @@ | |||
2 | -- pictures into a searchable web gallery. | 2 | -- pictures into a searchable web gallery. |
3 | -- | 3 | -- |
4 | -- Copyright (C) 2019-2020 Guillaume FOUET | 4 | -- Copyright (C) 2019-2020 Guillaume FOUET |
5 | -- 2020 Pacien TRAN-GIRARD | ||
5 | -- | 6 | -- |
6 | -- This program is free software: you can redistribute it and/or modify | 7 | -- This program is free software: you can redistribute it and/or modify |
7 | -- it under the terms of the GNU Affero General Public License as | 8 | -- it under the terms of the GNU Affero General Public License as |
@@ -17,23 +18,48 @@ | |||
17 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. | 18 | -- along with this program. If not, see <https://www.gnu.org/licenses/>. |
18 | */ | 19 | */ |
19 | 20 | ||
20 | // === Theme | 21 | @import '_buefy_variables.scss'; |
22 | @import 'palette.scss'; | ||
21 | 23 | ||
22 | $layout-top: 35px; | ||
23 | $layout-left: 250px; | ||
24 | 24 | ||
25 | $panel-top-bgcolor: #225; | 25 | // Buefy components |
26 | $panel-top-txtcolor: white; | 26 | |
27 | $panel-left-bgcolor: $panel-top-bgcolor; | 27 | $primary: $palette-000; |
28 | $panel-left-txtcolor: $panel-top-txtcolor; | 28 | $text: $primary; |
29 | $content-bgcolor: #1e1e1e; | 29 | $text-light: $palette-100; |
30 | $toolbar-color: #d62929; | 30 | $text-strong: $primary; |
31 | $loader-color: #272727; | 31 | $input-color: $text; |
32 | 32 | $input-placeholder-color: $text-light; | |
33 | // Overrides - Buefy | 33 | $input-shadow: none; |
34 | $link: $panel-top-txtcolor; | 34 | $input-border-color: transparent; |
35 | $link-hover: lightblue; | 35 | $input-background-color: $palette-500; |
36 | $disabled-color: #656589; | 36 | $input-focus-box-border-color: $palette-200; |
37 | $control-radius: 0; | 37 | $input-focus-box-shadow-color: transparent; |
38 | $input-radius: 0; | 38 | $link: $primary; |
39 | $loading-background: $panel-top-bgcolor; | 39 | $link-visited: $link; |
40 | $link-hover: $palette-100; | ||
41 | $disabled-color: $palette-400; | ||
42 | $radius: 0; | ||
43 | $loading-background: $palette-800; | ||
44 | $title-color: $palette-200; | ||
45 | $title-size: $size-5; | ||
46 | $tag-background-color: $palette-800; | ||
47 | |||
48 | |||
49 | // Custom components | ||
50 | |||
51 | $panel-top-bgcolor: $palette-800; | ||
52 | $panel-top-txtcolor: $primary; | ||
53 | $panel-left-bgcolor: $palette-800; | ||
54 | $panel-left-txtcolor: $primary; | ||
55 | $command-buttons-bgcolor: $palette-700; | ||
56 | $content-bgcolor: $palette-900; | ||
57 | $toolbar-color: $palette-300; // FIXME: should be named "scrollbar" | ||
58 | $loader-color: $palette-800; | ||
59 | $input-tag-delete-background-color: $palette-700; | ||
60 | |||
61 | |||
62 | // Layout | ||
63 | |||
64 | $layout-top: 45px; | ||
65 | $layout-left: 250px; | ||
diff --git a/viewer/src/components/LdBreadcrumb.vue b/viewer/src/components/LdBreadcrumb.vue index 171e96a..ebefc50 100644 --- a/viewer/src/components/LdBreadcrumb.vue +++ b/viewer/src/components/LdBreadcrumb.vue | |||
@@ -45,7 +45,6 @@ export default class LdBreadcrumb extends Vue { | |||
45 | @import "@/assets/scss/theme.scss"; | 45 | @import "@/assets/scss/theme.scss"; |
46 | 46 | ||
47 | .ld-breadcrumb { | 47 | .ld-breadcrumb { |
48 | border-left: 1px solid $disabled-color; | ||
49 | padding-left: 15px; | 48 | padding-left: 15px; |
50 | display: flex; | 49 | display: flex; |
51 | list-style: none; | 50 | list-style: none; |
diff --git a/viewer/src/components/LdCommand.vue b/viewer/src/components/LdCommand.vue index 8c6ccfc..7590ea7 100644 --- a/viewer/src/components/LdCommand.vue +++ b/viewer/src/components/LdCommand.vue | |||
@@ -2,6 +2,7 @@ | |||
2 | -- pictures into a searchable web gallery. | 2 | -- pictures into a searchable web gallery. |
3 | -- | 3 | -- |
4 | -- Copyright (C) 2019-2020 Guillaume FOUET | 4 | -- Copyright (C) 2019-2020 Guillaume FOUET |
5 | -- 2020 Pacien TRAN-GIRARD | ||
5 | -- | 6 | -- |
6 | -- This program is free software: you can redistribute it and/or modify | 7 | -- This program is free software: you can redistribute it and/or modify |
7 | -- it under the terms of the GNU Affero General Public License as | 8 | -- it under the terms of the GNU Affero General Public License as |
@@ -19,16 +20,21 @@ | |||
19 | 20 | ||
20 | <template> | 21 | <template> |
21 | <div class="flex command-btns"> | 22 | <div class="flex command-btns"> |
22 | <div class="link" :title="$t('title.tags')" @click="$uiStore.toggleFullWidth()"> | 23 | <a class="link" :title="$t('command.search')" @click="$uiStore.toggleFullWidth()"> |
23 | <fa-icon :icon="commandTagsIcon()" size="lg" /> | 24 | <fa-icon :icon="commandToggleSearchPanelIcon()" size="lg" /> |
24 | </div> | 25 | </a> |
25 | <router-link to="/" :class="{'disabled': isRoot()}" :title="$t('title.home')"> | 26 | <router-link |
27 | to="/" | ||
28 | class="command-secondary" | ||
29 | :class="{'disabled': isRoot()}" | ||
30 | :title="$t('command.home')" | ||
31 | > | ||
26 | <fa-icon icon="home" size="lg" /> | 32 | <fa-icon icon="home" size="lg" /> |
27 | </router-link> | 33 | </router-link> |
28 | <div class="link" :title="$t('title.back')" @click="$router.go(-1)"> | 34 | <a class="link command-secondary" :title="$t('command.back')" @click="$router.go(-1)"> |
29 | <fa-icon icon="arrow-left" size="lg" /> | 35 | <fa-icon icon="arrow-left" size="lg" /> |
30 | </div> | 36 | </a> |
31 | <router-link :class="{'disabled': isRoot()}" :title="$t('title.parent')" :to="parent()"> | 37 | <router-link :class="{'disabled': isRoot()}" :title="$t('command.parent')" :to="parent()"> |
32 | <fa-icon icon="folder" size="xs" /> | 38 | <fa-icon icon="folder" size="xs" /> |
33 | <fa-icon icon="level-up-alt" size="lg" /> | 39 | <fa-icon icon="level-up-alt" size="lg" /> |
34 | </router-link> | 40 | </router-link> |
@@ -41,8 +47,8 @@ import { RawLocation } from "vue-router"; | |||
41 | 47 | ||
42 | @Component | 48 | @Component |
43 | export default class LdCommand extends Vue { | 49 | export default class LdCommand extends Vue { |
44 | commandTagsIcon(): string { | 50 | commandToggleSearchPanelIcon(): string { |
45 | return this.$uiStore.fullWidth ? "tags" : "window-close"; | 51 | return this.$uiStore.fullWidth ? "search" : "angle-double-left"; |
46 | } | 52 | } |