diff --git a/assets/js/calendar.js b/assets/js/calendar.js index 5aa9d6b..ffb3c7e 100644 --- a/assets/js/calendar.js +++ b/assets/js/calendar.js @@ -131,6 +131,12 @@ document.addEventListener('DOMContentLoaded', function() { else if (rruleStr.includes("FREQ=MONTHLY") && rruleStr.includes("BYDAY")) { const bydayMatch = rruleStr.match(/BYDAY=([^;]+)/); if (bydayMatch) { + const intervalMatch = rruleStr.match(/INTERVAL=(\d+)/); + const interval = intervalMatch ? parseInt(intervalMatch[1]) : 1; + const monthsFromStart = (year - startDate.getFullYear()) * 12 + (month - startDate.getMonth()); + if (monthsFromStart < 0 || monthsFromStart % interval !== 0) { + return []; + } const bydays = bydayMatch[1].split(','); const dayMap = { 'MO': 1, 'TU': 2, 'WE': 3, 'TH': 4, 'FR': 5, 'SA': 6, 'SU': 0