import { writable } from "svelte/store"; export const displayedText = writable(""); export function runTypingAnimation( fullText: string, enabled: boolean ): Promise { return new Promise((resolve) => { if (!enabled) { displayedText.set(fullText); resolve(); return; } displayedText.set(""); let index = 0; const typeNextChar = () => { if (index < fullText.length) { displayedText.update((t) => t + fullText[index]); index++; setTimeout(typeNextChar, 30); } else { resolve(); } }; typeNextChar(); }); }