@antlur/backstage 1.0.9 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/json-ld.js +8 -0
- package/dist/cjs/config.js +2 -3
- package/dist/cjs/endpoints/alerts.js +1 -2
- package/dist/cjs/endpoints/events.js +3 -4
- package/dist/cjs/endpoints/locations.js +2 -3
- package/dist/cjs/endpoints/menus.js +3 -4
- package/dist/cjs/endpoints/navigation.js +3 -4
- package/dist/cjs/endpoints/pages.js +4 -5
- package/dist/cjs/endpoints/press.js +1 -2
- package/dist/cjs/endpoints/website.js +1 -2
- package/dist/cjs/util/event.js +70 -0
- package/dist/cjs/util/gtag.js +14 -0
- package/dist/cjs/util/imgproxy-loader.js +14 -0
- package/dist/cjs/util/publishing.js +6 -0
- package/dist/cjs/util/special-hours.js +23 -0
- package/dist/esm/components/json-ld.d.ts +7 -0
- package/dist/esm/components/json-ld.d.ts.map +1 -0
- package/dist/esm/components/json-ld.js +5 -0
- package/dist/esm/types/location.d.ts +2 -0
- package/dist/esm/types/location.d.ts.map +1 -1
- package/dist/esm/types/website.d.ts +1 -0
- package/dist/esm/types/website.d.ts.map +1 -1
- package/dist/esm/util/event.d.ts +8 -0
- package/dist/esm/util/event.d.ts.map +1 -0
- package/dist/esm/util/event.js +63 -0
- package/dist/esm/util/gtag.d.ts +23 -0
- package/dist/esm/util/gtag.d.ts.map +1 -0
- package/dist/esm/util/gtag.js +10 -0
- package/dist/esm/util/imgproxy-loader.d.ts +9 -0
- package/dist/esm/util/imgproxy-loader.d.ts.map +1 -0
- package/dist/esm/util/imgproxy-loader.js +11 -0
- package/dist/esm/util/publishing.d.ts +2 -0
- package/dist/esm/util/publishing.d.ts.map +1 -0
- package/dist/esm/util/publishing.js +3 -0
- package/dist/esm/util/special-hours.d.ts +3 -0
- package/dist/esm/util/special-hours.d.ts.map +1 -0
- package/dist/esm/util/special-hours.js +20 -0
- package/dist/types/components/json-ld.d.ts +7 -0
- package/dist/types/components/json-ld.d.ts.map +1 -0
- package/dist/types/types/location.d.ts +2 -0
- package/dist/types/types/location.d.ts.map +1 -1
- package/dist/types/types/website.d.ts +1 -0
- package/dist/types/types/website.d.ts.map +1 -1
- package/dist/types/util/event.d.ts +8 -0
- package/dist/types/util/event.d.ts.map +1 -0
- package/dist/types/util/gtag.d.ts +23 -0
- package/dist/types/util/gtag.d.ts.map +1 -0
- package/dist/types/util/imgproxy-loader.d.ts +9 -0
- package/dist/types/util/imgproxy-loader.d.ts.map +1 -0
- package/dist/types/util/publishing.d.ts +2 -0
- package/dist/types/util/publishing.d.ts.map +1 -0
- package/dist/types/util/special-hours.d.ts +3 -0
- package/dist/types/util/special-hours.d.ts.map +1 -0
- package/package.json +31 -4
- package/src/client.ts +97 -0
- package/src/components/json-ld.tsx +9 -0
- package/src/config.ts +31 -0
- package/src/constants/google-events.ts +13 -0
- package/src/endpoints/alerts.ts +7 -0
- package/src/endpoints/events.ts +20 -0
- package/src/endpoints/locations.ts +25 -0
- package/src/endpoints/menus.ts +30 -0
- package/src/endpoints/navigation.ts +34 -0
- package/src/endpoints/pages.ts +23 -0
- package/src/endpoints/press.ts +7 -0
- package/src/endpoints/website.ts +7 -0
- package/src/index.ts +18 -0
- package/src/types/alert.ts +11 -0
- package/src/types/api.ts +12 -0
- package/src/types/event.ts +14 -0
- package/src/types/index.ts +13 -0
- package/src/types/location.ts +69 -0
- package/src/types/media-item.ts +10 -0
- package/src/types/menu-category-item.ts +18 -0
- package/src/types/menu-category.ts +15 -0
- package/src/types/menu-item.ts +15 -0
- package/src/types/menu.ts +12 -0
- package/src/types/navigation.ts +17 -0
- package/src/types/page.ts +24 -0
- package/src/types/press.ts +13 -0
- package/src/types/website.ts +76 -0
- package/src/util/event.ts +77 -0
- package/src/util/gtag.ts +40 -0
- package/src/util/imgproxy-loader.ts +22 -0
- package/src/util/publishing.ts +3 -0
- package/src/util/special-hours.ts +24 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonLd = JsonLd;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
function JsonLd({ schema, id }) {
|
|
6
|
+
const schemaString = JSON.stringify(schema);
|
|
7
|
+
return (0, jsx_runtime_1.jsx)("script", { id: id, type: "application/ld+json", dangerouslySetInnerHTML: { __html: schemaString } });
|
|
8
|
+
}
|
package/dist/cjs/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.defineConfig = defineConfig;
|
|
4
|
+
exports.getGlobalConfig = getGlobalConfig;
|
|
4
5
|
const ROOT = process.cwd();
|
|
5
6
|
const CONFIG_PATH = process.env.BACKSTAGE_CONFIG_PATH || "./backstage.config";
|
|
6
7
|
const DEFAULT_BASE_URL = "https://bckstg.app/api";
|
|
@@ -16,9 +17,7 @@ function defineConfig(config) {
|
|
|
16
17
|
};
|
|
17
18
|
return globalConfig;
|
|
18
19
|
}
|
|
19
|
-
exports.defineConfig = defineConfig;
|
|
20
20
|
function getGlobalConfig() {
|
|
21
21
|
// read the config from the project root
|
|
22
22
|
return globalConfig;
|
|
23
23
|
}
|
|
24
|
-
exports.getGlobalConfig = getGlobalConfig;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAlerts =
|
|
3
|
+
exports.getAlerts = getAlerts;
|
|
4
4
|
const client_1 = require("../client");
|
|
5
5
|
async function getAlerts() {
|
|
6
6
|
const { data } = await (0, client_1.client)().get("/alerts");
|
|
7
7
|
return data;
|
|
8
8
|
}
|
|
9
|
-
exports.getAlerts = getAlerts;
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getEvents = getEvents;
|
|
4
|
+
exports.getEvent = getEvent;
|
|
5
|
+
exports.getEventBySlug = getEventBySlug;
|
|
4
6
|
const client_1 = require("../client");
|
|
5
7
|
async function getEvents() {
|
|
6
8
|
const res = await (0, client_1.client)().get("/events");
|
|
7
9
|
const pages = res.data;
|
|
8
10
|
return pages;
|
|
9
11
|
}
|
|
10
|
-
exports.getEvents = getEvents;
|
|
11
12
|
async function getEvent(id) {
|
|
12
13
|
const res = await (0, client_1.client)().get("/events" + "?filter[id]=" + id);
|
|
13
14
|
const pages = res.data?.[0];
|
|
14
15
|
return pages;
|
|
15
16
|
}
|
|
16
|
-
exports.getEvent = getEvent;
|
|
17
17
|
async function getEventBySlug(slug) {
|
|
18
18
|
const res = await (0, client_1.client)().get("/events" + "?filter[slug]=" + slug);
|
|
19
19
|
const pages = res.data?.[0];
|
|
20
20
|
return pages;
|
|
21
21
|
}
|
|
22
|
-
exports.getEventBySlug = getEventBySlug;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getLocations = getLocations;
|
|
4
|
+
exports.getLocationBySlug = getLocationBySlug;
|
|
4
5
|
const client_1 = require("../client");
|
|
5
6
|
async function getLocations() {
|
|
6
7
|
const res = await (0, client_1.client)().get("/locations");
|
|
@@ -13,7 +14,6 @@ async function getLocations() {
|
|
|
13
14
|
});
|
|
14
15
|
return locations;
|
|
15
16
|
}
|
|
16
|
-
exports.getLocations = getLocations;
|
|
17
17
|
async function getLocationBySlug(slug) {
|
|
18
18
|
const res = await (0, client_1.client)().get(`/locations?filter[slug]=${slug}`);
|
|
19
19
|
const data = res.data;
|
|
@@ -22,4 +22,3 @@ async function getLocationBySlug(slug) {
|
|
|
22
22
|
}
|
|
23
23
|
return data;
|
|
24
24
|
}
|
|
25
|
-
exports.getLocationBySlug = getLocationBySlug;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getMenus = getMenus;
|
|
4
|
+
exports.getMenu = getMenu;
|
|
5
|
+
exports.getMenuBySlug = getMenuBySlug;
|
|
4
6
|
const client_1 = require("../client");
|
|
5
7
|
async function getMenus() {
|
|
6
8
|
const res = await (0, client_1.client)().get("/menus");
|
|
7
9
|
const menus = res.data;
|
|
8
10
|
return menus;
|
|
9
11
|
}
|
|
10
|
-
exports.getMenus = getMenus;
|
|
11
12
|
async function getMenu(id) {
|
|
12
13
|
const res = await (0, client_1.client)().get(`/menus?filter[id]=${id}&include=categories.items`);
|
|
13
14
|
const data = res.data;
|
|
@@ -16,7 +17,6 @@ async function getMenu(id) {
|
|
|
16
17
|
}
|
|
17
18
|
return data;
|
|
18
19
|
}
|
|
19
|
-
exports.getMenu = getMenu;
|
|
20
20
|
async function getMenuBySlug(slug) {
|
|
21
21
|
const res = await (0, client_1.client)().get(`/menus?filter[slug]=${slug}&include=categories.items`);
|
|
22
22
|
const data = res.data;
|
|
@@ -25,4 +25,3 @@ async function getMenuBySlug(slug) {
|
|
|
25
25
|
}
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
|
-
exports.getMenuBySlug = getMenuBySlug;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getDefaultNavigation = getDefaultNavigation;
|
|
4
|
+
exports.getNavigations = getNavigations;
|
|
5
|
+
exports.getNavigation = getNavigation;
|
|
4
6
|
const client_1 = require("../client");
|
|
5
7
|
async function getDefaultNavigation() {
|
|
6
8
|
const navigations = await getNavigations();
|
|
7
9
|
return navigations[0];
|
|
8
10
|
}
|
|
9
|
-
exports.getDefaultNavigation = getDefaultNavigation;
|
|
10
11
|
async function getNavigations() {
|
|
11
12
|
const res = await (0, client_1.client)().get("/navigations");
|
|
12
13
|
const navigations = res.data;
|
|
@@ -15,7 +16,6 @@ async function getNavigations() {
|
|
|
15
16
|
return res.data[0];
|
|
16
17
|
}));
|
|
17
18
|
}
|
|
18
|
-
exports.getNavigations = getNavigations;
|
|
19
19
|
async function getNavigation(id) {
|
|
20
20
|
const res = await (0, client_1.client)().get(`/navigations/${id}`);
|
|
21
21
|
const navigation = res.data;
|
|
@@ -26,4 +26,3 @@ async function getNavigation(id) {
|
|
|
26
26
|
navigation.items = topLevelItems;
|
|
27
27
|
return navigation;
|
|
28
28
|
}
|
|
29
|
-
exports.getNavigation = getNavigation;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getPage = getPage;
|
|
4
|
+
exports.getPages = getPages;
|
|
5
|
+
exports.getHomePage = getHomePage;
|
|
6
|
+
exports.getPageBySlug = getPageBySlug;
|
|
4
7
|
const client_1 = require("../client");
|
|
5
8
|
async function getPage(slug) {
|
|
6
9
|
const res = await (0, client_1.client)().get(`/pages/?filter[slug]=${slug}`);
|
|
7
10
|
return res.data[0];
|
|
8
11
|
}
|
|
9
|
-
exports.getPage = getPage;
|
|
10
12
|
async function getPages() {
|
|
11
13
|
const { data } = await (0, client_1.client)().get("/pages");
|
|
12
14
|
return data;
|
|
13
15
|
}
|
|
14
|
-
exports.getPages = getPages;
|
|
15
16
|
async function getHomePage() {
|
|
16
17
|
const res = await (0, client_1.client)().get("/pages?filter[slug]=/");
|
|
17
18
|
return res.data[0];
|
|
18
19
|
}
|
|
19
|
-
exports.getHomePage = getHomePage;
|
|
20
20
|
async function getPageBySlug(slug) {
|
|
21
21
|
const res = await (0, client_1.client)().get("/pages?filter[slug]=" + slug);
|
|
22
22
|
return res.data[0];
|
|
23
23
|
}
|
|
24
|
-
exports.getPageBySlug = getPageBySlug;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPress =
|
|
3
|
+
exports.getPress = getPress;
|
|
4
4
|
const client_1 = require("../client");
|
|
5
5
|
async function getPress() {
|
|
6
6
|
const { data } = await (0, client_1.client)().get("/press");
|
|
7
7
|
return data;
|
|
8
8
|
}
|
|
9
|
-
exports.getPress = getPress;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWebsite =
|
|
3
|
+
exports.getWebsite = getWebsite;
|
|
4
4
|
const client_1 = require("../client");
|
|
5
5
|
async function getWebsite() {
|
|
6
6
|
const res = await (0, client_1.client)().get("/websites");
|
|
7
7
|
return res.data[0];
|
|
8
8
|
}
|
|
9
|
-
exports.getWebsite = getWebsite;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMultipleDays = isMultipleDays;
|
|
4
|
+
exports.dateString = dateString;
|
|
5
|
+
exports.timeString = timeString;
|
|
6
|
+
exports.shortDescription = shortDescription;
|
|
7
|
+
exports.makeEventSchema = makeEventSchema;
|
|
8
|
+
function isMultipleDays(start, end) {
|
|
9
|
+
return start.getDate() !== end.getDate();
|
|
10
|
+
}
|
|
11
|
+
function dateString(event) {
|
|
12
|
+
const startTime = new Date(event.start_time);
|
|
13
|
+
const endTime = new Date(event.end_time);
|
|
14
|
+
if (isMultipleDays(startTime, endTime)) {
|
|
15
|
+
const startDayShort = startTime.toLocaleDateString("en-US", { weekday: "short" });
|
|
16
|
+
const startDate = startTime.toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
17
|
+
const endDate = endTime.toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
18
|
+
return `${startDayShort}, ${startDate} - ${endDate}`;
|
|
19
|
+
}
|
|
20
|
+
const startDay = startTime.toLocaleDateString("en-US", { weekday: "short" });
|
|
21
|
+
const startDate = startTime.toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
22
|
+
const startTimeString = startTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
23
|
+
const endTimeString = endTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
24
|
+
return `${startDay}, ${startDate}`;
|
|
25
|
+
}
|
|
26
|
+
function timeString(event) {
|
|
27
|
+
const startTime = new Date(event.start_time);
|
|
28
|
+
const endTime = new Date(event.end_time);
|
|
29
|
+
const startTimeString = startTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
30
|
+
const endTimeString = endTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
31
|
+
return `${startTimeString} - ${endTimeString}`;
|
|
32
|
+
}
|
|
33
|
+
function shortDescription(event) {
|
|
34
|
+
// event.description is html
|
|
35
|
+
// strip html tags
|
|
36
|
+
// keep newlines
|
|
37
|
+
// return first 50 chars
|
|
38
|
+
const shortDescription = event.description.substring(0, 100);
|
|
39
|
+
return shortDescription;
|
|
40
|
+
}
|
|
41
|
+
function makeEventSchema(website, event, locations) {
|
|
42
|
+
return {
|
|
43
|
+
"@context": "https://schema.org",
|
|
44
|
+
"@type": "Event",
|
|
45
|
+
"@id": `https://${website.domain}/events/${event.id}//#event`,
|
|
46
|
+
eventAttendanceMode: "https://schema.org/OfflineEventAttendanceMode",
|
|
47
|
+
url: `https://${website.domain}/events/${event.id}`,
|
|
48
|
+
name: event.title,
|
|
49
|
+
description: event.description,
|
|
50
|
+
startDate: event.start_time,
|
|
51
|
+
endDate: event.end_time,
|
|
52
|
+
location: [
|
|
53
|
+
{
|
|
54
|
+
"@type": "Place",
|
|
55
|
+
address: {
|
|
56
|
+
"@type": "PostalAddress",
|
|
57
|
+
streetAddress: locations[0].address,
|
|
58
|
+
addressLocality: locations[0].city,
|
|
59
|
+
addressRegion: locations[0].state,
|
|
60
|
+
postalCode: locations[0].zip,
|
|
61
|
+
addressCountry: "US",
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
image: {
|
|
66
|
+
"@type": "ImageObject",
|
|
67
|
+
url: event.cover_media?.transform_url,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gtag = gtag;
|
|
4
|
+
exports.gtagEvent = gtagEvent;
|
|
5
|
+
function gtag(...args) {
|
|
6
|
+
if (typeof window !== "undefined" && window.gtag) {
|
|
7
|
+
window.gtag(...args);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function gtagEvent(name, params = {}) {
|
|
11
|
+
if (typeof window === "undefined" || !window.gtag)
|
|
12
|
+
return;
|
|
13
|
+
gtag("event", name, params);
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = imgproxyLoader;
|
|
4
|
+
function imgproxyLoader({ src, width, height, quality }) {
|
|
5
|
+
const path = `/size:${width ? width : 0}:${height ? height : 0}` +
|
|
6
|
+
`/resizing_type:fill` +
|
|
7
|
+
(quality ? `/quality:${quality}` : "") +
|
|
8
|
+
`/sharpen:0.5` +
|
|
9
|
+
`/plain/${src}` +
|
|
10
|
+
`@webp`;
|
|
11
|
+
const host = process.env.NEXT_PUBLIC_IMGPROXY_URL || "https://imgproxy.antlur.co";
|
|
12
|
+
const imgUrl = `${host}/insecure${path}`;
|
|
13
|
+
return imgUrl;
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSpecialHoursFromLocation = getSpecialHoursFromLocation;
|
|
4
|
+
const luxon_1 = require("luxon");
|
|
5
|
+
function getSpecialHoursFromLocation(location) {
|
|
6
|
+
if (!location.special_hours)
|
|
7
|
+
return [];
|
|
8
|
+
// filter out any special hours that are before today
|
|
9
|
+
const now = luxon_1.DateTime.now().startOf("day");
|
|
10
|
+
if (location.timezone)
|
|
11
|
+
now.setZone(location.timezone);
|
|
12
|
+
const specialHours = location.special_hours.filter((specialHour) => {
|
|
13
|
+
const specialHourDate = luxon_1.DateTime.fromISO(specialHour.date);
|
|
14
|
+
return specialHourDate >= now;
|
|
15
|
+
});
|
|
16
|
+
// sort by date
|
|
17
|
+
specialHours.sort((a, b) => {
|
|
18
|
+
const aDate = luxon_1.DateTime.fromISO(a.date);
|
|
19
|
+
const bDate = luxon_1.DateTime.fromISO(b.date);
|
|
20
|
+
return aDate > bDate ? 1 : -1;
|
|
21
|
+
});
|
|
22
|
+
return specialHours;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-ld.d.ts","sourceRoot":"","sources":["../../../src/components/json-ld.tsx"],"names":[],"mappings":"AAAA,UAAU,WAAW;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,2CAGjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../src/types/location.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,aAAa,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;
|
|
1
|
+
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../src/types/location.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,aAAa,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../../src/types/website.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACnC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../../src/types/website.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACnC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wBAAwB,EAAE,OAAO,CAAC;CACnC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Event, Location, Website } from "../types";
|
|
2
|
+
import { Event as SchemaEvent, WithContext } from "schema-dts";
|
|
3
|
+
export declare function isMultipleDays(start: Date, end: Date): boolean;
|
|
4
|
+
export declare function dateString(event: Event): string;
|
|
5
|
+
export declare function timeString(event: Event): string;
|
|
6
|
+
export declare function shortDescription(event: Event): string;
|
|
7
|
+
export declare function makeEventSchema(website: Website, event: Event, locations: Location[]): WithContext<SchemaEvent>;
|
|
8
|
+
//# sourceMappingURL=event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/util/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/D,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,WAEpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,UAkBtC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,UAQtC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,UAQ5C;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,CA6B/G"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export function isMultipleDays(start, end) {
|
|
2
|
+
return start.getDate() !== end.getDate();
|
|
3
|
+
}
|
|
4
|
+
export function dateString(event) {
|
|
5
|
+
const startTime = new Date(event.start_time);
|
|
6
|
+
const endTime = new Date(event.end_time);
|
|
7
|
+
if (isMultipleDays(startTime, endTime)) {
|
|
8
|
+
const startDayShort = startTime.toLocaleDateString("en-US", { weekday: "short" });
|
|
9
|
+
const startDate = startTime.toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
10
|
+
const endDate = endTime.toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
11
|
+
return `${startDayShort}, ${startDate} - ${endDate}`;
|
|
12
|
+
}
|
|
13
|
+
const startDay = startTime.toLocaleDateString("en-US", { weekday: "short" });
|
|
14
|
+
const startDate = startTime.toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
15
|
+
const startTimeString = startTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
16
|
+
const endTimeString = endTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
17
|
+
return `${startDay}, ${startDate}`;
|
|
18
|
+
}
|
|
19
|
+
export function timeString(event) {
|
|
20
|
+
const startTime = new Date(event.start_time);
|
|
21
|
+
const endTime = new Date(event.end_time);
|
|
22
|
+
const startTimeString = startTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
23
|
+
const endTimeString = endTime.toLocaleTimeString("en-US", { hour: "numeric", minute: "numeric" });
|
|
24
|
+
return `${startTimeString} - ${endTimeString}`;
|
|
25
|
+
}
|
|
26
|
+
export function shortDescription(event) {
|
|
27
|
+
// event.description is html
|
|
28
|
+
// strip html tags
|
|
29
|
+
// keep newlines
|
|
30
|
+
// return first 50 chars
|
|
31
|
+
const shortDescription = event.description.substring(0, 100);
|
|
32
|
+
return shortDescription;
|
|
33
|
+
}
|
|
34
|
+
export function makeEventSchema(website, event, locations) {
|
|
35
|
+
return {
|
|
36
|
+
"@context": "https://schema.org",
|
|
37
|
+
"@type": "Event",
|
|
38
|
+
"@id": `https://${website.domain}/events/${event.id}//#event`,
|
|
39
|
+
eventAttendanceMode: "https://schema.org/OfflineEventAttendanceMode",
|
|
40
|
+
url: `https://${website.domain}/events/${event.id}`,
|
|
41
|
+
name: event.title,
|
|
42
|
+
description: event.description,
|
|
43
|
+
startDate: event.start_time,
|
|
44
|
+
endDate: event.end_time,
|
|
45
|
+
location: [
|
|
46
|
+
{
|
|
47
|
+
"@type": "Place",
|
|
48
|
+
address: {
|
|
49
|
+
"@type": "PostalAddress",
|
|
50
|
+
streetAddress: locations[0].address,
|
|
51
|
+
addressLocality: locations[0].city,
|
|
52
|
+
addressRegion: locations[0].state,
|
|
53
|
+
postalCode: locations[0].zip,
|
|
54
|
+
addressCountry: "US",
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
image: {
|
|
59
|
+
"@type": "ImageObject",
|
|
60
|
+
url: event.cover_media?.transform_url,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GAEvents } from "../constants/google-events";
|
|
2
|
+
declare global {
|
|
3
|
+
interface Window {
|
|
4
|
+
gtag?: (...args: any[]) => void;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export declare function gtag(...args: any[]): void;
|
|
8
|
+
interface GtagEventParams {
|
|
9
|
+
category?: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
value?: number;
|
|
12
|
+
page_url?: string;
|
|
13
|
+
location?: string;
|
|
14
|
+
store?: string | null | undefined;
|
|
15
|
+
/** @deprecated Use category instead */
|
|
16
|
+
event_category?: string;
|
|
17
|
+
/** @deprecated Use label instead */
|
|
18
|
+
event_label?: string;
|
|
19
|
+
}
|
|
20
|
+
type GtagEventName = keyof typeof GAEvents | (string & {});
|
|
21
|
+
export declare function gtagEvent(name: GtagEventName, params?: GtagEventParams): void;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=gtag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtag.d.ts","sourceRoot":"","sources":["../../../src/util/gtag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,MAAM,4BAA4B,CAAC;AAGnE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;KACjC;CACF;AAED,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAIlC;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAElC,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,aAAa,GAAG,MAAM,OAAO,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE3D,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAE,eAAoB,QAI1E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function gtag(...args) {
|
|
2
|
+
if (typeof window !== "undefined" && window.gtag) {
|
|
3
|
+
window.gtag(...args);
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export function gtagEvent(name, params = {}) {
|
|
7
|
+
if (typeof window === "undefined" || !window.gtag)
|
|
8
|
+
return;
|
|
9
|
+
gtag("event", name, params);
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface ImgproxyLoaderProps {
|
|
2
|
+
src: string;
|
|
3
|
+
width?: number;
|
|
4
|
+
height?: number;
|
|
5
|
+
quality?: number;
|
|
6
|
+
}
|
|
7
|
+
export default function imgproxyLoader({ src, width, height, quality }: ImgproxyLoaderProps): string;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=imgproxy-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imgproxy-loader.d.ts","sourceRoot":"","sources":["../../../src/util/imgproxy-loader.ts"],"names":[],"mappings":"AAAA,UAAU,mBAAmB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,mBAAmB,UAc1F"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export default function imgproxyLoader({ src, width, height, quality }) {
|
|
2
|
+
const path = `/size:${width ? width : 0}:${height ? height : 0}` +
|
|
3
|
+
`/resizing_type:fill` +
|
|
4
|
+
(quality ? `/quality:${quality}` : "") +
|
|
5
|
+
`/sharpen:0.5` +
|
|
6
|
+
`/plain/${src}` +
|
|
7
|
+
`@webp`;
|
|
8
|
+
const host = process.env.NEXT_PUBLIC_IMGPROXY_URL || "https://imgproxy.antlur.co";
|
|
9
|
+
const imgUrl = `${host}/insecure${path}`;
|
|
10
|
+
return imgUrl;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishing.d.ts","sourceRoot":"","sources":["../../../src/util/publishing.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,SAEhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"special-hours.d.ts","sourceRoot":"","sources":["../../../src/util/special-hours.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,EAAE,CAoBrE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DateTime } from "luxon";
|
|
2
|
+
export function getSpecialHoursFromLocation(location) {
|
|
3
|
+
if (!location.special_hours)
|
|
4
|
+
return [];
|
|
5
|
+
// filter out any special hours that are before today
|
|
6
|
+
const now = DateTime.now().startOf("day");
|
|
7
|
+
if (location.timezone)
|
|
8
|
+
now.setZone(location.timezone);
|
|
9
|
+
const specialHours = location.special_hours.filter((specialHour) => {
|
|
10
|
+
const specialHourDate = DateTime.fromISO(specialHour.date);
|
|
11
|
+
return specialHourDate >= now;
|
|
12
|
+
});
|
|
13
|
+
// sort by date
|
|
14
|
+
specialHours.sort((a, b) => {
|
|
15
|
+
const aDate = DateTime.fromISO(a.date);
|
|
16
|
+
const bDate = DateTime.fromISO(b.date);
|
|
17
|
+
return aDate > bDate ? 1 : -1;
|
|
18
|
+
});
|
|
19
|
+
return specialHours;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-ld.d.ts","sourceRoot":"","sources":["../../../src/components/json-ld.tsx"],"names":[],"mappings":"AAAA,UAAU,WAAW;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,2CAGjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../src/types/location.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,aAAa,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;
|
|
1
|
+
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../src/types/location.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,aAAa,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;IACJ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB"}
|