@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.
Files changed (139) hide show
  1. package/dist/cjs/client.js +18 -5
  2. package/dist/cjs/components/json-ld.js +8 -0
  3. package/dist/cjs/config.js +2 -3
  4. package/dist/cjs/endpoints/alerts.js +8 -6
  5. package/dist/cjs/endpoints/base.js +9 -0
  6. package/dist/cjs/endpoints/events.js +16 -19
  7. package/dist/cjs/endpoints/locations.js +21 -20
  8. package/dist/cjs/endpoints/menus.js +23 -23
  9. package/dist/cjs/endpoints/navigation.js +26 -26
  10. package/dist/cjs/endpoints/pages.js +20 -21
  11. package/dist/cjs/endpoints/press.js +8 -6
  12. package/dist/cjs/endpoints/website.js +8 -6
  13. package/dist/cjs/util/event.js +70 -0
  14. package/dist/cjs/util/gtag.js +14 -0
  15. package/dist/cjs/util/imgproxy-loader.js +14 -0
  16. package/dist/cjs/util/publishing.js +6 -0
  17. package/dist/cjs/util/special-hours.js +23 -0
  18. package/dist/esm/client.d.ts +16 -1
  19. package/dist/esm/client.d.ts.map +1 -1
  20. package/dist/esm/client.js +17 -3
  21. package/dist/esm/components/json-ld.d.ts +7 -0
  22. package/dist/esm/components/json-ld.d.ts.map +1 -0
  23. package/dist/esm/components/json-ld.js +5 -0
  24. package/dist/esm/endpoints/alerts.d.ts +4 -1
  25. package/dist/esm/endpoints/alerts.d.ts.map +1 -1
  26. package/dist/esm/endpoints/alerts.js +6 -4
  27. package/dist/esm/endpoints/base.d.ts +6 -0
  28. package/dist/esm/endpoints/base.d.ts.map +1 -0
  29. package/dist/esm/endpoints/base.js +5 -0
  30. package/dist/esm/endpoints/events.d.ts +6 -3
  31. package/dist/esm/endpoints/events.d.ts.map +1 -1
  32. package/dist/esm/endpoints/events.js +14 -15
  33. package/dist/esm/endpoints/locations.d.ts +5 -2
  34. package/dist/esm/endpoints/locations.d.ts.map +1 -1
  35. package/dist/esm/endpoints/locations.js +19 -17
  36. package/dist/esm/endpoints/menus.d.ts +6 -3
  37. package/dist/esm/endpoints/menus.d.ts.map +1 -1
  38. package/dist/esm/endpoints/menus.js +21 -19
  39. package/dist/esm/endpoints/navigation.d.ts +6 -3
  40. package/dist/esm/endpoints/navigation.d.ts.map +1 -1
  41. package/dist/esm/endpoints/navigation.js +24 -22
  42. package/dist/esm/endpoints/pages.d.ts +8 -5
  43. package/dist/esm/endpoints/pages.d.ts.map +1 -1
  44. package/dist/esm/endpoints/pages.js +18 -16
  45. package/dist/esm/endpoints/press.d.ts +4 -1
  46. package/dist/esm/endpoints/press.d.ts.map +1 -1
  47. package/dist/esm/endpoints/press.js +6 -4
  48. package/dist/esm/endpoints/website.d.ts +4 -1
  49. package/dist/esm/endpoints/website.d.ts.map +1 -1
  50. package/dist/esm/endpoints/website.js +6 -4
  51. package/dist/esm/types/location.d.ts +2 -0
  52. package/dist/esm/types/location.d.ts.map +1 -1
  53. package/dist/esm/types/website.d.ts +1 -0
  54. package/dist/esm/types/website.d.ts.map +1 -1
  55. package/dist/esm/util/event.d.ts +8 -0
  56. package/dist/esm/util/event.d.ts.map +1 -0
  57. package/dist/esm/util/event.js +63 -0
  58. package/dist/esm/util/gtag.d.ts +23 -0
  59. package/dist/esm/util/gtag.d.ts.map +1 -0
  60. package/dist/esm/util/gtag.js +10 -0
  61. package/dist/esm/util/imgproxy-loader.d.ts +9 -0
  62. package/dist/esm/util/imgproxy-loader.d.ts.map +1 -0
  63. package/dist/esm/util/imgproxy-loader.js +11 -0
  64. package/dist/esm/util/publishing.d.ts +2 -0
  65. package/dist/esm/util/publishing.d.ts.map +1 -0
  66. package/dist/esm/util/publishing.js +3 -0
  67. package/dist/esm/util/special-hours.d.ts +3 -0
  68. package/dist/esm/util/special-hours.d.ts.map +1 -0
  69. package/dist/esm/util/special-hours.js +20 -0
  70. package/dist/types/client.d.ts +16 -1
  71. package/dist/types/client.d.ts.map +1 -1
  72. package/dist/types/components/json-ld.d.ts +7 -0
  73. package/dist/types/components/json-ld.d.ts.map +1 -0
  74. package/dist/types/endpoints/alerts.d.ts +4 -1
  75. package/dist/types/endpoints/alerts.d.ts.map +1 -1
  76. package/dist/types/endpoints/base.d.ts +6 -0
  77. package/dist/types/endpoints/base.d.ts.map +1 -0
  78. package/dist/types/endpoints/events.d.ts +6 -3
  79. package/dist/types/endpoints/events.d.ts.map +1 -1
  80. package/dist/types/endpoints/locations.d.ts +5 -2
  81. package/dist/types/endpoints/locations.d.ts.map +1 -1
  82. package/dist/types/endpoints/menus.d.ts +6 -3
  83. package/dist/types/endpoints/menus.d.ts.map +1 -1
  84. package/dist/types/endpoints/navigation.d.ts +6 -3
  85. package/dist/types/endpoints/navigation.d.ts.map +1 -1
  86. package/dist/types/endpoints/pages.d.ts +8 -5
  87. package/dist/types/endpoints/pages.d.ts.map +1 -1
  88. package/dist/types/endpoints/press.d.ts +4 -1
  89. package/dist/types/endpoints/press.d.ts.map +1 -1
  90. package/dist/types/endpoints/website.d.ts +4 -1
  91. package/dist/types/endpoints/website.d.ts.map +1 -1
  92. package/dist/types/types/location.d.ts +2 -0
  93. package/dist/types/types/location.d.ts.map +1 -1
  94. package/dist/types/types/website.d.ts +1 -0
  95. package/dist/types/types/website.d.ts.map +1 -1
  96. package/dist/types/util/event.d.ts +8 -0
  97. package/dist/types/util/event.d.ts.map +1 -0
  98. package/dist/types/util/gtag.d.ts +23 -0
  99. package/dist/types/util/gtag.d.ts.map +1 -0
  100. package/dist/types/util/imgproxy-loader.d.ts +9 -0
  101. package/dist/types/util/imgproxy-loader.d.ts.map +1 -0
  102. package/dist/types/util/publishing.d.ts +2 -0
  103. package/dist/types/util/publishing.d.ts.map +1 -0
  104. package/dist/types/util/special-hours.d.ts +3 -0
  105. package/dist/types/util/special-hours.d.ts.map +1 -0
  106. package/package.json +31 -4
  107. package/src/client.ts +121 -0
  108. package/src/components/json-ld.tsx +9 -0
  109. package/src/config.ts +31 -0
  110. package/src/constants/google-events.ts +13 -0
  111. package/src/endpoints/alerts.ts +9 -0
  112. package/src/endpoints/base.ts +5 -0
  113. package/src/endpoints/events.ts +19 -0
  114. package/src/endpoints/locations.ts +27 -0
  115. package/src/endpoints/menus.ts +34 -0
  116. package/src/endpoints/navigation.ts +36 -0
  117. package/src/endpoints/pages.ts +24 -0
  118. package/src/endpoints/press.ts +9 -0
  119. package/src/endpoints/website.ts +9 -0
  120. package/src/index.ts +18 -0
  121. package/src/types/alert.ts +11 -0
  122. package/src/types/api.ts +12 -0
  123. package/src/types/event.ts +14 -0
  124. package/src/types/index.ts +13 -0
  125. package/src/types/location.ts +69 -0
  126. package/src/types/media-item.ts +10 -0
  127. package/src/types/menu-category-item.ts +18 -0
  128. package/src/types/menu-category.ts +15 -0
  129. package/src/types/menu-item.ts +15 -0
  130. package/src/types/menu.ts +12 -0
  131. package/src/types/navigation.ts +17 -0
  132. package/src/types/page.ts +24 -0
  133. package/src/types/press.ts +13 -0
  134. package/src/types/website.ts +76 -0
  135. package/src/util/event.ts +77 -0
  136. package/src/util/gtag.ts +40 -0
  137. package/src/util/imgproxy-loader.ts +22 -0
  138. package/src/util/publishing.ts +3 -0
  139. package/src/util/special-hours.ts +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/endpoints/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,qBAAa,WAAW;IACV,SAAS,CAAC,MAAM,EAAE,eAAe;gBAAvB,MAAM,EAAE,eAAe;CAC9C"}
