diff --git a/fortune_generator/js/fortune.js b/fortune_generator/js/fortune.js index 788ea69..25df2ff 100644 --- a/fortune_generator/js/fortune.js +++ b/fortune_generator/js/fortune.js @@ -133,12 +133,14 @@ function daysDiff(eventIndex) { } const triggerDate = event.triggerDate; + let isCustomEvent = false; eventYear = year; if ('year' in triggerDate) { eventYear = validateNumber(triggerDate.year, 1, maxDate.getFullYear(), 'triggerDate.year', event); if (eventYear === null) { return -1; } + isCustomEvent = true; } if (!('month' in triggerDate)) { @@ -179,12 +181,17 @@ function daysDiff(eventIndex) { eventDate = firstTargetDay + (triggerDate.week - 1) * 7; } + if (!isCustomEvent && (month > eventMonth || (month == eventMonth && date > eventDate))) { + eventYear += 1; + } + const endDate = new Date( eventYear, eventMonth - 1, eventDate, ); + // calculate the difference in milliseconds and convert it to days const timeDiff = Math.ceil((endDate - startDate) / (1000 * 60 * 60 * 24)); return timeDiff; diff --git a/fortune_generator/json/custom_special.json b/fortune_generator/json/custom_special.json index ff81a74..2d07d60 100644 --- a/fortune_generator/json/custom_special.json +++ b/fortune_generator/json/custom_special.json @@ -1,3 +1,67 @@ { - "special_events": [] + "special_events": [ + { + "event": "夏至", + "triggerDate": { + "year": "2025", + "month": "6", + "date": "21" + }, + "status_index": "0", + "goodFortunes": { + "l_1_event": "觀賞日出和日落", + "l_1_desc": "享受一年最長的白天", + "l_2_event": "", + "l_2_desc": "" + }, + "badFortunes": { + "r_1_event": "", + "r_1_desc": "", + "r_2_event": "", + "r_2_desc": "" + } + }, + { + "event": "中秋節", + "triggerDate": { + "year": "2025", + "month": "10", + "date": "6" + }, + "status_index": "0", + "goodFortunes": { + "l_1_event": "賞月", + "l_1_desc": "與家人一同賞月,增進感情", + "l_2_event": "吃月餅", + "l_2_desc": "與家人朋友分享月餅的美味" + }, + "badFortunes": { + "r_1_event": "", + "r_1_desc": "", + "r_2_event": "", + "r_2_desc": "" + } + }, + { + "event": "冬至", + "triggerDate": { + "year": "2025", + "month": "12", + "date": "21" + }, + "status_index": "0", + "goodFortunes": { + "l_1_event": "吃湯圓", + "l_1_desc": "團團圓圓", + "l_2_event": "保暖", + "l_2_desc": "冬至到了" + }, + "badFortunes": { + "r_1_event": "", + "r_1_desc": "", + "r_2_event": "", + "r_2_desc": "" + } + } + ] } diff --git a/fortune_generator/json/cyclical_special.json b/fortune_generator/json/cyclical_special.json index ee429f0..953fa43 100644 --- a/fortune_generator/json/cyclical_special.json +++ b/fortune_generator/json/cyclical_special.json @@ -662,26 +662,6 @@ "r_2_desc": "" } }, - { - "event": "冬至", - "triggerDate": { - "month": "12", - "date": "22" - }, - "status_index": "0", - "goodFortunes": { - "l_1_event": "吃湯圓", - "l_1_desc": "團團圓圓", - "l_2_event": "保暖", - "l_2_desc": "冬至到了" - }, - "badFortunes": { - "r_1_event": "", - "r_1_desc": "", - "r_2_event": "", - "r_2_desc": "" - } - }, { "event": "平安夜", "triggerDate": { diff --git a/fortune_generator/json/static_special.json b/fortune_generator/json/static_special.json index d079489..ff81a74 100644 --- a/fortune_generator/json/static_special.json +++ b/fortune_generator/json/static_special.json @@ -1,46 +1,3 @@ { - "special_events": [ - { - "event": "夏至", - "triggerDate": { - "year": "2025", - "month": "6", - "date": "21" - }, - "status_index": "0", - "goodFortunes": { - "l_1_event": "觀賞日出和日落", - "l_1_desc": "享受一年最長的白天", - "l_2_event": "", - "l_2_desc": "" - }, - "badFortunes": { - "r_1_event": "", - "r_1_desc": "", - "r_2_event": "", - "r_2_desc": "" - } - }, - { - "event": "中秋節", - "triggerDate": { - "year": "2025", - "month": "10", - "date": "6" - }, - "status_index": "0", - "goodFortunes": { - "l_1_event": "賞月", - "l_1_desc": "與家人一同賞月,增進感情", - "l_2_event": "吃月餅", - "l_2_desc": "與家人朋友分享月餅的美味" - }, - "badFortunes": { - "r_1_event": "", - "r_1_desc": "", - "r_2_event": "", - "r_2_desc": "" - } - } - ] + "special_events": [] }