This commit is contained in:
harold 2025-05-14 20:12:17 +05:00
parent cd52493f82
commit 666f3dc830

View File

@ -162,8 +162,7 @@ async function playMedia(donat, voiceSettings) {
mediaPromise = playSpeech(donat.text, voiceSettings); mediaPromise = playSpeech(donat.text, voiceSettings);
} }
const timeoutPromise = new Promise(r => setTimeout(r, donat.duration * 1000)); await mediaPromise;
await Promise.race([mediaPromise, timeoutPromise]);
} catch (error) { } catch (error) {
console.error('Media play error:', error); console.error('Media play error:', error);
} }
@ -196,14 +195,12 @@ async function widgetView() {
clearContainer(contentDiv); clearContainer(contentDiv);
// Добавление изображения
if (donat.image_link) { if (donat.image_link) {
const img = document.createElement('img'); const img = document.createElement('img');
img.src = donat.image_link; img.src = donat.image_link;
contentDiv.appendChild(img); contentDiv.appendChild(img);
} }
// Отображение имени пользователя
if (donat.show_name && donat.donat_user) { if (donat.show_name && donat.donat_user) {
const userElem = document.createElement('div'); const userElem = document.createElement('div');
userElem.className = 'donation-user'; userElem.className = 'donation-user';
@ -211,7 +208,6 @@ async function widgetView() {
contentDiv.appendChild(userElem); contentDiv.appendChild(userElem);
} }
// Отображение текста
if (donat.show_text && donat.text) { if (donat.show_text && donat.text) {
const textElem = donat.amount ? const textElem = donat.amount ?
createTextWithAmount(donat.text, donat.amount) : createTextWithAmount(donat.text, donat.amount) :
@ -219,7 +215,6 @@ async function widgetView() {
contentDiv.appendChild(textElem); contentDiv.appendChild(textElem);
} }
// Воспроизведение медиа
const voiceSettings = { const voiceSettings = {
voice_speed: donat.voice_speed, voice_speed: donat.voice_speed,
scenery: donat.scenery, scenery: donat.scenery,
@ -231,7 +226,6 @@ async function widgetView() {
await playMedia(donat, voiceSettings); await playMedia(donat, voiceSettings);
// Отправка подтверждения
if (donat.order_id) { if (donat.order_id) {
try { try {
await fetch(widgetUrl + '/widget/donat/viewed', { await fetch(widgetUrl + '/widget/donat/viewed', {
@ -248,7 +242,6 @@ async function widgetView() {
console.error('Ошибка обработки доната:', error); console.error('Ошибка обработки доната:', error);
} }
// Пауза между итерациями
const elapsed = Date.now() - iterationStart; const elapsed = Date.now() - iterationStart;
const remaining = 5000 - elapsed; const remaining = 5000 - elapsed;
if (remaining > 0) { if (remaining > 0) {