@@ -0,0 +1,5 @@
1
+ export class BaseService {
2
+ constructor(client) {
3
+ this.client = client;
4
+ }
5
+ }
@@ -1,5 +1,8 @@
1
1
  import { Event } from "../types";
2
- export declare function getEvents(): Promise<Event[]>;
3
- export declare function getEvent(id: string): Promise<Event>;
4
- export declare function getEventBySlug(slug: string): Promise<Event>;
2
+ import { BaseService } from "./base";
3
+ export declare class EventService extends BaseService {
4
+ getEvents(): Promise<Event[]>;
5
+ getEvent(id: string): Promise<Event>;
6
+ getEventBySlug(slug: string): Promise<Event>;
7
+ }
5
8
  //# sourceMappingURL=events.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/endpoints/events.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;IAK7B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;CAInD"}
@@ -1,16 +1,15 @@
1
- import { client } from "../client";
2
- export async function getEvents() {
3
- const res = await client().get("/events");
4
- const pages = res.data;
5
- return pages;
6
- }
7
- export async function getEvent(id) {
8
- const res = await client().get("/events" + "?filter[id]=" + id);
9
- const pages = res.data?.[0];
10
- return pages;
11
- }
12
- export async function getEventBySlug(slug) {
13
- const res = await client().get("/events" + "?filter[slug]=" + slug);
14
- const pages = res.data?.[0];
15
- return pages;
1
+ import { BaseService } from "./base";
2
+ export class EventService extends BaseService {
3
+ async getEvents() {
4
+ const { data } = await this.client.get("/events");
5
+ return data;
6
+ }
7
+ async getEvent(id) {
8
+ const { data } = await this.client.get("/events" + "?filter[id]=" + id);
9
+ return data?.[0];
10
+ }
11
+ async getEventBySlug(slug) {
12
+ const { data } = await this.client.get("/events" + "?filter[slug]=" + slug);
13
+ return data?.[0];
14
+ }
16
15
  }
@@ -1,4 +1,7 @@
1
1
  import { Location } from "../types";
2
- export declare function getLocations(): Promise<Location[]>;
3
- export declare function getLocationBySlug(slug: string): Promise<Location | Location[]>;
2
+ import { BaseService } from "./base";
3
+ export declare class LocationService extends BaseService {
4
+ getLocations(): Promise<Location[]>;
5
+ getLocationBySlug(slug: string): Promise<Location | Location[]>;
6
+ }
4
7
  //# sourceMappingURL=locations.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../../../src/endpoints/locations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,eAAgB,SAAQ,WAAW;IACxC,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAYnC,iBAAiB,CAAC,IAAI,EAAE,MAAM;CAUrC"}
@@ -1,20 +1,22 @@
1
- import { client } from "../client";
2
- export async function getLocations() {
3
- const res = await client().get("/locations");
4
- let locations = res.data;
5
- locations = locations.sort((a, b) => {
6
- if (a.name < b.name) {
7
- return -1;
1
+ import { BaseService } from "./base";
2
+ export class LocationService extends BaseService {
3
+ async getLocations() {
4
+ const res = await this.client.get("/locations");
5
+ let locations = res.data;
6
+ locations = locations.sort((a, b) => {
7
+ if (a.name < b.name) {
8
+ return -1;
9
+ }
10
+ return 1;
11
+ });
12
+ return locations;
13
+ }
14
+ async getLocationBySlug(slug) {
15
+ const res = await this.client.get(`/locations?filter[slug]=${slug}`);
16
+ const data = res.data;
17
+ if (Array.isArray(data) && data.length > 0) {
18
+ return data[0];
8
19
  }
9
- return 1;
10
- });
11
- return locations;
12
- }
13
- export async function getLocationBySlug(slug) {
14
- const res = await client().get(`/locations?filter[slug]=${slug}`);
15
- const data = res.data;
16
- if (Array.isArray(data) && data.length > 0) {
17
- return data[0];
20
+ return data;
18
21
  }
19
- return data;
20
22
  }
@@ -1,5 +1,8 @@
1
1
  import { Menu } from "../types";
2
- export declare function getMenus(): Promise<Menu[]>;
3
- export declare function getMenu(id: string): Promise<Menu | Menu[]>;
4
- export declare function getMenuBySlug(slug: string): Promise<Menu | Menu[]>;
2
+ import { BaseService } from "./base";
3
+ export declare class MenuService extends BaseService {
4
+ getMenus(): Promise<Menu[]>;
5
+ getMenu(id: string): Promise<Menu | Menu[]>;
6
+ getMenuBySlug(slug: string): Promise<Menu | Menu[]>;
7
+ }
5
8
  //# sourceMappingURL=menus.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"menus.d.ts","sourceRoot":"","sources":["../../../src/endpoints/menus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,WAAY,SAAQ,WAAW;IACpC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAM3B,OAAO,CAAC,EAAE,EAAE,MAAM;IAWlB,aAAa,CAAC,IAAI,EAAE,MAAM;CAYjC"}
@@ -1,22 +1,24 @@
1
- import { client } from "../client";
2
- export async function getMenus() {
3
- const res = await client().get("/menus");
4
- const menus = res.data;
5
- return menus;
6
- }
7
- export async function getMenu(id) {
8
- const res = await client().get(`/menus?filter[id]=${id}&include=categories.items`);
9
- const data = res.data;
10
- if (Array.isArray(data) && data.length > 0) {
11
- return data[0];
1
+ import { BaseService } from "./base";
2
+ export class MenuService extends BaseService {
3
+ async getMenus() {
4
+ const res = await this.client.get("/menus");
5
+ const menus = res.data;
6
+ return menus;
12
7
  }
13
- return data;
14
- }
15
- export async function getMenuBySlug(slug) {
16
- const res = await client().get(`/menus?filter[slug]=${slug}&include=categories.items`);
17
- const data = res.data;
18
- if (Array.isArray(data) && data.length > 0) {
19
- return data[0];
8
+ async getMenu(id) {
9
+ const res = await this.client.get(`/menus?filter[id]=${id}&include=categories.items`);
10
+ const data = res.data;
11
+ if (Array.isArray(data) && data.length > 0) {
12
+ return data[0];
13
+ }
14
+ return data;
15
+ }
16
+ async getMenuBySlug(slug) {
17
+ const res = await this.client.get(`/menus?filter[slug]=${slug}&include=categories.items`);
18
+ const data = res.data;
19
+ if (Array.isArray(data) && data.length > 0) {
20
+ return data[0];
21
+ }
22
+ return data;
20
23
  }
21
- return data;
22
24
  }
@@ -1,5 +1,8 @@
1
1
  import { Navigation } from "../types";
2
- export declare function getDefaultNavigation(): Promise<Navigation>;
3
- export declare function getNavigations(): Promise<Navigation[]>;
4
- export declare function getNavigation(id: string): Promise<Navigation>;
2
+ import { BaseService } from "./base";
3
+ export declare class NavigationService extends BaseService {
4
+ getNavigations(): Promise<Navigation[]>;
5
+ getDefaultNavigation(): Promise<Navigation>;
6
+ getNavigation(id: string): Promise<Navigation>;
7
+ }
5
8
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/endpoints/navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,UAAU,EAAE,MAAM,UAAU,CAAC;AAEhF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,CAGhE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAU5D;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAanE"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/endpoints/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,UAAU,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,iBAAkB,SAAQ,WAAW;IAC1C,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAYvC,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC;IAK3C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAcrD"}
@@ -1,23 +1,25 @@
1
- import { client } from "../client";
2
- export async function getDefaultNavigation() {
3
- const navigations = await getNavigations();
4
- return navigations[0];
5
- }
6
- export async function getNavigations() {
7
- const res = await client().get("/navigations");
8
- const navigations = res.data;
9
- return Promise.all(navigations.map(async (navigation) => {
10
- const res = await client().get("/navigations/" + navigation.id);
11
- return res.data[0];
12
- }));
13
- }
14
- export async function getNavigation(id) {
15
- const res = await client().get(`/navigations/${id}`);
16
- const navigation = res.data;
17
- const topLevelItems = navigation.items.filter((item) => item.parent_id === null);
18
- topLevelItems.forEach((item) => {
19
- item.children = navigation.items.filter((child) => child.parent_id === item.id);
20
- });
21
- navigation.items = topLevelItems;
22
- return navigation;
1
+ import { BaseService } from "./base";
2
+ export class NavigationService extends BaseService {
3
+ async getNavigations() {
4
+ const res = await this.client.get("/navigations");
5
+ const navigations = res.data;
6
+ return Promise.all(navigations.map(async (navigation) => {
7
+ const res = await this.client.get("/navigations/" + navigation.id);
8
+ return res.data[0];
9
+ }));
10
+ }
11
+ async getDefaultNavigation() {
12
+ const navigations = await this.getNavigations();
13
+ return navigations[0];
14
+ }
15
+ async getNavigation(id) {
16
+ const res = await this.client.get(`/navigations/${id}`);
17
+ const navigation = res.data;
18
+ const topLevelItems = navigation.items.filter((item) => item.parent_id === null);
19
+ topLevelItems.forEach((item) => {
20
+ item.children = navigation.items.filter((child) => child.parent_id === item.id);
21
+ });
22
+ navigation.items = topLevelItems;
23
+ return navigation;
24
+ }
23
25
  }
@@ -1,6 +1,9 @@
1
- import { Page } from "../types/page";
2
- export declare function getPage(slug: string): Promise<Page>;
3
- export declare function getPages(): Promise<Page[]>;
4
- export declare function getHomePage(): Promise<Page>;
5
- export declare function getPageBySlug(slug: string): Promise<Page>;
1
+ import { Page } from "../types";
2
+ import { BaseService } from "./base";
3
+ export declare class PageService extends BaseService {
4
+ getPages(): Promise<Page[]>;
5
+ getPage(id: string): Promise<Page>;
6
+ getPageBySlug(slug: string): Promise<Page>;
7
+ getHomePage(): Promise<Page>;
8
+ }
6
9
  //# sourceMappingURL=pages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/endpoints/pages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzD;AAED,wBAAsB,QAAQ,oBAG7B;AAED,wBAAsB,WAAW,kBAGhC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,iBAG/C"}
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/endpoints/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,WAAY,SAAQ,WAAW;IACpC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAK3B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAInC"}
@@ -1,17 +1,19 @@
1
- import { client } from "../client";
2
- export async function getPage(slug) {
3
- const res = await client().get(`/pages/?filter[slug]=${slug}`);
4
- return res.data[0];
5
- }
6
- export async function getPages() {
7
- const { data } = await client().get("/pages");
8
- return data;
9
- }
10
- export async function getHomePage() {
11
- const res = await client().get("/pages?filter[slug]=/");
12
- return res.data[0];
13
- }
14
- export async function getPageBySlug(slug) {
15
- const res = await client().get("/pages?filter[slug]=" + slug);
16
- return res.data[0];
1
+ import { BaseService } from "./base";
2
+ export class PageService extends BaseService {
3
+ async getPages() {
4
+ const res = await this.client.get("/pages");
5
+ return res.data;
6
+ }
7
+ async getPage(id) {
8
+ const res = await this.client.get(`/pages/${id}`);
9
+ return res.data[0];
10
+ }
11
+ async getPageBySlug(slug) {
12
+ const res = await this.client.get(`/pages?filter[slug]=${slug}`);
13
+ return res.data[0];
14
+ }
15
+ async getHomePage() {
16
+ const res = await this.client.get("/pages?filter[slug]=/");
17
+ return res.data[0];
18
+ }
17
19
  }
@@ -1,3 +1,6 @@
1
1
  import { Press } from "../types";
2
- export declare function getPress(): Promise<Press[]>;
2
+ import { BaseService } from "./base";
3
+ export declare class PressService extends BaseService {
4
+ getPress(): Promise<Press[]>;
5
+ }
3
6
  //# sourceMappingURL=press.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"press.d.ts","sourceRoot":"","sources":["../../../src/endpoints/press.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,EAAE,MAAM,UAAU,CAAC;AAExD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAGjD"}
1
+ {"version":3,"file":"press.d.ts","sourceRoot":"","sources":["../../../src/endpoints/press.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,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CAInC"}
@@ -1,5 +1,7 @@
1
- import { client } from "../client";
2
- export async function getPress() {
3
- const { data } = await client().get("/press");
4
- return data;
1
+ import { BaseService } from "./base";
2
+ export class PressService extends BaseService {
3
+ async getPress() {
4
+ const { data } = await this.client.get("/press");
5
+ return data;
6
+ }
5
7
  }
@@ -1,3 +1,6 @@
1
1
  import { Website } from "../types";
2
- export declare function getWebsite(): Promise<Website>;
2
+ import { BaseService } from "./base";
3
+ export declare class WebsiteService extends BaseService {
4
+ getWebsite(): Promise<Website>;
5
+ }
3
6
  //# sourceMappingURL=website.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../../src/endpoints/website.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1D,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAGnD"}
1
+ {"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../../src/endpoints/website.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,cAAe,SAAQ,WAAW;IACvC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CAIrC"}
@@ -1,5 +1,7 @@
1
- import { client } from "../client";
2
- export async function getWebsite() {
3
- const res = await client().get("/websites");
4
- return res.data[0];
1
+ import { BaseService } from "./base";
2
+ export class WebsiteService extends BaseService {
3
+ async getWebsite() {
4
+ const res = await this.client.get("/websites");
5
+ return res.data[0];
6
+ }
5
7
  }
@@ -64,5 +64,7 @@ export interface Location {
64
64
  height: number;
65
65
  alt: string;
66
66
  };
67
+ status: string;
68
+ status_text: string;
67
69
  }
68
70
  //# sourceMappingURL=location.d.ts.map
@@ -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;CACH"}
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"}
@@ -64,5 +64,6 @@ export interface Website {
64
64
  social_links: SocialLink[];
65
65
  home_cta_text: string | null;
66
66
  home_cta_url: string | null;
67
+ has_accessibility_widget: boolean;
67
68
  }
68
69
  //# sourceMappingURL=website.d.ts.map
@@ -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;CAC7B"}
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,2 @@
1
+ export declare function filterPublishedItems(items: any[]): any[];
2
+ //# sourceMappingURL=publishing.d.ts.map
@@ -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,3 @@
1
+ export function filterPublishedItems(items) {
2
+ return items.filter((item) => item.published_at !== null);
3
+ }
@@ -0,0 +1,3 @@
1
+ import type { Location } from "../types";
2
+ export declare function getSpecialHoursFromLocation(location: Location): any[];
3
+ //# sourceMappingURL=special-hours.d.ts.map
@@ -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
+ }