1 Commits
0.1.2 ... 0.1.3

Author SHA1 Message Date
09962d8720 Bug in the reminder fixed:
The reminder was entered one day too early.
2023-12-28 00:36:15 +01:00
5 changed files with 7 additions and 5 deletions

View File

@@ -1,2 +1,2 @@
(()=>{"use strict";var e={953:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,n){this.reminderPrefix="Erinnerung: ",this.icsContent=e,this.reminderDays=t,this.reminderHours=n}modifyEvents(){return this.icsContent.replace(/BEGIN:VEVENT.*?END:VEVENT/gs,(e=>{const t=e.match(/SUMMARY:(.*)\r\n/),n=t?t[1]:"",r=this.createTriggerValue(),o=this.createVAlarmString(this.reminderPrefix+n,r);return e.replace(/END:VEVENT/,o+"END:VEVENT")}))}createVAlarmString(e,t){let n="BEGIN:VALARM\r\n";return n+="ACTION:DISPLAY\r\n",n+=`DESCRIPTION:${e}\r\n`,n+=`TRIGGER:${t}\r\n`,n+="END:VALARM\r\n",n}createTriggerValue(){const e=0===this.reminderHours?0:24-this.reminderHours;return`-P${this.reminderDays}DT${e}H0M0S`}}},519:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(953));function s(e){!function(){const e=document.getElementById("download-area");e&&e.classList.remove("show-download-area")}();const t=document.getElementById("ical-upload"),n=document.getElementById("reminder-days-select"),r=document.getElementById("reminder-hours-select"),s=parseInt(n.value,10),d=parseInt(r.value,10),i=t.files?t.files[0]:null;if(i){console.log("File uploaded:",i.name);const e=new FileReader;e.onload=e=>{var t;const n=null===(t=e.target)||void 0===t?void 0:t.result;if("string"==typeof n){console.log("File content readable..");const e=new o.default(n,s,d).modifyEvents(),t=function(e){const t=e.lastIndexOf(".");return-1===t?e+" with reminders":e.substring(0,t)+" with reminders"+e.substring(t)}(i.name),r=new Blob([e],{type:"text/calendar"});!function(e,t){const n=document.getElementById("download-area"),r=document.getElementById("download-button");n&&r&&(r.href=t,r.download=e,setTimeout((()=>n.classList.add("show-download-area")),0),document.getElementById("work-button").disabled=!0)}(t,URL.createObjectURL(r))}},e.readAsText(i)}}document.addEventListener("DOMContentLoaded",(()=>{console.log("Loading the WebApp...");const e=document.getElementById("work-button");document.getElementById("ical-upload").addEventListener("change",(()=>{e.disabled=!1})),e.addEventListener("click",s)}))}},t={};!function n(r){var o=t[r];if(void 0!==o)return o.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}(519)})(); (()=>{"use strict";var e={953:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,n){this.reminderPrefix="Erinnerung: ",this.icsContent=e,this.reminderDays=t,this.reminderHours=n}modifyEvents(){return this.icsContent.replace(/BEGIN:VEVENT.*?END:VEVENT/gs,(e=>{const t=e.match(/SUMMARY:(.*)\r\n/),n=t?t[1]:"",r=this.createTriggerValue(),o=this.createVAlarmString(this.reminderPrefix+n,r);return e.replace(/END:VEVENT/,o+"END:VEVENT")}))}createVAlarmString(e,t){let n="BEGIN:VALARM\r\n";return n+="ACTION:DISPLAY\r\n",n+=`DESCRIPTION:${e}\r\n`,n+=`TRIGGER:${t}\r\n`,n+="END:VALARM\r\n",n}createTriggerValue(){const e=0===this.reminderHours?0:24-this.reminderHours;let t=this.reminderDays;return 1===t&&(t=0),`-P${t}DT${e}H0M0S`}}},519:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(953));function s(e){!function(){const e=document.getElementById("download-area");e&&e.classList.remove("show-download-area")}();const t=document.getElementById("ical-upload"),n=document.getElementById("reminder-days-select"),r=document.getElementById("reminder-hours-select"),s=parseInt(n.value,10),d=parseInt(r.value,10),i=t.files?t.files[0]:null;if(i){console.log("File uploaded:",i.name);const e=new FileReader;e.onload=e=>{var t;const n=null===(t=e.target)||void 0===t?void 0:t.result;if("string"==typeof n){console.log("File content readable..");const e=new o.default(n,s,d).modifyEvents(),t=function(e){const t=e.lastIndexOf(".");return-1===t?e+" with reminders":e.substring(0,t)+" with reminders"+e.substring(t)}(i.name),r=new Blob([e],{type:"text/calendar"});!function(e,t){const n=document.getElementById("download-area"),r=document.getElementById("download-button");n&&r&&(r.href=t,r.download=e,setTimeout((()=>n.classList.add("show-download-area")),0),document.getElementById("work-button").disabled=!0)}(t,URL.createObjectURL(r))}},e.readAsText(i)}}document.addEventListener("DOMContentLoaded",(()=>{console.log("Loading the WebApp...");const e=document.getElementById("work-button");document.getElementById("ical-upload").addEventListener("change",(()=>{e.disabled=!1})),e.addEventListener("click",s)}))}},t={};!function n(r){var o=t[r];if(void 0!==o)return o.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}(519)})();
//# sourceMappingURL=bundle.js.map //# sourceMappingURL=bundle.js.map

