@antlur/backstage 1.0.8 → 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/client.js +86 -0
- package/dist/cjs/components/json-ld.js +8 -0
- package/dist/cjs/config.js +23 -0
- package/dist/cjs/constants/google-events.js +15 -0
- package/dist/cjs/endpoints/alerts.js +8 -0
- package/dist/cjs/endpoints/events.js +21 -0
- package/dist/cjs/endpoints/locations.js +24 -0
- package/dist/cjs/endpoints/menus.js +27 -0
- package/dist/cjs/endpoints/navigation.js +28 -0
- package/dist/cjs/endpoints/pages.js +23 -0
- package/dist/cjs/endpoints/press.js +8 -0
- package/dist/cjs/endpoints/website.js +8 -0
- package/dist/cjs/index.js +35 -0
- package/dist/cjs/types/alert.js +2 -0
- package/dist/cjs/types/api.js +2 -0
- package/dist/cjs/types/event.js +2 -0
- package/dist/cjs/types/index.js +29 -0
- package/dist/cjs/types/location.js +2 -0
- package/dist/cjs/types/media-item.js +2 -0
- package/dist/cjs/types/menu-category-item.js +2 -0
- package/dist/cjs/types/menu-category.js +2 -0
- package/dist/cjs/types/menu-item.js +2 -0
- package/dist/cjs/types/menu.js +2 -0
- package/dist/cjs/types/navigation.js +2 -0
- package/dist/cjs/types/page.js +2 -0
- package/dist/cjs/types/press.js +2 -0
- package/dist/cjs/types/website.js +2 -0
- 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/{client.d.ts → esm/client.d.ts} +1 -0
- package/dist/esm/client.d.ts.map +1 -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/{config.d.ts → esm/config.d.ts} +1 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/{constants → esm/constants}/google-events.d.ts +1 -0
- package/dist/esm/constants/google-events.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/alerts.d.ts +1 -0
- package/dist/esm/endpoints/alerts.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/events.d.ts +1 -0
- package/dist/esm/endpoints/events.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/locations.d.ts +1 -0
- package/dist/esm/endpoints/locations.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/menus.d.ts +1 -0
- package/dist/esm/endpoints/menus.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/navigation.d.ts +1 -0
- package/dist/esm/endpoints/navigation.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/pages.d.ts +1 -0
- package/dist/esm/endpoints/pages.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/press.d.ts +1 -0
- package/dist/esm/endpoints/press.d.ts.map +1 -0
- package/dist/{endpoints → esm/endpoints}/website.d.ts +1 -0
- package/dist/esm/endpoints/website.d.ts.map +1 -0
- package/dist/{index.d.ts → esm/index.d.ts} +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/{types → esm/types}/alert.d.ts +1 -0
- package/dist/esm/types/alert.d.ts.map +1 -0
- package/dist/{types → esm/types}/api.d.ts +1 -0
- package/dist/esm/types/api.d.ts.map +1 -0
- package/dist/{types → esm/types}/event.d.ts +1 -0
- package/dist/esm/types/event.d.ts.map +1 -0
- package/dist/esm/types/index.d.ts +14 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/{types → esm/types}/location.d.ts +3 -0
- package/dist/esm/types/location.d.ts.map +1 -0
- package/dist/{types → esm/types}/media-item.d.ts +1 -0
- package/dist/esm/types/media-item.d.ts.map +1 -0
- package/dist/{types → esm/types}/menu-category-item.d.ts +1 -0
- package/dist/esm/types/menu-category-item.d.ts.map +1 -0
- package/dist/{types → esm/types}/menu-category.d.ts +1 -0
- package/dist/esm/types/menu-category.d.ts.map +1 -0
- package/dist/{types → esm/types}/menu-item.d.ts +1 -0
- package/dist/esm/types/menu-item.d.ts.map +1 -0
- package/dist/{types → esm/types}/menu.d.ts +1 -0
- package/dist/esm/types/menu.d.ts.map +1 -0
- package/dist/{types → esm/types}/navigation.d.ts +1 -0
- package/dist/esm/types/navigation.d.ts.map +1 -0
- package/dist/{types → esm/types}/page.d.ts +1 -0
- package/dist/esm/types/page.d.ts.map +1 -0
- package/dist/{types → esm/types}/press.d.ts +1 -0
- package/dist/esm/types/press.d.ts.map +1 -0
- package/dist/{types → esm/types}/website.d.ts +2 -0
- package/dist/esm/types/website.d.ts.map +1 -0
- 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 +14 -0
- package/dist/types/client.d.ts.map +1 -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/config.d.ts +10 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/constants/google-events.d.ts +13 -0
- package/dist/types/constants/google-events.d.ts.map +1 -0
- package/dist/types/endpoints/alerts.d.ts +3 -0
- package/dist/types/endpoints/alerts.d.ts.map +1 -0
- package/dist/types/endpoints/events.d.ts +5 -0
- package/dist/types/endpoints/events.d.ts.map +1 -0
- package/dist/types/endpoints/locations.d.ts +4 -0
- package/dist/types/endpoints/locations.d.ts.map +1 -0
- package/dist/types/endpoints/menus.d.ts +5 -0
- package/dist/types/endpoints/menus.d.ts.map +1 -0
- package/dist/types/endpoints/navigation.d.ts +5 -0
- package/dist/types/endpoints/navigation.d.ts.map +1 -0
- package/dist/types/endpoints/pages.d.ts +6 -0
- package/dist/types/endpoints/pages.d.ts.map +1 -0
- package/dist/types/endpoints/press.d.ts +3 -0
- package/dist/types/endpoints/press.d.ts.map +1 -0
- package/dist/types/endpoints/website.d.ts +3 -0
- package/dist/types/endpoints/website.d.ts.map +1 -0
- package/dist/types/index.d.ts +12 -13
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/alert.d.ts +12 -0
- package/dist/types/types/alert.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +12 -0
- package/dist/types/types/api.d.ts.map +1 -0
- package/dist/types/types/event.d.ts +14 -0
- package/dist/types/types/event.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +14 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/location.d.ts +70 -0
- package/dist/types/types/location.d.ts.map +1 -0
- package/dist/types/types/media-item.d.ts +11 -0
- package/dist/types/types/media-item.d.ts.map +1 -0
- package/dist/types/types/menu-category-item.d.ts +18 -0
- package/dist/types/types/menu-category-item.d.ts.map +1 -0
- package/dist/types/types/menu-category.d.ts +15 -0
- package/dist/types/types/menu-category.d.ts.map +1 -0
- package/dist/types/types/menu-item.d.ts +16 -0
- package/dist/types/types/menu-item.d.ts.map +1 -0
- package/dist/types/types/menu.d.ts +13 -0
- package/dist/types/types/menu.d.ts.map +1 -0
- package/dist/types/types/navigation.d.ts +17 -0
- package/dist/types/types/navigation.d.ts.map +1 -0
- package/dist/types/types/page.d.ts +22 -0
- package/dist/types/types/page.d.ts.map +1 -0
- package/dist/types/types/press.d.ts +13 -0
- package/dist/types/types/press.d.ts.map +1 -0
- package/dist/types/types/website.d.ts +69 -0
- package/dist/types/types/website.d.ts.map +1 -0
- 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 +46 -12
- 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
- /package/dist/{client.js → esm/client.js} +0 -0
- /package/dist/{config.js → esm/config.js} +0 -0
- /package/dist/{constants → esm/constants}/google-events.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/alerts.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/events.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/locations.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/menus.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/navigation.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/pages.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/press.js +0 -0
- /package/dist/{endpoints → esm/endpoints}/website.js +0 -0
- /package/dist/{index.js → esm/index.js} +0 -0
- /package/dist/{types → esm/types}/alert.js +0 -0
- /package/dist/{types → esm/types}/api.js +0 -0
- /package/dist/{types → esm/types}/event.js +0 -0
- /package/dist/{types → esm/types}/index.js +0 -0
- /package/dist/{types → esm/types}/location.js +0 -0
- /package/dist/{types → esm/types}/media-item.js +0 -0
- /package/dist/{types → esm/types}/menu-category-item.js +0 -0
- /package/dist/{types → esm/types}/menu-category.js +0 -0
- /package/dist/{types → esm/types}/menu-item.js +0 -0
- /package/dist/{types → esm/types}/menu.js +0 -0
- /package/dist/{types → esm/types}/navigation.js +0 -0
- /package/dist/{types → esm/types}/page.js +0 -0
- /package/dist/{types → esm/types}/press.js +0 -0
- /package/dist/{types → esm/types}/website.js +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.client = exports.BackstageClient = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const config_1 = require("./config");
|
|
9
|
+
class BackstageClient {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
// If no config is passed, try to get from the global config
|
|
12
|
+
const globalConfig = (0, config_1.getGlobalConfig)();
|
|
13
|
+
const finalConfig = config || globalConfig;
|
|
14
|
+
if (!finalConfig) {
|
|
15
|
+
throw new Error("No Backstage config found. Please call defineConfig() or pass config to BackstageClient.");
|
|
16
|
+
}
|
|
17
|
+
// check for token and accountId in the config
|
|
18
|
+
if (!finalConfig.token) {
|
|
19
|
+
throw new Error("No token found in the Backstage config. Please provide a token.");
|
|
20
|
+
}
|
|
21
|
+
if (!finalConfig.accountId) {
|
|
22
|
+
throw new Error("No accountId found in the Backstage config. Please provide an accountId.");
|
|
23
|
+
}
|
|
24
|
+
const { baseURL, token, onError } = finalConfig;
|
|
25
|
+
this.instance = axios_1.default.create({
|
|
26
|
+
baseURL,
|
|
27
|
+
headers: {
|
|
28
|
+
Authorization: `Bearer ${token}`,
|
|
29
|
+
"X-Account-ID": finalConfig.accountId,
|
|
30
|
+
Accept: "application/json",
|
|
31
|
+
"Content-Type": "application/json",
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
// Add request interceptor for debugging
|
|
35
|
+
this.instance.interceptors.request.use((requestConfig) => {
|
|
36
|
+
// console.log("Request:", {
|
|
37
|
+
// method: requestConfig.method,
|
|
38
|
+
// url: requestConfig.url,
|
|
39
|
+
// headers: requestConfig.headers,
|
|
40
|
+
// data: requestConfig.data,
|
|
41
|
+
// });
|
|
42
|
+
return requestConfig;
|
|
43
|
+
});
|
|
44
|
+
// Add response interceptor for debugging
|
|
45
|
+
this.instance.interceptors.response.use((response) => response, (error) => {
|
|
46
|
+
// console.error("API Error:", {
|
|
47
|
+
// status: error.response?.status,
|
|
48
|
+
// method: error.config?.method,
|
|
49
|
+
// url: error.config?.url,
|
|
50
|
+
// headers: error.config?.headers,
|
|
51
|
+
// data: error.response?.data,
|
|
52
|
+
// });
|
|
53
|
+
if (onError)
|
|
54
|
+
onError(error);
|
|
55
|
+
return Promise.reject(error);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
async get(url, config) {
|
|
59
|
+
const response = await this.instance.get(url, config);
|
|
60
|
+
return response.data;
|
|
61
|
+
}
|
|
62
|
+
async post(url, data, config) {
|
|
63
|
+
const response = await this.instance.post(url, data, config);
|
|
64
|
+
return response.data;
|
|
65
|
+
}
|
|
66
|
+
async put(url, data, config) {
|
|
67
|
+
const response = await this.instance.put(url, data, config);
|
|
68
|
+
return response.data;
|
|
69
|
+
}
|
|
70
|
+
async patch(url, data, config) {
|
|
71
|
+
const response = await this.instance.patch(url, data, config);
|
|
72
|
+
return response.data;
|
|
73
|
+
}
|
|
74
|
+
async delete(url, config) {
|
|
75
|
+
const response = await this.instance.delete(url, config);
|
|
76
|
+
return response.data;
|
|
77
|
+
}
|
|
78
|
+
getAxiosInstance() {
|
|
79
|
+
return this.instance;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
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
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineConfig = defineConfig;
|
|
4
|
+
exports.getGlobalConfig = getGlobalConfig;
|
|
5
|
+
const ROOT = process.cwd();
|
|
6
|
+
const CONFIG_PATH = process.env.BACKSTAGE_CONFIG_PATH || "./backstage.config";
|
|
7
|
+
const DEFAULT_BASE_URL = "https://bckstg.app/api";
|
|
8
|
+
let globalConfig = {
|
|
9
|
+
baseURL: process.env.BACKSTAGE_API_URL ?? DEFAULT_BASE_URL,
|
|
10
|
+
token: process.env.BACKSTAGE_API_KEY ?? undefined,
|
|
11
|
+
accountId: process.env.BACKSTAGE_ACCOUNT_ID ?? undefined,
|
|
12
|
+
};
|
|
13
|
+
function defineConfig(config) {
|
|
14
|
+
globalConfig = {
|
|
15
|
+
...globalConfig,
|
|
16
|
+
...config,
|
|
17
|
+
};
|
|
18
|
+
return globalConfig;
|
|
19
|
+
}
|
|
20
|
+
function getGlobalConfig() {
|
|
21
|
+
// read the config from the project root
|
|
22
|
+
return globalConfig;
|
|
23
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GALocations = exports.GAEvents = void 0;
|
|
4
|
+
exports.GAEvents = {
|
|
5
|
+
CLICK_TO_MAP: "click_to_map",
|
|
6
|
+
CLICK_TO_CALL: "click_to_call",
|
|
7
|
+
CLICK_TO_SOCIAL: "click_to_social",
|
|
8
|
+
CLICK_TO_WAITLIST: "click_to_waitlist",
|
|
9
|
+
FIND_LOCATION: "find_location",
|
|
10
|
+
CLICK_TO_ORDER: "click_to_order",
|
|
11
|
+
};
|
|
12
|
+
exports.GALocations = {
|
|
13
|
+
LOCATION_CARD: "location_card",
|
|
14
|
+
TOPBAR: "topbar",
|
|
15
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAlerts = getAlerts;
|
|
4
|
+
const client_1 = require("../client");
|
|
5
|
+
async function getAlerts() {
|
|
6
|
+
const { data } = await (0, client_1.client)().get("/alerts");
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEvents = getEvents;
|
|
4
|
+
exports.getEvent = getEvent;
|
|
5
|
+
exports.getEventBySlug = getEventBySlug;
|
|
6
|
+
const client_1 = require("../client");
|
|
7
|
+
async function getEvents() {
|
|
8
|
+
const res = await (0, client_1.client)().get("/events");
|
|
9
|
+
const pages = res.data;
|
|
10
|
+
return pages;
|
|
11
|
+
}
|
|
12
|
+
async function getEvent(id) {
|
|
13
|
+
const res = await (0, client_1.client)().get("/events" + "?filter[id]=" + id);
|
|
14
|
+
const pages = res.data?.[0];
|
|
15
|
+
return pages;
|
|
16
|
+
}
|
|
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
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLocations = getLocations;
|
|
4
|
+
exports.getLocationBySlug = getLocationBySlug;
|
|
5
|
+
const client_1 = require("../client");
|
|
6
|
+
async function getLocations() {
|
|
7
|
+
const res = await (0, client_1.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 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];
|
|
22
|
+
}
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMenus = getMenus;
|
|
4
|
+
exports.getMenu = getMenu;
|
|
5
|
+
exports.getMenuBySlug = getMenuBySlug;
|
|
6
|
+
const client_1 = require("../client");
|
|
7
|
+
async function getMenus() {
|
|
8
|
+
const res = await (0, client_1.client)().get("/menus");
|
|
9
|
+
const menus = res.data;
|
|
10
|
+
return menus;
|
|
11
|
+
}
|
|
12
|
+
async function getMenu(id) {
|
|
13
|
+
const res = await (0, client_1.client)().get(`/menus?filter[id]=${id}&include=categories.items`);
|
|
14
|
+
const data = res.data;
|
|
15
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
16
|
+
return data[0];
|
|
17
|
+
}
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
async function getMenuBySlug(slug) {
|
|
21
|
+
const res = await (0, client_1.client)().get(`/menus?filter[slug]=${slug}&include=categories.items`);
|
|
22
|
+
const data = res.data;
|
|
23
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
24
|
+
return data[0];
|
|
25
|
+
}
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDefaultNavigation = getDefaultNavigation;
|
|
4
|
+
exports.getNavigations = getNavigations;
|
|
5
|
+
exports.getNavigation = getNavigation;
|
|
6
|
+
const client_1 = require("../client");
|
|
7
|
+
async function getDefaultNavigation() {
|
|
8
|
+
const navigations = await getNavigations();
|
|
9
|
+
return navigations[0];
|
|
10
|
+
}
|
|
11
|
+
async function getNavigations() {
|
|
12
|
+
const res = await (0, client_1.client)().get("/navigations");
|
|
13
|
+
const navigations = res.data;
|
|
14
|
+
return Promise.all(navigations.map(async (navigation) => {
|
|
15
|
+
const res = await (0, client_1.client)().get("/navigations/" + navigation.id);
|
|
16
|
+
return res.data[0];
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
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
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPage = getPage;
|
|
4
|
+
exports.getPages = getPages;
|
|
5
|
+
exports.getHomePage = getHomePage;
|
|
6
|
+
exports.getPageBySlug = getPageBySlug;
|
|
7
|
+
const client_1 = require("../client");
|
|
8
|
+
async function getPage(slug) {
|
|
9
|
+
const res = await (0, client_1.client)().get(`/pages/?filter[slug]=${slug}`);
|
|
10
|
+
return res.data[0];
|
|
11
|
+
}
|
|
12
|
+
async function getPages() {
|
|
13
|
+
const { data } = await (0, client_1.client)().get("/pages");
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
async function getHomePage() {
|
|
17
|
+
const res = await (0, client_1.client)().get("/pages?filter[slug]=/");
|
|
18
|
+
return res.data[0];
|
|
19
|
+
}
|
|
20
|
+
async function getPageBySlug(slug) {
|
|
21
|
+
const res = await (0, client_1.client)().get("/pages?filter[slug]=" + slug);
|
|
22
|
+
return res.data[0];
|
|
23
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWebsite = getWebsite;
|
|
4
|
+
const client_1 = require("../client");
|
|
5
|
+
async function getWebsite() {
|
|
6
|
+
const res = await (0, client_1.client)().get("/websites");
|
|
7
|
+
return res.data[0];
|
|
8
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.BackstageClient = exports.getGlobalConfig = exports.defineConfig = void 0;
|
|
18
|
+
// Re-export config
|
|
19
|
+
var config_1 = require("./config");
|
|
20
|
+
Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return config_1.defineConfig; } });
|
|
21
|
+
Object.defineProperty(exports, "getGlobalConfig", { enumerable: true, get: function () { return config_1.getGlobalConfig; } });
|
|
22
|
+
// Re-export the client class
|
|
23
|
+
var client_1 = require("./client");
|
|
24
|
+
Object.defineProperty(exports, "BackstageClient", { enumerable: true, get: function () { return client_1.BackstageClient; } });
|
|
25
|
+
// Re-export endpoints
|
|
26
|
+
__exportStar(require("./endpoints/alerts"), exports);
|
|
27
|
+
__exportStar(require("./endpoints/events"), exports);
|
|
28
|
+
__exportStar(require("./endpoints/locations"), exports);
|
|
29
|
+
__exportStar(require("./endpoints/menus"), exports);
|
|
30
|
+
__exportStar(require("./endpoints/navigation"), exports);
|
|
31
|
+
__exportStar(require("./endpoints/pages"), exports);
|
|
32
|
+
__exportStar(require("./endpoints/press"), exports);
|
|
33
|
+
__exportStar(require("./endpoints/website"), exports);
|
|
34
|
+
// Re-export domain types
|
|
35
|
+
__exportStar(require("./types"), exports);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./alert"), exports);
|
|
18
|
+
__exportStar(require("./api"), exports);
|
|
19
|
+
__exportStar(require("./event"), exports);
|
|
20
|
+
__exportStar(require("./location"), exports);
|
|
21
|
+
__exportStar(require("./media-item"), exports);
|
|
22
|
+
__exportStar(require("./menu-category-item"), exports);
|
|
23
|
+
__exportStar(require("./menu-category"), exports);
|
|
24
|
+
__exportStar(require("./menu-item"), exports);
|
|
25
|
+
__exportStar(require("./menu"), exports);
|
|
26
|
+
__exportStar(require("./navigation"), exports);
|
|
27
|
+
__exportStar(require("./page"), exports);
|
|
28
|
+
__exportStar(require("./press"), exports);
|
|
29
|
+
__exportStar(require("./website"), exports);
|
|
@@ -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":"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;AAEhE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,CAAC,EAAE,mBAAmB;IA0D3B,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;AAED,eAAO,MAAM,MAAM,YAAsB,mBAAmB,KAAG,eAE9D,CAAC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAMnC,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAQD,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAM7E;AAED,wBAAgB,eAAe,IAAI,mBAAmB,CAGrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-events.d.ts","sourceRoot":"","sources":["../../../src/constants/google-events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;CAOpB,CAAC;AAEF,eAAO,MAAM,WAAW;;;CAGvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/endpoints/alerts.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,EAAE,MAAM,UAAU,CAAC;AAExD,wBAAsB,SAAS,qBAG9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/endpoints/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,EAAE,MAAM,UAAU,CAAC;AAExD,wBAAsB,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAIlD;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAIzD;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAIjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../../../src/endpoints/locations.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE3D,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAUxD;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,kCASnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menus.d.ts","sourceRoot":"","sources":["../../../src/endpoints/menus.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,IAAI,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAIhD;AAED,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,0BASvC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,0BAS/C"}
|