-
- {wordTimings.map((w, i) => {
- const isActive = i === activeWordIdx;
- if (!isActive) return null;
- return (
-
- {w.word}
-
- );
- })}
-
-
- ) : overlayText ? (
+ wordTimings && wordTimings.length > 0 && activeWordIdx >= 0 ? (() => {
+ // Group index: which chunk of 3 is currently active
+ const groupIdx = Math.floor(activeWordIdx / 3);
+ const groupStart = groupIdx * 3;
+ const groupWords = wordTimings.slice(groupStart, groupStart + 3);
+ return (
+