Font Playlist Script Direct
function stopAutoRotate() if (intervalId) clearInterval(intervalId); intervalId = null; isPlaying = false;
<!-- Playback controls --> <div class="playlist-panel"> <div class="playback-buttons"> <button id="prevBtn" title="Previous Font">⏮️ Prev</button> <button id="playBtn" class="btn-primary">▶️ Play</button> <button id="pauseBtn">⏸️ Pause</button> <button id="nextBtn" title="Next Font">⏭️ Next</button> <button id="darkModeBtn">🌙 Dark/Light</button> </div> <div class="counter" id="fontCounter">Font 1 of 6</div> </div>
// Helper: update preview font + text function updateDisplay() if (!playlist.length) displayDiv.style.fontFamily = "sans-serif"; currentFontLabel.innerText = "Font: none"; fontCounterSpan.innerText = `Font 0 of 0`; return; const currentFont = playlist[currentIndex]; displayDiv.style.fontFamily = `'$currentFont', system-ui, sans-serif`; currentFontLabel.innerText = `Font: $currentFont`; fontCounterSpan.innerText = `Font $currentIndex+1 of $playlist.length`;
function prevFont() if (!playlist.length) return; currentIndex = (currentIndex - 1 + playlist.length) % playlist.length; updateDisplay(); if (isPlaying) stopAutoRotate(); startAutoRotate(); else updateDisplay();
<!-- Custom text input --> <label>✏️ Your message:</label> <textarea id="userMessage" rows="2" placeholder="Type any text...">The quick brown fox jumps over the lazy dog</textarea>
// DOM elements const displayDiv = document.getElementById('displayText'); const currentFontLabel = document.getElementById('currentFontLabel'); const userMessageTextarea = document.getElementById('userMessage'); const prevBtn = document.getElementById('prevBtn'); const nextBtn = document.getElementById('nextBtn'); const playBtn = document.getElementById('playBtn'); const pauseBtn = document.getElementById('pauseBtn'); const addFontBtn = document.getElementById('addFontBtn'); const newFontNameInput = document.getElementById('newFontName'); const fontListContainer = document.getElementById('fontListContainer'); const fontCounterSpan = document.getElementById('fontCounter'); const exportBtn = document.getElementById('exportBtn'); const importBtn = document.getElementById('importBtn'); const importFileInput = document.getElementById('importFile'); const darkModeBtn = document.getElementById('darkModeBtn');
function updateTextContent() let newText = userMessageTextarea.value; if (newText.trim() === "") newText = " "; // keep visible displayDiv.innerText = newText;
// Auto-rotation function startAutoRotate() if (intervalId) clearInterval(intervalId); if (playlist.length === 0) return; isPlaying = true; intervalId = setInterval(() => if (playlist.length > 0) currentIndex = (currentIndex + 1) % playlist.length; updateDisplay(); , 3000);