View File

@@ -61,7 +61,6 @@
<label for="reminder-days-select">Tage vor Abfuhr erinnern:</label> <label for="reminder-days-select">Tage vor Abfuhr erinnern:</label>
<select id="reminder-days-select"> <select id="reminder-days-select">
<!-- Options for days --> <!-- Options for days -->
<option value="0">Am Tag selbst</option>
<option value="1" selected>1 Tag</option> <option value="1" selected>1 Tag</option>
<option value="2">2 Tage</option> <option value="2">2 Tage</option>
<option value="3">3 Tage</option> <option value="3">3 Tage</option>

View File

@@ -1,7 +1,7 @@
{ {
"name": "abfallalarm", "name": "abfallalarm",
"displayName": "AbfallAlarm", "displayName": "AbfallAlarm",
"version": "0.1.2", "version": "0.1.3",
"description": "AbfallAlarm ist eine intuitive und benutzerfreundliche WebApp, die darauf abzielt, das Leben der Bürger von Arnsberg zu vereinfachen, indem sie eine zuverlässige Erinnerungsfunktion für den städtischen Abfallkalender bietet.", "description": "AbfallAlarm ist eine intuitive und benutzerfreundliche WebApp, die darauf abzielt, das Leben der Bürger von Arnsberg zu vereinfachen, indem sie eine zuverlässige Erinnerungsfunktion für den städtischen Abfallkalender bietet.",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View File

@@ -61,7 +61,6 @@
<label for="reminder-days-select">Tage vor Abfuhr erinnern:</label> <label for="reminder-days-select">Tage vor Abfuhr erinnern:</label>
<select id="reminder-days-select"> <select id="reminder-days-select">
<!-- Options for days --> <!-- Options for days -->
<option value="0">Am Tag selbst</option>
<option value="1" selected>1 Tag</option> <option value="1" selected>1 Tag</option>
<option value="2">2 Tage</option> <option value="2">2 Tage</option>
<option value="3">3 Tage</option> <option value="3">3 Tage</option>

View File

@@ -51,7 +51,11 @@ export default class IcsModifier {
const hoursUntilMidnight = this.reminderHours === 0 ? 0 : 24 - this.reminderHours; const hoursUntilMidnight = this.reminderHours === 0 ? 0 : 24 - this.reminderHours;
// Use reminderDays directly as daysPart // Use reminderDays directly as daysPart
const daysPart = this.reminderDays; let daysPart = this.reminderDays;
// daysPart is 1 set to 0
if (daysPart === 1) {
daysPart = 0;
}
// Create the trigger string // Create the trigger string
const trigger = `-P${daysPart}DT${hoursUntilMidnight}H0M0S`; const trigger = `-P${daysPart}DT${hoursUntilMidnight}H0M0S`;