Skip to content

Commit 4dd13f7

Browse files
authored
Update screensaver.js (messages, memory, session history)
better build messages function. memory improvements. sessions now have their own message history or should at least.
1 parent c86827b commit 4dd13f7

File tree

1 file changed

+1
-19
lines changed

1 file changed

+1
-19
lines changed

ai/screensaver.js

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
document.addEventListener("DOMContentLoaded", () => {
2-
// Screensaver Elements
32
const screensaverContainer = document.getElementById("screensaver-container");
43
const toggleScreensaverButton = document.getElementById("toggle-screensaver");
54
const fullscreenButton = document.getElementById("fullscreen-screensaver");
@@ -9,21 +8,18 @@ document.addEventListener("DOMContentLoaded", () => {
98
const copyButton = document.getElementById("screensaver-copy");
109
const screensaverImage = document.getElementById("screensaver-image");
1110

12-
// Extended controls
1311
const promptInput = document.getElementById("screensaver-prompt");
1412
const timerInput = document.getElementById("screensaver-timer");
1513
const aspectSelect = document.getElementById("screensaver-aspect");
1614
const enhanceCheckbox = document.getElementById("screensaver-enhance");
1715
const privateCheckbox = document.getElementById("screensaver-private");
1816
const modelSelect = document.getElementById("screensaver-model");
1917

20-
// Internal state
2118
let screensaverActive = false;
2219
let imageInterval = null;
2320
let paused = false;
2421
let isFullscreen = false;
2522

26-
// ========== TOOLTIP SETUP ==========
2723
toggleScreensaverButton.title = "Toggle the screensaver on/off.";
2824
fullscreenButton.title = "Go full screen (or exit it).";
2925
stopButton.title = "Stop the screensaver.";
@@ -37,7 +33,6 @@ document.addEventListener("DOMContentLoaded", () => {
3733
enhanceCheckbox.title = "If enabled, the prompt is 'enhanced' via an LLM.";
3834
privateCheckbox.title = "If enabled, the image won't appear on the public feed.";
3935

40-
// ========== LOCAL STORAGE HELPERS ==========
4136
function saveScreensaverSettings() {
4237
const settings = {
4338
prompt: promptInput.value,
@@ -68,7 +63,6 @@ document.addEventListener("DOMContentLoaded", () => {
6863

6964
loadScreensaverSettings();
7065

71-
// Generate a random seed for pollinations
7266
function generateSeed() {
7367
const length = Math.floor(Math.random() * 8) + 1;
7468
let seed = "";
@@ -78,7 +72,6 @@ document.addEventListener("DOMContentLoaded", () => {
7872
return seed;
7973
}
8074

81-
// Figure out width/height from the aspect ratio
8275
function getDimensions(aspect) {
8376
switch (aspect) {
8477
case "widescreen": return { width: 1280, height: 720 };
@@ -88,7 +81,6 @@ document.addEventListener("DOMContentLoaded", () => {
8881
}
8982
}
9083

91-
// Fetch a new image from pollinations
9284
function fetchNewImage() {
9385
saveScreensaverSettings();
9486
const prompt = promptInput.value || "random artistic scene, high quality, detailed";
@@ -105,7 +97,6 @@ document.addEventListener("DOMContentLoaded", () => {
10597
screensaverImage.src = url;
10698
}
10799

108-
// Set or reset the interval for fetching new images
109100
function setOrResetInterval() {
110101
clearInterval(imageInterval);
111102
const intervalSeconds = parseInt(timerInput.value) || 30;
@@ -115,7 +106,6 @@ document.addEventListener("DOMContentLoaded", () => {
115106
window.imageInterval = imageInterval;
116107
}
117108

118-
// Start screensaver
119109
function startScreensaver() {
120110
screensaverActive = true;
121111
paused = false;
@@ -142,7 +132,6 @@ document.addEventListener("DOMContentLoaded", () => {
142132
window.screensaverActive = true;
143133
}
144134

145-
// Stop screensaver
146135
function stopScreensaver() {
147136
screensaverActive = false;
148137
paused = false;
@@ -166,7 +155,6 @@ document.addEventListener("DOMContentLoaded", () => {
166155
}
167156
}
168157

169-
// Toggle pause
170158
function togglePause() {
171159
paused = !paused;
172160
playPauseButton.innerHTML = paused ? "▶️" : "⏸️";
@@ -175,7 +163,6 @@ document.addEventListener("DOMContentLoaded", () => {
175163
window.showToast(paused ? "Screensaver paused" : "Screensaver resumed");
176164
}
177165

178-
// Save image to disk
179166
function saveImage() {
180167
if (!screensaverImage.src) {
181168
window.showToast("No image to save");
@@ -200,7 +187,6 @@ document.addEventListener("DOMContentLoaded", () => {
200187
});
201188
}
202189

203-
// Copy image to clipboard
204190
function copyImage() {
205191
if (!screensaverImage.src) {
206192
window.showToast("No image to copy");
@@ -257,7 +243,6 @@ document.addEventListener("DOMContentLoaded", () => {
257243
}
258244
}
259245

260-
// Toggle fullscreen
261246
function toggleFullscreen() {
262247
if (!screensaverActive) {
263248
window.showToast("Start the screensaver first!");
@@ -282,7 +267,6 @@ document.addEventListener("DOMContentLoaded", () => {
282267
}
283268
}
284269

285-
// Event listeners
286270
toggleScreensaverButton.addEventListener("click", () => {
287271
screensaverActive ? stopScreensaver() : startScreensaver();
288272
});
@@ -332,7 +316,6 @@ document.addEventListener("DOMContentLoaded", () => {
332316
}
333317
});
334318

335-
// Toast notification
336319
window.showToast = function(message, duration = 3000) {
337320
let toast = document.getElementById('toast-notification');
338321
if (!toast) {
@@ -347,7 +330,6 @@ document.addEventListener("DOMContentLoaded", () => {
347330
toast.timeout = setTimeout(() => toast.style.opacity = '0', duration);
348331
};
349332

350-
// Global functions
351333
window.startScreensaver = startScreensaver;
352334
window.stopScreensaver = stopScreensaver;
353335
window.togglePause = togglePause;
@@ -356,4 +338,4 @@ document.addEventListener("DOMContentLoaded", () => {
356338
window.toggleFullscreen = toggleFullscreen;
357339

358340
console.log("Screensaver fully initialized with all buttons functional");
359-
});
341+
});

0 commit comments

Comments
 (0)