Adjustable slideshow delay

This commit is contained in:
2023-06-23 16:48:39 -04:00
parent 701172c982
commit bea8c7c44b
3 changed files with 77 additions and 88 deletions

View File

@@ -1,12 +1,12 @@
// TODO:
// - Add image fading
// - Add adjustable timing
// + Add adjustable timing
// - Add random timing option
let socket
let socketStatus = false
let mimes = {}
let timer
let jsonValid = (json) => {
try {
@@ -81,7 +81,7 @@ let preloadImage = (url, callback) => {
header += "image/" + extension
}
header += ";base64,"
console.log(("%c" + header + imageData), "color: #A3BE8C; font-family: monospace; font-size: 8px;")
// console.log(("%c" + header + imageData), "color: #A3BE8C; font-family: monospace; font-size: 8px;")
callback(header + imageData)
}
}else {
@@ -108,7 +108,9 @@ let dumpStorage = () => {
// console.log(' Token' + localStorage.getItem('token'))
console.log(' System:' + localStorage.getItem('systemId'))
console.log(' Socket:' + localStorage.getItem('socket'))
console.log(' Wallpapers:' + localStorage.getItem('wallpapers'))
console.log(' Slide Delay:' + localStorage.getItem('timeout_m') + "m " + localStorage.getItem('timeout_s') + "s")
console.log(' Wallpapers:')
console.log(("%c "+localStorage.getItem('wallpapers')), "color: #A3BE8C; font-family: monospace; font-size: 8px;")
}
let grabLatestFronter = () => {
@@ -153,10 +155,21 @@ let pickWallpaper = () => {
}
urlExists(wallpaper, (exists) => {
if (exists) {
let delay_s = localStorage.getItem('timeout_s')
if (delay_s == null) {
delay_s = 30
localStorage.setItem('timeout_s', delay_s)
}
let delay_m = localStorage.getItem('timeout_m')
if (delay_m == null) {
delay_m = 0
localStorage.setItem('timeout_m', delay_m)
}
let delay = (parseFloat(delay_s) * 1000) + (parseInt(delay_m) * 60000)
setWallpaper(wallpaper)
setTimeout(() => {
timer = setTimeout(() => {
pickWallpaper()
}, 30000)
}, delay)
} else {
console.log(`%c${wallpaper} does not exist`, 'color: #BF616A; font-size: 18px; font-family: monospace;')
// Remove wallpaper from list
@@ -190,13 +203,10 @@ let loadSocket = () => {
// e.data contains member ID
// console.dir(e)
localStorage.setItem('member', e.data)
if (timer) {
clearTimeout(timer)
}
pickWallpaper()
// Copilot-generated Code
// let data = JSON.parse(e.data)
// if (data.type === 'wallpaper') {
// setWallpaper(data.path)
// }
}
socket.onclose = (e) => {
console.log('%cSocket Closed', 'color: #BF616A; font-size: 18px; font-family: serif;')
@@ -212,29 +222,28 @@ let loadSocket = () => {
}
window.wallpaperPropertyListener = {
applyUserProperties: function(properties) {
// Grab PKit token, System ID, and Socket URI
// if (properties.token) {
// // config.token = properties.token.value
// localStorage.setItem('token', properties.token.value)
// }
applyUserProperties: async (properties) => {
if (properties.timeout_s) {
localStorage.setItem('timeout_s', properties.timeout_s.value)
}
if (properties.timeout_m) {
localStorage.setItem('timeout_m', properties.timeout_m.value)
}
if (properties.systemid) {
// config.systemId = properties.systemid.value
localStorage.setItem('systemId', properties.systemid.value)
}
if (properties.uri) {
// config.socket = properties.uri.value
localStorage.setItem('socket', properties.uri.value)
// Reload Socket
if (socketStatus) {
socketStatus = false
socket.close()
}
loadSocket()
}
dumpStorage()
// Reload Socket
if (socketStatus) {
socketStatus = false
socket.close()
}
loadSocket()
},
userDirectoryFilesAddedOrChanged: function(propertyName, changedFiles) {
userDirectoryFilesAddedOrChanged: async (propertyName, changedFiles) => {
// Do something with the list of added files here
// console.dir(propertyName)
console.dir(changedFiles) // Array of filepaths added