summaryrefslogtreecommitdiff
path: root/src/connector.js
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2025-05-31 17:17:49 -0500
committerTim Keller <tjk@tjkeller.xyz>2025-05-31 17:17:49 -0500
commit9e8bc4a1e2361c4a4e4a0657df9cd893acc68682 (patch)
treef4b165ebbb404c5b720a1fba85231bc924a45a2c /src/connector.js
parentcaacbe50c567da5d267558b52b69120d1ccabd42 (diff)
downloadimmich-frame-9e8bc4a1e2361c4a4e4a0657df9cd893acc68682.tar.xz
immich-frame-9e8bc4a1e2361c4a4e4a0657df9cd893acc68682.zip
connector communicates with websocket and make slides into class
Diffstat (limited to 'src/connector.js')
-rw-r--r--src/connector.js21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/connector.js b/src/connector.js
index 1fa513b..6c557a8 100644
--- a/src/connector.js
+++ b/src/connector.js
@@ -1,6 +1,24 @@
+import io from "socket.io-client"
+
class APIConnector {
constructor(url) {
this.url = url ?? ""
+ this.socket = io(url)
+
+ this.asset_index = 0
+ this.asset = null
+ this.prevAssets = null
+ this.nextAssets = null
+ this.seekCallbacks = []
+
+ this.socket.on("seek", e => {
+ this.asset_index = e.asset_index
+ this.asset = e.asset
+ this.prevAssets = e.prev_assets
+ this.nextAssets = e.next_assets
+ for (const cb of this.seekCallbacks)
+ cb()
+ })
}
#fetch(endpoint) {
@@ -23,7 +41,8 @@ class APIConnector {
}
seek(increment) {
- return this.fetch(`/seek?increment=${increment}`)
+ //return this.fetch(`/seek?increment=${increment}`)
+ this.socket.emit("seek", increment)
}
fetchAlbums() {