Spaces:
Running
Running
File size: 617 Bytes
84e5d08 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import { writable } from "svelte/store";
export const displayedText = writable("");
export function runTypingAnimation(
fullText: string,
enabled: boolean
): Promise<void> {
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();
});
}
|