diff options
Diffstat (limited to 'viewer/src')
-rw-r--r-- | viewer/src/assets/scss/global.scss | 1 | ||||
-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 |
8 files changed, 141 insertions, 52 deletions
diff --git a/viewer/src/assets/scss/global.scss b/viewer/src/assets/scss/global.scss index d6b6562..ed69841 100644 --- a/viewer/src/assets/scss/global.scss +++ b/viewer/src/assets/scss/global.scss | |||
@@ -60,6 +60,7 @@ | |||
60 | 60 | ||
61 | .disabled { | 61 | .disabled { |
62 | color: $disabled-color !important; | 62 | color: $disabled-color !important; |
63 | cursor: initial; | ||
63 | } | 64 | } |
64 | 65 | ||
65 | // Disable sticky hover styling on touch devices, | 66 | // Disable sticky hover styling on touch devices, |
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 | } |
47 | 53 | ||
48 | isRoot(): boolean { | 54 | isRoot(): boolean { |
@@ -57,18 +63,30 @@ export default class LdCommand extends Vue { | |||
57 | </script> | 63 | </script> |
58 | 64 | ||
59 | <style lang="scss"> | 65 | <style lang="scss"> |
66 | @import "@/assets/scss/_buefy_variables.scss"; | ||
60 | @import "@/assets/scss/theme.scss"; | 67 | @import "@/assets/scss/theme.scss"; |
61 | 68 | ||
62 | .command-btns { | 69 | .command-btns { |
70 | background-color: $command-buttons-bgcolor; | ||
63 | justify-content: space-around; | 71 | justify-content: space-around; |
64 | vertical-align: middle; | 72 | vertical-align: middle; |
65 | align-items: center; | 73 | align-items: center; |
66 | width: $layout-left; | 74 | flex: 0 0 $layout-left; |
67 | > * { | 75 | |
68 | // Unify the minor size differences between icons | 76 | > a { |
69 | width: 26px; | 77 | // normalise icon active boxes |
70 | height: 26px; | 78 | width: $layout-top; |
71 | margin-top: 2px; | 79 | line-height: $layout-top; |
80 | text-align: center; | ||
81 | vertical-align: middle; | ||
82 | } | ||
83 | |||
84 | @media only screen and (max-width: $tablet) { | ||
85 | flex: 0 1; | ||