diff --git a/frontend/src/components/CursorTooltip.vue b/frontend/src/components/CursorTooltip.vue
new file mode 100644
index 0000000..66000b3
--- /dev/null
+++ b/frontend/src/components/CursorTooltip.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/components/FileModified.vue b/frontend/src/components/FileModified.vue
index 5c9d2f4..5481c13 100644
--- a/frontend/src/components/FileModified.vue
+++ b/frontend/src/components/FileModified.vue
@@ -2,15 +2,11 @@
-
-
- {{ tooltipText }}
-
-
+ {{ tooltipText }}
|
@@ -18,12 +14,15 @@
import { Doc } from '@/repositories/Document'
import { formatUnixDate } from '@/utils'
import { computed, ref } from 'vue'
+import CursorTooltip from './CursorTooltip.vue'
const props = defineProps<{
doc: Doc
now: number
}>()
+const tooltip = ref | null>(null)
+
// Reference props.now to trigger reactivity when time updates
const modified = computed(() => {
props.now // trigger reactivity
@@ -37,50 +36,4 @@ const datetime = computed(() =>
const tooltipText = computed(() =>
datetime.value.replace('T', ' ').replace('Z', ' UTC')
)
-
-const showTooltip = ref(false)
-const mouseX = ref(0)
-const mouseY = ref(0)
-let hoverTimer: ReturnType | null = null
-
-const tooltipStyle = computed(() => ({
- left: `${mouseX.value + 12}px`,
- top: `${mouseY.value + 12}px`,
-}))
-
-const startHover = (e: MouseEvent) => {
- mouseX.value = e.clientX
- mouseY.value = e.clientY
- hoverTimer = setTimeout(() => {
- showTooltip.value = true
- }, 500)
-}
-
-const updatePosition = (e: MouseEvent) => {
- mouseX.value = e.clientX
- mouseY.value = e.clientY
-}
-
-const endHover = () => {
- if (hoverTimer) {
- clearTimeout(hoverTimer)
- hoverTimer = null
- }
- showTooltip.value = false
-}
-
-
diff --git a/frontend/src/components/GalleryFigure.vue b/frontend/src/components/GalleryFigure.vue
index 182c248..f0e33d9 100644
--- a/frontend/src/components/GalleryFigure.vue
+++ b/frontend/src/components/GalleryFigure.vue
@@ -4,6 +4,9 @@
@contextmenu.stop
@focus.stop="store.cursor = doc.key"
@click=onclick
+ @mouseenter="tooltip?.startHover"
+ @mousemove="tooltip?.updatePosition"
+ @mouseleave="tooltip?.endHover"
>
@@ -15,19 +18,24 @@
- {{ doc.name }}
+ {{ doc.name }}
+
+ {{ doc.name }}
+ {{ doc.modified }} — {{ doc.sizedisp }}
+