@antlur/backstage 1.0.9 → 1.1.0
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/client.js +18 -5
- package/dist/cjs/components/json-ld.js +8 -0
- package/dist/cjs/config.js +2 -3
- package/dist/cjs/endpoints/alerts.js +8 -6
- package/dist/cjs/endpoints/base.js +9 -0
- package/dist/cjs/endpoints/events.js +16 -19
- package/dist/cjs/endpoints/locations.js +21 -20
- package/dist/cjs/endpoints/menus.js +23 -23
- package/dist/cjs/endpoints/navigation.js +26 -26
- package/dist/cjs/endpoints/pages.js +20 -21
- package/dist/cjs/endpoints/press.js +8 -6
- package/dist/cjs/endpoints/website.js +8 -6
- 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/client.d.ts +16 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +17 -3
- 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/endpoints/alerts.d.ts +4 -1
- package/dist/esm/endpoints/alerts.d.ts.map +1 -1
- package/dist/esm/endpoints/alerts.js +6 -4
- package/dist/esm/endpoints/base.d.ts +6 -0
- package/dist/esm/endpoints/base.d.ts.map +1 -0
- package/dist/esm/endpoints/base.js +5 -0
- package/dist/esm/endpoints/events.d.ts +6 -3
- package/dist/esm/endpoints/events.d.ts.map +1 -1
- package/dist/esm/endpoints/events.js +14 -15
- package/dist/esm/endpoints/locations.d.ts +5 -2
- package/dist/esm/endpoints/locations.d.ts.map +1 -1
- package/dist/esm/endpoints/locations.js +19 -17
- package/dist/esm/endpoints/menus.d.ts +6 -3
- package/dist/esm/endpoints/menus.d.ts.map +1 -1
- package/dist/esm/endpoints/menus.js +21 -19
- package/dist/esm/endpoints/navigation.d.ts +6 -3
- package/dist/esm/endpoints/navigation.d.ts.map +1 -1
- package/dist/esm/endpoints/navigation.js +24 -22
- package/dist/esm/endpoints/pages.d.ts +8 -5
- package/dist/esm/endpoints/pages.d.ts.map +1 -1
- package/dist/esm/endpoints/pages.js +18 -16
- package/dist/esm/endpoints/press.d.ts +4 -1
- package/dist/esm/endpoints/press.d.ts.map +1 -1
- package/dist/esm/endpoints/press.js +6 -4
- package/dist/esm/endpoints/website.d.ts +4 -1
- package/dist/esm/endpoints/website.d.ts.map +1 -1
- package/dist/esm/endpoints/website.js +6 -4
- 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/client.d.ts +16 -1
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/components/json-ld.d.ts +7 -0
- package/dist/types/components/json-ld.d.ts.map +1 -0
- package/dist/types/endpoints/alerts.d.ts +4 -1
- package/dist/types/endpoints/alerts.d.ts.map +1 -1
- package/dist/types/endpoints/base.d.ts +6 -0
- package/dist/types/endpoints/base.d.ts.map +1 -0
- package/dist/types/endpoints/events.d.ts +6 -3
- package/dist/types/endpoints/events.d.ts.map +1 -1
- package/dist/types/endpoints/locations.d.ts +5 -2
- package/dist/types/endpoints/locations.d.ts.map +1 -1
- package/dist/types/endpoints/menus.d.ts +6 -3
- package/dist/types/endpoints/menus.d.ts.map +1 -1
- package/dist/types/endpoints/navigation.d.ts +6 -3
- package/dist/types/endpoints/navigation.d.ts.map +1 -1
- package/dist/types/endpoints/pages.d.ts +8 -5
- package/dist/types/endpoints/pages.d.ts.map +1 -1
- package/dist/types/endpoints/press.d.ts +4 -1
- package/dist/types/endpoints/press.d.ts.map +1 -1
- package/dist/types/endpoints/website.d.ts +4 -1
- package/dist/types/endpoints/website.d.ts.map +1 -1
- 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 +121 -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 +9 -0
- package/src/endpoints/base.ts +5 -0
- package/src/endpoints/events.ts +19 -0
- package/src/endpoints/locations.ts +27 -0
- package/src/endpoints/menus.ts +34 -0
- package/src/endpoints/navigation.ts +36 -0
- package/src/endpoints/pages.ts +24 -0
- package/src/endpoints/press.ts +9 -0
- package/src/endpoints/website.ts +9 -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
package/dist/cjs/client.js
CHANGED
|
@@ -3,9 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.BackstageClient = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const config_1 = require("./config");
|
|
9
|
+
const alerts_1 = require("./endpoints/alerts");
|
|
10
|
+
const events_1 = require("./endpoints/events");
|
|
11
|
+
const locations_1 = require("./endpoints/locations");
|
|
12
|
+
const menus_1 = require("./endpoints/menus");
|
|
13
|
+
const navigation_1 = require("./endpoints/navigation");
|
|
14
|
+
const pages_1 = require("./endpoints/pages");
|
|
15
|
+
const press_1 = require("./endpoints/press");
|
|
16
|
+
const website_1 = require("./endpoints/website");
|
|
9
17
|
class BackstageClient {
|
|
10
18
|
constructor(config) {
|
|
11
19
|
// If no config is passed, try to get from the global config
|
|
@@ -54,6 +62,15 @@ class BackstageClient {
|
|
|
54
62
|
onError(error);
|
|
55
63
|
return Promise.reject(error);
|
|
56
64
|
});
|
|
65
|
+
// Initialize service instances
|
|
66
|
+
this.alerts = new alerts_1.AlertService(this);
|
|
67
|
+
this.events = new events_1.EventService(this);
|
|
68
|
+
this.locations = new locations_1.LocationService(this);
|
|
69
|
+
this.menus = new menus_1.MenuService(this);
|
|
70
|
+
this.navigation = new navigation_1.NavigationService(this);
|
|
71
|
+
this.pages = new pages_1.PageService(this);
|
|
72
|
+
this.press = new press_1.PressService(this);
|
|
73
|
+
this.website = new website_1.WebsiteService(this);
|
|
57
74
|
}
|
|
58
75
|
async get(url, config) {
|
|
59
76
|
const response = await this.instance.get(url, config);
|
|
@@ -80,7 +97,3 @@ class BackstageClient {
|
|
|
80
97
|
}
|
|
81
98
|
}
|
|
82
99
|
exports.BackstageClient = BackstageClient;
|
|
83
|
-
const client = function (config) {
|
|
84
|
-
return new BackstageClient(config);
|
|
85
|
-
};
|
|
86
|
-
exports.client = client;
|
|
@@ -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,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
exports.AlertService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class AlertService extends base_1.BaseService {
|
|
6
|
+
async getAlerts() {
|
|
7
|
+
const { data } = await this.client.get("/alerts");
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
8
10
|
}
|
|
9
|
-
exports.
|
|
11
|
+
exports.AlertService = AlertService;
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
exports.EventService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class EventService extends base_1.BaseService {
|
|
6
|
+
async getEvents() {
|
|
7
|
+
const { data } = await this.client.get("/events");
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
10
|
+
async getEvent(id) {
|
|
11
|
+
const { data } = await this.client.get("/events" + "?filter[id]=" + id);
|
|
12
|
+
return data?.[0];
|
|
13
|
+
}
|
|
14
|
+
async getEventBySlug(slug) {
|
|
15
|
+
const { data } = await this.client.get("/events" + "?filter[slug]=" + slug);
|
|
16
|
+
return data?.[0];
|
|
17
|
+
}
|
|
9
18
|
}
|
|
10
|
-
exports.
|
|
11
|
-
async function getEvent(id) {
|
|
12
|
-
const res = await (0, client_1.client)().get("/events" + "?filter[id]=" + id);
|
|
13
|
-
const pages = res.data?.[0];
|
|
14
|
-
return pages;
|
|
15
|
-
}
|
|
16
|
-
exports.getEvent = getEvent;
|
|
17
|
-
async function getEventBySlug(slug) {
|
|
18
|
-
const res = await (0, client_1.client)().get("/events" + "?filter[slug]=" + slug);
|
|
19
|
-
const pages = res.data?.[0];
|
|
20
|
-
return pages;
|
|
21
|
-
}
|
|
22
|
-
exports.getEventBySlug = getEventBySlug;
|
|
19
|
+
exports.EventService = EventService;
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
exports.LocationService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class LocationService extends base_1.BaseService {
|
|
6
|
+
async getLocations() {
|
|
7
|
+
const res = await this.client.get("/locations");
|
|
8
|
+
let locations = res.data;
|
|
9
|
+
locations = locations.sort((a, b) => {
|
|
10
|
+
if (a.name < b.name) {
|
|
11
|
+
return -1;
|
|
12
|
+
}
|
|
13
|
+
return 1;
|
|
14
|
+
});
|
|
15
|
+
return locations;
|
|
16
|
+
}
|
|
17
|
+
async getLocationBySlug(slug) {
|
|
18
|
+
const res = await this.client.get(`/locations?filter[slug]=${slug}`);
|
|
19
|
+
const data = res.data;
|
|
20
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
21
|
+
return data[0];
|
|
11
22
|
}
|
|
12
|
-
return
|
|
13
|
-
});
|
|
14
|
-
return locations;
|
|
15
|
-
}
|
|
16
|
-
exports.getLocations = getLocations;
|
|
17
|
-
async function getLocationBySlug(slug) {
|
|
18
|
-
const res = await (0, client_1.client)().get(`/locations?filter[slug]=${slug}`);
|
|
19
|
-
const data = res.data;
|
|
20
|
-
if (Array.isArray(data) && data.length > 0) {
|
|
21
|
-
return data[0];
|
|
23
|
+
return data;
|
|
22
24
|
}
|
|
23
|
-
return data;
|
|
24
25
|
}
|
|
25
|
-
exports.
|
|
26
|
+
exports.LocationService = LocationService;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.getMenus = getMenus;
|
|
11
|
-
async function getMenu(id) {
|
|
12
|
-
const res = await (0, client_1.client)().get(`/menus?filter[id]=${id}&include=categories.items`);
|
|
13
|
-
const data = res.data;
|
|
14
|
-
if (Array.isArray(data) && data.length > 0) {
|
|
15
|
-
return data[0];
|
|
3
|
+
exports.MenuService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class MenuService extends base_1.BaseService {
|
|
6
|
+
async getMenus() {
|
|
7
|
+
const res = await this.client.get("/menus");
|
|
8
|
+
const menus = res.data;
|
|
9
|
+
return menus;
|
|
16
10
|
}
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
11
|
+
async getMenu(id) {
|
|
12
|
+
const res = await this.client.get(`/menus?filter[id]=${id}&include=categories.items`);
|
|
13
|
+
const data = res.data;
|
|
14
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
15
|
+
return data[0];
|
|
16
|
+
}
|
|
17
|
+
return data;
|
|
18
|
+
}
|
|
19
|
+
async getMenuBySlug(slug) {
|
|
20
|
+
const res = await this.client.get(`/menus?filter[slug]=${slug}&include=categories.items`);
|
|
21
|
+
const data = res.data;
|
|
22
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
23
|
+
return data[0];
|
|
24
|
+
}
|
|
25
|
+
return data;
|
|
25
26
|
}
|
|
26
|
-
return data;
|
|
27
27
|
}
|
|
28
|
-
exports.
|
|
28
|
+
exports.MenuService = MenuService;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
exports.NavigationService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class NavigationService extends base_1.BaseService {
|
|
6
|
+
async getNavigations() {
|
|
7
|
+
const res = await this.client.get("/navigations");
|
|
8
|
+
const navigations = res.data;
|
|
9
|
+
return Promise.all(navigations.map(async (navigation) => {
|
|
10
|
+
const res = await this.client.get("/navigations/" + navigation.id);
|
|
11
|
+
return res.data[0];
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
async getDefaultNavigation() {
|
|
15
|
+
const navigations = await this.getNavigations();
|
|
16
|
+
return navigations[0];
|
|
17
|
+
}
|
|
18
|
+
async getNavigation(id) {
|
|
19
|
+
const res = await this.client.get(`/navigations/${id}`);
|
|
20
|
+
const navigation = res.data;
|
|
21
|
+
const topLevelItems = navigation.items.filter((item) => item.parent_id === null);
|
|
22
|
+
topLevelItems.forEach((item) => {
|
|
23
|
+
item.children = navigation.items.filter((child) => child.parent_id === item.id);
|
|
24
|
+
});
|
|
25
|
+
navigation.items = topLevelItems;
|
|
26
|
+
return navigation;
|
|
27
|
+
}
|
|
8
28
|
}
|
|
9
|
-
exports.
|
|
10
|
-
async function getNavigations() {
|
|
11
|
-
const res = await (0, client_1.client)().get("/navigations");
|
|
12
|
-
const navigations = res.data;
|
|
13
|
-
return Promise.all(navigations.map(async (navigation) => {
|
|
14
|
-
const res = await (0, client_1.client)().get("/navigations/" + navigation.id);
|
|
15
|
-
return res.data[0];
|
|
16
|
-
}));
|
|
17
|
-
}
|
|
18
|
-
exports.getNavigations = getNavigations;
|
|
19
|
-
async function getNavigation(id) {
|
|
20
|
-
const res = await (0, client_1.client)().get(`/navigations/${id}`);
|
|
21
|
-
const navigation = res.data;
|
|
22
|
-
const topLevelItems = navigation.items.filter((item) => item.parent_id === null);
|
|
23
|
-
topLevelItems.forEach((item) => {
|
|
24
|
-
item.children = navigation.items.filter((child) => child.parent_id === item.id);
|
|
25
|
-
});
|
|
26
|
-
navigation.items = topLevelItems;
|
|
27
|
-
return navigation;
|
|
28
|
-
}
|
|
29
|
-
exports.getNavigation = getNavigation;
|
|
29
|
+
exports.NavigationService = NavigationService;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
exports.PageService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class PageService extends base_1.BaseService {
|
|
6
|
+
async getPages() {
|
|
7
|
+
const res = await this.client.get("/pages");
|
|
8
|
+
return res.data;
|
|
9
|
+
}
|
|
10
|
+
async getPage(id) {
|
|
11
|
+
const res = await this.client.get(`/pages/${id}`);
|
|
12
|
+
return res.data[0];
|
|
13
|
+
}
|
|
14
|
+
async getPageBySlug(slug) {
|
|
15
|
+
const res = await this.client.get(`/pages?filter[slug]=${slug}`);
|
|
16
|
+
return res.data[0];
|
|
17
|
+
}
|
|
18
|
+
async getHomePage() {
|
|
19
|
+
const res = await this.client.get("/pages?filter[slug]=/");
|
|
20
|
+
return res.data[0];
|
|
21
|
+
}
|
|
8
22
|
}
|
|
9
|
-
exports.
|
|
10
|
-
async function getPages() {
|
|
11
|
-
const { data } = await (0, client_1.client)().get("/pages");
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
|
-
exports.getPages = getPages;
|
|
15
|
-
async function getHomePage() {
|
|
16
|
-
const res = await (0, client_1.client)().get("/pages?filter[slug]=/");
|
|
17
|
-
return res.data[0];
|
|
18
|
-
}
|
|
19
|
-
exports.getHomePage = getHomePage;
|
|
20
|
-
async function getPageBySlug(slug) {
|
|
21
|
-
const res = await (0, client_1.client)().get("/pages?filter[slug]=" + slug);
|
|
22
|
-
return res.data[0];
|
|
23
|
-
}
|
|
24
|
-
exports.getPageBySlug = getPageBySlug;
|
|
23
|
+
exports.PageService = PageService;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
exports.PressService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class PressService extends base_1.BaseService {
|
|
6
|
+
async getPress() {
|
|
7
|
+
const { data } = await this.client.get("/press");
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
8
10
|
}
|
|
9
|
-
exports.
|
|
11
|
+
exports.PressService = PressService;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
exports.WebsiteService = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class WebsiteService extends base_1.BaseService {
|
|
6
|
+
async getWebsite() {
|
|
7
|
+
const res = await this.client.get("/websites");
|
|
8
|
+
return res.data[0];
|
|
9
|
+
}
|
|
8
10
|
}
|
|
9
|
-
exports.
|
|
11
|
+
exports.WebsiteService = WebsiteService;
|
|
@@ -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
|
+
}
|
package/dist/esm/client.d.ts
CHANGED
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import { AxiosInstance, AxiosRequestConfig } from "axios";
|
|
2
2
|
import { BackstageUserConfig } from "./config";
|
|
3
|
+
import { AlertService } from "./endpoints/alerts";
|
|
4
|
+
import { EventService } from "./endpoints/events";
|
|
5
|
+
import { LocationService } from "./endpoints/locations";
|
|
6
|
+
import { MenuService } from "./endpoints/menus";
|
|
7
|
+
import { NavigationService } from "./endpoints/navigation";
|
|
8
|
+
import { PageService } from "./endpoints/pages";
|
|
9
|
+
import { PressService } from "./endpoints/press";
|
|
10
|
+
import { WebsiteService } from "./endpoints/website";
|
|
3
11
|
export declare class BackstageClient {
|
|
4
12
|
private instance;
|
|
13
|
+
readonly alerts: AlertService;
|
|
14
|
+
readonly events: EventService;
|
|
15
|
+
readonly locations: LocationService;
|
|
16
|
+
readonly menus: MenuService;
|
|
17
|
+
readonly navigation: NavigationService;
|
|
18
|
+
readonly pages: PageService;
|
|
19
|
+
readonly press: PressService;
|
|
20
|
+
readonly website: WebsiteService;
|
|
5
21
|
constructor(config?: BackstageUserConfig);
|
|
6
22
|
get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
|
|
7
23
|
post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
|
|
@@ -10,5 +26,4 @@ export declare class BackstageClient {
|
|
|
10
26
|
delete<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
|
|
11
27
|
getAxiosInstance(): AxiosInstance;
|
|
12
28
|
}
|
|
13
|
-
export declare const client: (config?: BackstageUserConfig) => BackstageClient;
|
|
14
29
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/esm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,kBAAkB,EAA6B,MAAM,OAAO,CAAC;AAC5F,OAAO,EAAmB,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,kBAAkB,EAA6B,MAAM,OAAO,CAAC;AAC5F,OAAO,EAAmB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;IAGhC,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,UAAU,EAAE,iBAAiB,CAAC;IAC9C,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,OAAO,EAAE,cAAc,CAAC;gBAE5B,MAAM,CAAC,EAAE,mBAAmB;IAoE3B,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKvF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtF,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKxF,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAK/E,gBAAgB,IAAI,aAAa;CAGzC"}
|
package/dist/esm/client.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
2
|
import { getGlobalConfig } from "./config";
|
|
3
|
+
import { AlertService } from "./endpoints/alerts";
|
|
4
|
+
import { EventService } from "./endpoints/events";
|
|
5
|
+
import { LocationService } from "./endpoints/locations";
|
|
6
|
+
import { MenuService } from "./endpoints/menus";
|
|
7
|
+
import { NavigationService } from "./endpoints/navigation";
|
|
8
|
+
import { PageService } from "./endpoints/pages";
|
|
9
|
+
import { PressService } from "./endpoints/press";
|
|
10
|
+
import { WebsiteService } from "./endpoints/website";
|
|
3
11
|
export class BackstageClient {
|
|
4
12
|
constructor(config) {
|
|
5
13
|
// If no config is passed, try to get from the global config
|
|
@@ -48,6 +56,15 @@ export class BackstageClient {
|
|
|
48
56
|
onError(error);
|
|
49
57
|
return Promise.reject(error);
|
|
50
58
|
});
|
|
59
|
+
// Initialize service instances
|
|
60
|
+
this.alerts = new AlertService(this);
|
|
61
|
+
this.events = new EventService(this);
|
|
62
|
+
this.locations = new LocationService(this);
|
|
63
|
+
this.menus = new MenuService(this);
|
|
64
|
+
this.navigation = new NavigationService(this);
|
|
65
|
+
this.pages = new PageService(this);
|
|
66
|
+
this.press = new PressService(this);
|
|
67
|
+
this.website = new WebsiteService(this);
|
|
51
68
|
}
|
|
52
69
|
async get(url, config) {
|
|
53
70
|
const response = await this.instance.get(url, config);
|
|
@@ -73,6 +90,3 @@ export class BackstageClient {
|
|
|
73
90
|
return this.instance;
|
|
74
91
|
}
|
|
75
92
|
}
|
|
76
|
-
export const client = function (config) {
|
|
77
|
-
return new BackstageClient(config);
|
|
78
|
-
};
|
|
@@ -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":"alerts.d.ts","sourceRoot":"","sources":["../../../src/endpoints/alerts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/endpoints/alerts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,YAAa,SAAQ,WAAW;IACrC,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CAIpC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { BaseService } from "./base";
|
|
2
|
+
export class AlertService extends BaseService {
|
|
3
|
+
async getAlerts() {
|
|
4
|
+
const { data } = await this.client.get("/alerts");
|
|
5
|
+
return data;
|
|
6
|
+
}
|
|
5
7
|
}
|