@@ -2253,15 +2253,29 @@ const monthComparedChartData = computed(() => {
22532253
22542254// prepare data for single date matrix charts
22552255const dateChartData = computed (() => {
2256- const end = startOfToday ();
2257- let rd = Object .entries (display .value .dateData ? display .value .dateData .received : []);
2258- let r = preferences .sections .activity .year == (new Date ().getFullYear ())
2259- ? rd .filter (e => new Date (e[0 ]) > new Date (new Date ().setYear (end .getFullYear () - 1 )))
2260- : rd .filter (e => e[0 ].substring (0 ,4 ) == preferences .sections .activity .year );
2261- let sd = Object .entries (display .value .dateData ? display .value .dateData .sent : []);
2262- let s = preferences .sections .activity .year == (new Date ().getFullYear ())
2263- ? sd .filter (e => new Date (e[0 ]) > new Date (new Date ().setYear (end .getFullYear () - 1 )))
2264- : sd .filter (e => e[0 ].substring (0 ,4 ) == preferences .sections .activity .year );
2256+ const year = preferences .sections .activity .year ;
2257+ // Generate all dates for the full year (Jan 1 to Dec 31)
2258+ const startDate = new Date (year, 0 , 1 );
2259+ const endDate = new Date (year, 11 , 31 );
2260+
2261+ // Build lookup maps from actual data
2262+ const receivedMap = Object .fromEntries (
2263+ Object .entries (display .value .dateData ? .received || {})
2264+ .filter (e => e[0 ].substring (0 , 4 ) == year)
2265+ );
2266+ const sentMap = Object .fromEntries (
2267+ Object .entries (display .value .dateData ? .sent || {})
2268+ .filter (e => e[0 ].substring (0 , 4 ) == year)
2269+ );
2270+
2271+ // Generate full year data with 0 for empty days
2272+ let r = [], s = [];
2273+ for (let d = new Date (startDate); d <= endDate; d .setDate (d .getDate () + 1 )) {
2274+ const key = d .toISOString ().slice (0 , 10 );
2275+ r .push ([key, receivedMap[key] || 0 ]);
2276+ s .push ([key, sentMap[key] || 0 ]);
2277+ }
2278+
22652279 // TODO: handle options.startOfWeek
22662280 return {
22672281 received: { label: t (" stats.mailsReceived" ), data: r },
0 commit comments