Use calendar dates in copied journal report headings
AI Just committed 2026-08-21 10:54:30 +0000

Analyzing diff...

index.html+8 −1
index ed02791..3c92ba8 100644
--- a/index.html
+++ b/index.html
@@ -455,8 +455,15 @@ function exportEntries(period){
  if(period==='yesterday'){from.setDate(from.getDate()-1);until=new Date(today)}else if(period==='week')from.setDate(from.getDate()-6);
  return entries.filter(e=>{let date=mealDateTime(e);return date>=from&&date<until})
 }
+function reportPeriodLabel(period,entries){
+ let format=d=>d.toLocaleDateString('ru-RU',{day:'2-digit',month:'2-digit',year:'numeric'});
+ if(period==='today')return format(new Date());
+ if(period==='yesterday'){let d=new Date();d.setDate(d.getDate()-1);return format(d)}
+ if(entries.length){let first=mealDateTime(entries[0]),last=mealDateTime(entries[entries.length-1]);return format(first)===format(last)?format(first):`${format(first)}–${format(last)}`}
+ return period==='week'?'последние 7 дней':'весь дневник'
+}
 function journalReport(period){
- let labels={today:'сегодня',yesterday:'вчера',week:'последние 7 дней',all:'весь дневник'},entries=exportEntries(period),lines=[`Дневник питания — ${labels[period]||labels.all}`,`Сформирован: ${new Date().toLocaleString('ru-RU')}`,`Приёмов пищи: ${entries.length}`,''];
+ let entries=exportEntries(period),lines=[`Дневник питания — ${reportPeriodLabel(period,entries)}`,`Сформирован: ${new Date().toLocaleString('ru-RU')}`,`Приёмов пищи: ${entries.length}`,''];
  if(!entries.length)return lines.concat('За выбранный период записей нет.').join('\n');
  entries.forEach((e,i)=>{lines.push(`${i+1}. ${mealDateLabel(e)}`);lines.push('Состав: '+(e.meal||[]).map(m=>`${m.name} — ${m.g} г`).join(', '));let rs=e.reactions||[];
  if(!rs.length)lines.push('Реакции: не отмечены.');else{lines.push(`Реакции (${rs.length}):`);rs.forEach((r,j)=>{let details=[`${r.severity}/10 — ${r.severityLabel||severityText[r.severity]||'без описания'}`,r.delay];if(r.types&&r.types.length)details.push(r.types.join(', '));lines.push(`  ${j+1}) ${new Date(r.createdAt).toLocaleString('ru-RU')}: ${details.filter(Boolean).join(' • ')}`);if(r.comment)lines.push(`     Комментарий: ${r.comment}`)})}lines.push('')});return lines.join('\n').trim()