{{~exec(function() { helpers.var.t = { events : data.translations.events, leo : data.translations.leo } })}} {{#event}} {{~exec(function() { // listing detail events have data.startDateMoment as moment object // event layout items have startDate as moment object var startDate = data.startDateMoment || helpers.plugins.clientMoment(data.startDate); var endDate = data.endDateMoment || helpers.plugins.clientMoment(data.endDate); var nextDate = data.nextDateMoment || helpers.plugins.clientMoment(data.nextDate); // recurType 0 = one day, 1 = daily, 3 = weekly, 4 = monthly, 6 = yearly helpers.var.formattedDate = ""; if (data.recurType == 99 && startDate !== undefined) { helpers.var.formattedDate = "Dates vary between " + startDate.format('MMM DD, YYYY') + ' - ' + endDate.format('MMM DD, YYYY'); } else if (data.recurType == 0 && startDate !== undefined) { helpers.var.formattedDate = startDate.format('MMM DD, YYYY'); } else if (data.recurType == 1 && startDate !== undefined && endDate !== undefined) { helpers.var.formattedDate = startDate.format('MMM DD, YYYY') + ' - ' + endDate.format('MMM DD, YYYY'); } else if (data.recurType > 1 && data.recurrence != undefined) { if (startDate !== undefined) { helpers.var.formattedDate = startDate.format('MMM DD, YYYY'); if (endDate !== undefined) { helpers.var.formattedDate = helpers.var.formattedDate + " - " + endDate.format('MMM DD, YYYY'); } } helpers.var.formattedDate = data.recurrence + (endDate !== undefined ? " until " + endDate.format('MMM DD, YYYY') : ""); } // Semi messy, we will overwrite the above formatted date logic if we have a nextdate per comps if(nextDate) { helpers.var.nextDay = nextDate.format('DD'); helpers.var.nextMonth = nextDate.format('MMM'); helpers.var.formattedDate = nextDate.format('MMM DD, YYYY'); } helpers.var.recurrence = data.recurrence !== undefined ? `${data.recurrence} until ${endDate.format("MMM DD YYYY")}` : undefined; if (startDate && endDate && startDate.format("MMM DD YYY") == endDate.format("MMM DD YYY")) { helpers.var.recurrence = "One day only"; } else if (helpers.var.recurrence === undefined && startDate && endDate) { helpers.var.recurrence = `Dates vary between ${startDate.format("MMM DD YYYY")} and ${endDate.format("MMM DD YYYY")}`; } var url; if (data.media_raw && data.media_raw[0]) { url = data.media_raw[0].mediaurl; } else { url = helpers.plugins.sv_site.siteConfig.custom[helpers.plugins.sv_site.site].defaultImageUrl } helpers.var.image = { resource : helpers.plugins.cloudinary.createResource({ imageUrl : url }) }; })}}
{{:~var.nextDay}} {{~var.nextMonth}} {{~var.nextDay}} {{/}} {{!-- Pre-allocates height of image using padding-bottom to prevent height changes on load --}} {{~setVar("width", 328)}} {{~setVar("height", 218)}} {{~setVar("paddingBottom", (helpers.var.height / helpers.var.width) * 100 + "%")}}

{{%title}}

    {{!-- uses a partial mechanic to simplify HTML generation so it's consistent between the li's --}} {{~setVar("fields", [ ])}} {{#~var.fields}} {{~fill(helpers.partial("custom_li_items"), data, {}, global)}} {{/}} {{:~var.formattedDate}}
  • {{~var.formattedDate}}
  • {{/}} {{:~var.recurrence}}
  • {{~var.recurrence}}
  • {{/}} {{:distance}} {{:~equal(global.searchQuery._currentQuery.sort, 'distance')}}
  • {{distance.format({ unit : "miles" })}} {{~var.t.leo.miles_from_you}}
  • {{/}} {{/distance}}
View Event
{{:~plugins.sv_site.siteConfig.plugins.tripbuilder.active}}{{/}}
{{/event}}