aboutsummaryrefslogtreecommitdiff
path: root/viewer
diff options
context:
space:
mode:
Diffstat (limited to 'viewer')
-rw-r--r--viewer/ldgallery-viewer.7.md9
-rw-r--r--viewer/package.json16
-rw-r--r--viewer/src/components/async/AsyncLdMarkdown.vue14
-rw-r--r--viewer/src/views/ItemThumbnail.vue2
-rw-r--r--viewer/src/views/MainLayout.vue5
-rw-r--r--viewer/src/views/item_handlers/AudioViewer.vue11
-rw-r--r--viewer/src/views/layout/left/LayoutInformation.vue8
-rw-r--r--viewer/src/views/layout/left/LayoutTagInput.vue16
-rw-r--r--viewer/yarn.lock1490
9 files changed, 822 insertions, 749 deletions
diff --git a/viewer/ldgallery-viewer.7.md b/viewer/ldgallery-viewer.7.md
index c0634b6..736f61f 100644
--- a/viewer/ldgallery-viewer.7.md
+++ b/viewer/ldgallery-viewer.7.md
@@ -2,7 +2,7 @@
2pagetitle: Viewer user manual - ldgallery 2pagetitle: Viewer user manual - ldgallery
3title: LDGALLERY-VIEWER(7) ldgallery 3title: LDGALLERY-VIEWER(7) ldgallery
4author: Pacien TRAN-GIRARD, Guillaume FOUET 4author: Pacien TRAN-GIRARD, Guillaume FOUET
5date: 2022-09-04 (v2.1) 5date: 2022-10-26 (v2.1-SNAPSHOT)
6--- 6---
7 7
8 8
@@ -43,6 +43,13 @@ Items of the following formats can be opened and visualised within the web appli
43Formats which are not listed above or which are not supported by the user's web browser are offered for download instead of being directly displayed in the same window. 43Formats which are not listed above or which are not supported by the user's web browser are offered for download instead of being directly displayed in the same window.
44 44
45 45
46# KEYBOARD SHORTCUTS
47
48`CTRL-K`
49: Moves the focus to the tag search field, opening the side search panel if it is closed.
50 Pressing again while in the search input field sets the focus to the browser's address bar.
51
52
46# SEARCH QUERIES 53# SEARCH QUERIES
47 54
48Items can be filtered based on their tags. 55Items can be filtered based on their tags.
diff --git a/viewer/package.json b/viewer/package.json
index c93b022..4850db6 100644
--- a/viewer/package.json
+++ b/viewer/package.json
@@ -12,21 +12,21 @@
12 "@fortawesome/fontawesome-svg-core": "6.1.2", 12 "@fortawesome/fontawesome-svg-core": "6.1.2",
13 "@fortawesome/free-solid-svg-icons": "6.1.2", 13 "@fortawesome/free-solid-svg-icons": "6.1.2",
14 "@fortawesome/vue-fontawesome": "3.0.1", 14 "@fortawesome/vue-fontawesome": "3.0.1",
15 "@vueuse/core": "9.1.1", 15 "@vueuse/core": "9.3.1",
16 "core-js": "3.25.0", 16 "core-js": "3.25.0",
17 "hammerjs": "2.0.8", 17 "hammerjs": "2.0.8",
18 "marked": "4.0.19", 18 "marked": "4.1.1",
19 "mosha-vue-toastify": "1.0.23", 19 "mosha-vue-toastify": "1.0.23",
20 "pinia": "2.0.21", 20 "pinia": "2.0.23",
21 "v-lazy-image": "2.1.1", 21 "v-lazy-image": "2.1.1",
22 "vue": "3.2.37", 22 "vue": "3.2.41",
23 "vue-dragscroll": "4.0.4", 23 "vue-dragscroll": "4.0.4",
24 "vue-i18n": "9.1.10", 24 "vue-i18n": "9.1.10",
25 "vue-router": "4.1.5" 25 "vue-router": "4.1.6"
26 }, 26 },
27 "devDependencies": { 27 "devDependencies": {
28 "@types/hammerjs": "2.0.41", 28 "@types/hammerjs": "2.0.41",
29 "@types/marked": "4.0.6", 29 "@types/marked": "4.0.7",
30 "@typescript-eslint/eslint-plugin": "5.31.0", 30 "@typescript-eslint/eslint-plugin": "5.31.0",
31 "@typescript-eslint/parser": "5.31.0", 31 "@typescript-eslint/parser": "5.31.0",
32 "@vue/cli-plugin-babel": "5.0.8", 32 "@vue/cli-plugin-babel": "5.0.8",
@@ -44,8 +44,8 @@
44 "js-yaml-loader": "1.2.2", 44 "js-yaml-loader": "1.2.2",
45 "sass": "1.54.0", 45 "sass": "1.54.0",
46 "sass-loader": "13.0.2", 46 "sass-loader": "13.0.2",
47 "typescript": "4.7.4", 47 "typescript": "4.8.4",
48 "vue-cli-plugin-pinia": "0.1.4" 48 "vue-cli-plugin-pinia": "0.1.6"
49 }, 49 },
50 "homepage": "https://ldgallery.pacien.org/", 50 "homepage": "https://ldgallery.pacien.org/",
51 "license": "AGPL-3" 51 "license": "AGPL-3"
diff --git a/viewer/src/components/async/AsyncLdMarkdown.vue b/viewer/src/components/async/AsyncLdMarkdown.vue
index 213c11c..c3f368a 100644
--- a/viewer/src/components/async/AsyncLdMarkdown.vue
+++ b/viewer/src/components/async/AsyncLdMarkdown.vue
@@ -40,7 +40,6 @@ const html = computed(() => marked(props.markdown));
40<style lang="scss" module> 40<style lang="scss" module>
41.markdown { 41.markdown {
42 color: white; 42 color: white;
43 line-height: 1.7;
44 word-wrap: break-word; 43 word-wrap: break-word;
45 44
46 a { 45 a {
@@ -52,19 +51,10 @@ const html = computed(() => marked(props.markdown));
52 background-color: #666; 51 background-color: #666;
53 } 52 }
54 53
55 p,
56 blockquote,
57 ul,
58 ol,
59 dl,
60 table,
61 pre {
62 margin: 15px 0;
63 }
64
65 ul, 54 ul,
66 ol { 55 ol {
67 padding-left: 30px; 56 list-style-type: disc;
57 padding-left: 1em;
68 } 58 }
69 59
70 h1 { 60 h1 {
diff --git a/viewer/src/views/ItemThumbnail.vue b/viewer/src/views/ItemThumbnail.vue
index 1c9e206..bf33043 100644
--- a/viewer/src/views/ItemThumbnail.vue
+++ b/viewer/src/views/ItemThumbnail.vue
@@ -40,7 +40,7 @@
40 size="4x" 40 size="4x"
41 /> 41 />
42 </div> 42 </div>
43 {{ item.title }} 43 <div v-text="item.title" />
44 </div> 44 </div>
45 </div> 45 </div>
46</template> 46</template>
diff --git a/viewer/src/views/MainLayout.vue b/viewer/src/views/MainLayout.vue
index d8b3300..30bfe97 100644
--- a/viewer/src/views/MainLayout.vue
+++ b/viewer/src/views/MainLayout.vue
@@ -26,7 +26,10 @@
26 /> 26 />
27 <template v-else-if="galleryStore.config && galleryStore.galleryIndex"> 27 <template v-else-if="galleryStore.config && galleryStore.galleryIndex">
28 <LayoutTop :class="[$style.layout, $style.layoutTop]" /> 28 <LayoutTop :class="[$style.layout, $style.layoutTop]" />
29 <LayoutLeft :class="[$style.layout, $style.layoutLeft]" /> 29 <LayoutLeft
30 v-show="!uiStore.fullWidth"
31 :class="[$style.layout, $style.layoutLeft]"
32 />
30 <router-view 33 <router-view
31 ref="content" 34 ref="content"
32 :class="[$style.layout, $style.layoutContent]" 35 :class="[$style.layout, $style.layoutContent]"
diff --git a/viewer/src/views/item_handlers/AudioViewer.vue b/viewer/src/views/item_handlers/AudioViewer.vue
index da9579f..bbba7e5 100644
--- a/viewer/src/views/item_handlers/AudioViewer.vue
+++ b/viewer/src/views/item_handlers/AudioViewer.vue
@@ -20,7 +20,10 @@
20 20
21<template> 21<template>
22 <div class="flex-column container-vh-centering"> 22 <div class="flex-column container-vh-centering">
23 <ItemThumbnail :item="item" /> 23 <ItemThumbnail
24 :item="item"
25 :class="$style.audiothumb"
26 />
24 <audio 27 <audio
25 :class="$style.player" 28 :class="$style.player"
26 :src="itemResourceUrl" 29 :src="itemResourceUrl"
@@ -56,6 +59,12 @@ const itemFileName = computed(() => navigation.getFileName(props.item));
56</script> 59</script>
57 60
58<style lang="scss" module> 61<style lang="scss" module>
62@import "~@/assets/scss/theme";
63
64.audiothumb {
65 color: $text-light;
66}
67
59.player { 68.player {
60 width: 100%; 69 width: 100%;
61 max-width: 500px; 70 max-width: 500px;
diff --git a/viewer/src/views/layout/left/LayoutInformation.vue b/viewer/src/views/layout/left/LayoutInformation.vue
index 780a458..9dfb311 100644
--- a/viewer/src/views/layout/left/LayoutInformation.vue
+++ b/viewer/src/views/layout/left/LayoutInformation.vue
@@ -67,6 +67,7 @@ const formatDate = computed(() => {
67.infopanel { 67.infopanel {
68 padding: 2px 2px 7px 7px; 68 padding: 2px 2px 7px 7px;
69 overflow-wrap: break-word; 69 overflow-wrap: break-word;
70 max-height: 50%;
70 71
71 .title { 72 .title {
72 font-weight: bold; 73 font-weight: bold;
@@ -80,13 +81,6 @@ const formatDate = computed(() => {
80 > * { 81 > * {
81 margin-top: 5px; 82 margin-top: 5px;
82 } 83 }
83 ul,
84 ol {
85 margin-left: 1em;
86 }
87 ul {
88 list-style-type: disc;
89 }
90 a { 84 a {
91 color: $palette-200; 85 color: $palette-200;
92 &:hover { 86 &:hover {
diff --git a/viewer/src/views/layout/left/LayoutTagInput.vue b/viewer/src/views/layout/left/LayoutTagInput.vue
index a37c546..9ee6f8a 100644
--- a/viewer/src/views/layout/left/LayoutTagInput.vue
+++ b/viewer/src/views/layout/left/LayoutTagInput.vue
@@ -23,7 +23,7 @@
23 v-model="search" 23 v-model="search"
24 :placeholder="t('tagInput.placeholder')" 24 :placeholder="t('tagInput.placeholder')"
25 :tabindex="50" 25 :tabindex="50"
26 @focus="e => (e.target as HTMLInputElement).select()" 26 @focus="(e: FocusEvent) => (e.target as HTMLInputElement).select()"
27 @keypress.enter="inputEnter" 27 @keypress.enter="inputEnter"
28 @keydown.backspace="inputBackspace" 28 @keydown.backspace="inputBackspace"
29 /> 29 />
@@ -58,7 +58,8 @@ import LdDropdown from '@/components/LdDropdown.vue';
58import LdInput from '@/components/LdInput.vue'; 58import LdInput from '@/components/LdInput.vue';
59import { useIndexFactory } from '@/services/indexFactory';