edrlab / lis-mon-livre-google-actions

MIT License
1 stars 1 forks source link

remaining time #79

Open panaC opened 2 years ago

panaC commented 2 years ago

  const url = conv.user.params?.player?.current?.url;
  ok(url, 'error.urlNotValid')
  ok(isValidHttpUrl(url), 'error.urlNotValid');

  const webpub = await conv.di.opds.webpubRequest(url);
  ok(webpub, 'error.webpubNotDefined');

  const index = conv.user.params.player.current.index || 0;
  const time = conv.user.params.player.current.time || 0;

  let minutes = 0;
  if (Array.isArray(webpub.readingOrders)) {
    let remainingTime = 0;
    for (let i = index + 1; i < webpub.readingOrders.length; i += 1) {
      remainingTime += webpub.readingOrders[i].duration || 0;
    }
    const pos = (v) => (v < 0 ? 0 : v);
    remainingTime += pos((webpub.readingOrders[index].duration || 0) - time);

    if (remainingTime >= 60) {
      minutes = Math.floor(remainingTime / 60);
    }
  }

  const hours = Math.floor(minutes / 60);
  if (hours) {
    minutes = minutes % 60;
    conv.add('player.remaining.hoursAndMinute', { hours, minutes });
  } else {
    conv.add('player.remaining.minute', { minutes });
  }
panaC commented 2 years ago

https://github.com/edrlab/lis-mon-livre/blob/4ce58e75f7d687463c670f48cd496b3069d7a6af/webhooks/functions/src/translation/fr/fr.json#L52-L57