diff --git a/assets/js/calendar.js b/assets/js/calendar.js index 94c6676..5fb8224 100644 --- a/assets/js/calendar.js +++ b/assets/js/calendar.js @@ -1,7 +1,8 @@ (function($){ const username = "mbazanlp.community@gmail.com"; const key = "AIzaSyBxDGuEdlEgMyPbyjNjymNwI10vSdByrhs"; - function injectCalendarEvents(title, uri, location, date, time) { + const limit = 5; + function injectCalendarEvents(title, uri, location, start, end, time) { return `
  • @@ -9,17 +10,18 @@
    -
    ${title}
    - ${location}
    - ${date}
    - ${time} +

    ${start}

    + ${title}
    + ${location}
    + ${end}
    + ${time}
  • `; } function getDate(time) { - return time === undefined ? "" : "" + time.split("T")[0] + ""; + return time === undefined ? "" : time.split("T")[0]; } function getTime(time) { return time === undefined ? "" : time.split("T")[1]; @@ -31,6 +33,37 @@ var date = new Date(); return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; } + function checkDateOrDateTime(item){ + if(item.date!==undefined){ + return item.date; + }else if(item.dateTime){ + return item.dateTime; + }else{ + return undefined; + } + } + function getMonthName(n){ + var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + return months[n-1]; + } + function getDateAdd(n){ + var dates = ['st','nd','rd','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','st','nd','rd','th','th','th','th','th','th','th','st']; + return n+dates[n-1]; + } + function formatDate(text){ + var t = text.split('-'); + var formattedDate = getMonthName(parseInt(t[1]))+' '+getDateAdd(parseInt(t[2]))+', '+t[0]; + return formattedDate; + } + function compareDates(date){ + var dateSplit = date.split('-'); + var currentSplit = getDate(getTodayDate()).split('-'); + if(new Date(dateSplit[0],dateSplit[1],dateSplit[2])>=new Date(currentSplit[0],currentSplit[1],currentSplit[2])){ + return true; + }else{ + return false; + } + } $(window).on('load',async function () { $.ajax({ @@ -38,33 +71,62 @@ "https://www.googleapis.com/calendar/v3/calendars/" + username + "/events?key=" + - key + - "&singleEvents=true&orderBy=startTime&timeMin=" + - getTodayDate() + - "T00:00:00.000Z", + key + + + "&singleEvents=true&orderBy=startTime" + // + '&timeMin='+ + // getTodayDate() + + // "T00:00:00.000Z" + , success: await function (data) { var calendarUl = document.getElementById("calendar-post-list"); let htmlCode = ``; - data.items.forEach(function (item) { + + var temp = []; + if(compareDates(getDate(checkDateOrDateTime(data.items[data.items.length-1].start)))===true){ + data.items.forEach(function(item){ + if(compareDates(getDate(checkDateOrDateTime(item.start)))===true){ + temp.push(item); + } + }); + }else{ + temp = data.items.slice(-limit); + } + for(var i=0;i0){ + var compare = getDate(checkDateOrDateTime(item.start)).localeCompare(getDate(checkDateOrDateTime(temp[i-1].start))); + if(compare!==0){ + dat = formatDate(getDate(checkDateOrDateTime(item.start))); + }else{ + dat = ""; + } + }else{ + dat = formatDate(getDate(checkDateOrDateTime(item.start))); + } item.summary === undefined - ? "" - : (htmlCode = - htmlCode + - injectCalendarEvents( - item.summary, - undefinedCase(item.htmlLink), - undefinedCase(item.location), - item.start.dateTime === undefined - ? "Pending" - : getDate(item.start.dateTime) + - " to " + - getDate(item.end.dateTime), - getTime(item.start.dateTime) + - " " + - undefinedCase(item.start.timeZone) - )); - }); + ? "" + : (htmlCode = + htmlCode + + injectCalendarEvents( + item.summary, + undefinedCase(item.htmlLink), + undefinedCase(item.location), + dat, + checkDateOrDateTime(item.start) === undefined + ? "Pending" + : formatDate(getDate(checkDateOrDateTime(item.start))) + + " to " + + formatDate(getDate(checkDateOrDateTime(item.start))), + getTime(item.start.dateTime) + + " " + + undefinedCase(item.start.timeZone) + )); + } + calendarUl.innerHTML = htmlCode; + }, error: function (err) { console.log(err); diff --git a/index.html b/index.html index 66b9e12..8413227 100644 --- a/index.html +++ b/index.html @@ -336,16 +336,17 @@
    Gallery
    - -
    +
    -
    -

    Up Coming events

    -
      -
    -
    -
    -
    +
    +

    Up Coming events

    + +
    + + + +