diff --git a/src/renderer/components/TimelineSpace.vue b/src/renderer/components/TimelineSpace.vue
index 14d98656..512231b0 100644
--- a/src/renderer/components/TimelineSpace.vue
+++ b/src/renderer/components/TimelineSpace.vue
@@ -11,6 +11,7 @@
+
@@ -19,10 +20,11 @@ import SideMenu from './TimelineSpace/SideMenu'
import HeaderMenu from './TimelineSpace/HeaderMenu'
import NewTootModal from './TimelineSpace/NewTootModal'
import JumpModal from './TimelineSpace/JumpModal'
+import ImageViewer from './TimelineSpace/Modals/ImageViewer'
export default {
name: 'timeline-space',
- components: { SideMenu, HeaderMenu, NewTootModal, JumpModal },
+ components: { SideMenu, HeaderMenu, NewTootModal, JumpModal, ImageViewer },
created () {
const loading = this.$loading({
lock: true,
diff --git a/src/renderer/components/TimelineSpace/Cards/Toot.vue b/src/renderer/components/TimelineSpace/Cards/Toot.vue
index 8c3addd5..9fe01945 100644
--- a/src/renderer/components/TimelineSpace/Cards/Toot.vue
+++ b/src/renderer/components/TimelineSpace/Cards/Toot.vue
@@ -15,7 +15,7 @@
@@ -127,6 +127,9 @@ export default {
})
})
}
+ },
+ openImage (url) {
+ this.$store.dispatch('TimelineSpace/Modals/ImageViewer/openModal', url)
}
}
}
@@ -195,6 +198,7 @@ function findLink (target) {
.attachments {
.media {
img {
+ cursor: zoom-in;
width: 200px;
max-width: 100%;
border-radius: 8px;
diff --git a/src/renderer/components/TimelineSpace/Modals/ImageViewer.vue b/src/renderer/components/TimelineSpace/Modals/ImageViewer.vue
new file mode 100644
index 00000000..86a439de
--- /dev/null
+++ b/src/renderer/components/TimelineSpace/Modals/ImageViewer.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/renderer/store/TimelineSpace.js b/src/renderer/store/TimelineSpace.js
index fdfafba5..ef7d57dd 100644
--- a/src/renderer/store/TimelineSpace.js
+++ b/src/renderer/store/TimelineSpace.js
@@ -9,6 +9,7 @@ import Public from './TimelineSpace/Public'
import Cards from './TimelineSpace/Cards'
import NewTootModal from './TimelineSpace/NewTootModal'
import JumpModal from './TimelineSpace/JumpModal'
+import Modals from './TimelineSpace/Modals'
import router from '../router'
const TimelineSpace = {
@@ -22,7 +23,8 @@ const TimelineSpace = {
Public,
Cards,
NewTootModal,
- JumpModal
+ JumpModal,
+ Modals
},
state: {
account: {
diff --git a/src/renderer/store/TimelineSpace/Modals.js b/src/renderer/store/TimelineSpace/Modals.js
new file mode 100644
index 00000000..c4e66087
--- /dev/null
+++ b/src/renderer/store/TimelineSpace/Modals.js
@@ -0,0 +1,10 @@
+import ImageViewer from './Modals/ImageViewer'
+
+const Modals = {
+ namespaced: true,
+ modules: {
+ ImageViewer
+ }
+}
+
+export default Modals
diff --git a/src/renderer/store/TimelineSpace/Modals/ImageViewer.js b/src/renderer/store/TimelineSpace/Modals/ImageViewer.js
new file mode 100644
index 00000000..016d3d47
--- /dev/null
+++ b/src/renderer/store/TimelineSpace/Modals/ImageViewer.js
@@ -0,0 +1,27 @@
+const ImageViewer = {
+ namespaced: true,
+ state: {
+ modalOpen: false,
+ imageURL: ''
+ },
+ mutations: {
+ changeModal (state, value) {
+ state.modalOpen = value
+ },
+ changeImageURL (state, url) {
+ state.imageURL = url
+ }
+ },
+ actions: {
+ openModal ({ commit }, url) {
+ commit('changeModal', true)
+ commit('changeImageURL', url)
+ },
+ closeModal ({ commit }) {
+ commit('changeModal', false)
+ commit('changeImageURL', '')
+ }
+ }
+}
+
+export default ImageViewer