aboutsummaryrefslogtreecommitdiff
path: root/viewer/src
diff options
context:
space:
mode:
Diffstat (limited to 'viewer/src')
-rw-r--r--viewer/src/assets/scss/global.scss14
-rw-r--r--viewer/src/assets/scss/palette.scss31
-rw-r--r--viewer/src/assets/scss/theme.scss62
-rw-r--r--viewer/src/components/LdBreadcrumb.vue1
-rw-r--r--viewer/src/components/LdCommand.vue48
-rw-r--r--viewer/src/components/LdProposition.vue30
-rw-r--r--viewer/src/locales/en.json14
-rw-r--r--viewer/src/plugins/fontawesome.ts6
8 files changed, 154 insertions, 52 deletions
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
43export default class LdCommand extends Vue { 49export 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