@eventcatalog/core 0.0.14 → 0.1.3

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 (242) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +34 -34
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/export-detail.json +1 -0
  12. package/.next/next-server.js.nft.json +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/526.js +4 -4
  16. package/.next/server/chunks/{959.js → 681.js} +126 -4
  17. package/.next/server/chunks/944.js +22 -27
  18. package/.next/server/pages/404.html +1 -1
  19. package/.next/server/pages/500.html +1 -1
  20. package/.next/server/pages/_app.js +14 -1
  21. package/.next/server/pages/events/AddedItemToCart/logs.html +1 -0
  22. package/.next/server/pages/events/AddedItemToCart/logs.json +1 -0
  23. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.html +48 -0
  24. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.json +1 -0
  25. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.html +55 -0
  26. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.json +1 -0
  27. package/.next/server/pages/events/AddedItemToCart.html +2 -2
  28. package/.next/server/pages/events/AddedItemToCart.json +1 -1
  29. package/.next/server/pages/events/OrderComplete/logs.html +1 -0
  30. package/.next/server/pages/events/OrderComplete/logs.json +1 -0
  31. package/.next/server/pages/events/OrderComplete.html +2 -2
  32. package/.next/server/pages/events/OrderComplete.json +1 -1
  33. package/.next/server/pages/events/OrderConfirmed/logs.html +1 -0
  34. package/.next/server/pages/events/OrderConfirmed/logs.json +1 -0
  35. package/.next/server/pages/events/OrderConfirmed.html +2 -2
  36. package/.next/server/pages/events/OrderConfirmed.json +1 -1
  37. package/.next/server/pages/events/OrderRequested/logs.html +1 -0
  38. package/.next/server/pages/events/OrderRequested/logs.json +1 -0
  39. package/.next/server/pages/events/OrderRequested.html +2 -2
  40. package/.next/server/pages/events/OrderRequested.json +1 -1
  41. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -0
  42. package/.next/server/pages/events/PaymentProcessed/logs.json +1 -0
  43. package/.next/server/pages/events/PaymentProcessed.html +2 -2
  44. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  45. package/.next/server/pages/events/RemovedItemFromCart/logs.html +1 -0
  46. package/.next/server/pages/events/RemovedItemFromCart/logs.json +1 -0
  47. package/.next/server/pages/events/RemovedItemFromCart.html +2 -2
  48. package/.next/server/pages/events/RemovedItemFromCart.json +1 -1
  49. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -0
  50. package/.next/server/pages/events/ShipmentDelivered/logs.json +1 -0
  51. package/.next/server/pages/events/ShipmentDelivered.html +2 -2
  52. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  53. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -0
  54. package/.next/server/pages/events/ShipmentDispatched/logs.json +1 -0
  55. package/.next/server/pages/events/ShipmentDispatched.html +2 -2
  56. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  57. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -0
  58. package/.next/server/pages/events/ShipmentPrepared/logs.json +1 -0
  59. package/.next/server/pages/events/ShipmentPrepared.html +2 -2
  60. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  61. package/.next/server/pages/events/[name]/logs.js +18 -4
  62. package/.next/server/pages/events/[name]/logs.js.nft.json +1 -1
  63. package/.next/server/pages/events/[name]/v/[version].js +25 -9
  64. package/.next/server/pages/events/[name]/v/[version].js.nft.json +1 -1
  65. package/.next/server/pages/events/[name].js +7 -7
  66. package/.next/server/pages/events/[name].js.nft.json +1 -1
  67. package/.next/server/pages/events.html +10 -0
  68. package/.next/server/pages/events.js +111 -41
  69. package/.next/server/pages/events.js.nft.json +1 -1
  70. package/.next/server/pages/events.json +1 -0
  71. package/.next/server/pages/index.html +1 -1
  72. package/.next/server/pages/overview.html +1 -0
  73. package/.next/server/pages/overview.js +3 -3
  74. package/.next/server/pages/overview.js.nft.json +1 -1
  75. package/.next/server/pages/overview.json +1 -0
  76. package/.next/server/pages/services/Basket Service.html +2 -2
  77. package/.next/server/pages/services/Basket Service.json +1 -1
  78. package/.next/server/pages/services/Data Lake.html +2 -2
  79. package/.next/server/pages/services/Data Lake.json +1 -1
  80. package/.next/server/pages/services/Payment Service.html +2 -2
  81. package/.next/server/pages/services/Payment Service.json +1 -1
  82. package/.next/server/pages/services/Shipping Service.html +2 -2
  83. package/.next/server/pages/services/Shipping Service.json +1 -1
  84. package/.next/server/pages/services/[name].js +2 -2
  85. package/.next/server/pages/services/[name].js.nft.json +1 -1
  86. package/.next/server/pages/services.html +5 -0
  87. package/.next/server/pages/services.js +3 -3
  88. package/.next/server/pages/services.js.nft.json +1 -1
  89. package/.next/server/pages/services.json +1 -0
  90. package/.next/server/pages/users/[id].js +20 -6
  91. package/.next/server/pages/users/[id].js.nft.json +1 -1
  92. package/.next/server/pages/users/dboyne.html +14 -0
  93. package/.next/server/pages/users/dboyne.json +1 -0
  94. package/.next/server/pages/users/mSmith.html +10 -0
  95. package/.next/server/pages/users/mSmith.json +1 -0
  96. package/.next/server/pages-manifest.json +0 -1
  97. package/.next/static/-JRVlr_KvNJLo7NqAt8Bj/_buildManifest.js +1 -0
  98. package/.next/static/{DTt5tyVKdntQwbNsYqVj8 → -JRVlr_KvNJLo7NqAt8Bj}/_middlewareManifest.js +0 -0
  99. package/.next/static/-JRVlr_KvNJLo7NqAt8Bj/_ssgManifest.js +1 -0
  100. package/.next/static/chunks/28-812913d1c0167bab.js +1 -0
  101. package/.next/static/chunks/519-7c428c1e49c8e614.js +1 -0
  102. package/.next/static/chunks/873-8db237ddb872ef2b.js +1 -0
  103. package/.next/static/chunks/pages/_app-2b86b0fb5ed8c085.js +1 -0
  104. package/.next/static/chunks/pages/events/[name]/{logs-d159d7b82f44847f.js → logs-707da36de8222a98.js} +1 -1
  105. package/.next/static/chunks/pages/events/[name]/v/{[version]-963d3e8377b51e86.js → [version]-5652060e116d4a61.js} +1 -1
  106. package/.next/static/chunks/pages/events/{[name]-578828157369b5cd.js → [name]-146170e56a404524.js} +1 -1
  107. package/.next/static/chunks/pages/events-2bca09b458bde8ab.js +1 -0
  108. package/.next/static/chunks/pages/index-fe1a9e09c7f51e66.js +1 -0
  109. package/.next/static/chunks/pages/{overview-176af2f7c17b91c9.js → overview-6bd5a86d5a28a942.js} +1 -1
  110. package/.next/static/chunks/pages/{services-7557ffe917633232.js → services-1293e4d7df6174bf.js} +1 -1
  111. package/.next/static/chunks/pages/users/{[id]-c21144bb8aa7887b.js → [id]-5374b99d99fe576e.js} +1 -1
  112. package/.next/static/chunks/{webpack-895c2707d065aab1.js → webpack-4d9342d4391c2a09.js} +1 -1
  113. package/.next/static/css/0b54ec6503b91283.css +3 -0
  114. package/.next/trace +37 -37
  115. package/CHANGELOG.md +28 -0
  116. package/README.md +2 -1
  117. package/bin/eventcatalog.js +12 -0
  118. package/components/Grids/EventGrid.tsx +1 -1
  119. package/components/Header.tsx +4 -1
  120. package/components/Sidebars/EventSidebar.tsx +45 -43
  121. package/lib/events.ts +24 -0
  122. package/next.config.js +8 -0
  123. package/out/404.html +1 -0
  124. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/AddedItemToCart/logs.json +1 -0
  125. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/AddedItemToCart/v/0.0.1.json +1 -0
  126. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/AddedItemToCart/v/0.0.2.json +1 -0
  127. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/AddedItemToCart.json +1 -0
  128. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/OrderComplete/logs.json +1 -0
  129. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/OrderComplete.json +1 -0
  130. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/OrderConfirmed/logs.json +1 -0
  131. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/OrderConfirmed.json +1 -0
  132. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/OrderRequested/logs.json +1 -0
  133. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/OrderRequested.json +1 -0
  134. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/PaymentProcessed/logs.json +1 -0
  135. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/PaymentProcessed.json +1 -0
  136. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/RemovedItemFromCart/logs.json +1 -0
  137. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/RemovedItemFromCart.json +1 -0
  138. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/ShipmentDelivered/logs.json +1 -0
  139. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/ShipmentDelivered.json +1 -0
  140. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/ShipmentDispatched/logs.json +1 -0
  141. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/ShipmentDispatched.json +1 -0
  142. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/ShipmentPrepared/logs.json +1 -0
  143. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events/ShipmentPrepared.json +1 -0
  144. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/events.json +1 -0
  145. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/overview.json +1 -0
  146. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/services/Basket Service.json +1 -0
  147. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/services/Data Lake.json +1 -0
  148. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/services/Payment Service.json +1 -0
  149. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/services/Shipping Service.json +1 -0
  150. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/services.json +1 -0
  151. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/users/dboyne.json +1 -0
  152. package/out/_next/data/-JRVlr_KvNJLo7NqAt8Bj/users/mSmith.json +1 -0
  153. package/out/_next/static/-JRVlr_KvNJLo7NqAt8Bj/_buildManifest.js +1 -0
  154. package/out/_next/static/-JRVlr_KvNJLo7NqAt8Bj/_middlewareManifest.js +1 -0
  155. package/out/_next/static/-JRVlr_KvNJLo7NqAt8Bj/_ssgManifest.js +1 -0
  156. package/out/_next/static/chunks/020d8314.aea2d24215754e7b.js +1 -0
  157. package/out/_next/static/chunks/176cb4e4-8a0f6f010ef8accb.js +1 -0
  158. package/out/_next/static/chunks/274-11c4d093341d7201.js +1 -0
  159. package/out/_next/static/chunks/28-812913d1c0167bab.js +1 -0
  160. package/out/_next/static/chunks/336-8b7da71a40e0c439.js +1 -0
  161. package/out/_next/static/chunks/364-3cb3c8cf1d3c95de.js +1 -0
  162. package/out/_next/static/chunks/519-7c428c1e49c8e614.js +1 -0
  163. package/out/_next/static/chunks/638.d570519ae49c92c8.js +1 -0
  164. package/out/_next/static/chunks/873-8db237ddb872ef2b.js +1 -0
  165. package/out/_next/static/chunks/962-d5070461f6d4a478.js +1 -0
  166. package/out/_next/static/chunks/framework-576ec6a1c1386453.js +1 -0
  167. package/out/_next/static/chunks/main-0289ecbd51cd4cb4.js +1 -0
  168. package/out/_next/static/chunks/pages/_app-2b86b0fb5ed8c085.js +1 -0
  169. package/out/_next/static/chunks/pages/_error-5a714c45c50a8db4.js +1 -0
  170. package/out/_next/static/chunks/pages/events/[name]/logs-707da36de8222a98.js +1 -0
  171. package/out/_next/static/chunks/pages/events/[name]/v/[version]-5652060e116d4a61.js +1 -0
  172. package/out/_next/static/chunks/pages/events/[name]-146170e56a404524.js +1 -0
  173. package/out/_next/static/chunks/pages/events-2bca09b458bde8ab.js +1 -0
  174. package/out/_next/static/chunks/pages/index-fe1a9e09c7f51e66.js +1 -0
  175. package/out/_next/static/chunks/pages/overview-6bd5a86d5a28a942.js +1 -0
  176. package/out/_next/static/chunks/pages/services/[name]-78378d531eb27bc2.js +1 -0
  177. package/out/_next/static/chunks/pages/services-1293e4d7df6174bf.js +1 -0
  178. package/out/_next/static/chunks/pages/users/[id]-5374b99d99fe576e.js +1 -0
  179. package/out/_next/static/chunks/polyfills-5cd94c89d3acac5f.js +1 -0
  180. package/out/_next/static/chunks/webpack-4d9342d4391c2a09.js +1 -0
  181. package/out/_next/static/css/0b54ec6503b91283.css +3 -0
  182. package/out/_next/static/css/5eeed9cb243ce668.css +1 -0
  183. package/out/events/AddedItemToCart/logs.html +1 -0
  184. package/out/events/AddedItemToCart/v/0.0.1.html +48 -0
  185. package/out/events/AddedItemToCart/v/0.0.2.html +55 -0
  186. package/out/events/AddedItemToCart.html +73 -0
  187. package/out/events/OrderComplete/logs.html +1 -0
  188. package/out/events/OrderComplete.html +48 -0
  189. package/out/events/OrderConfirmed/logs.html +1 -0
  190. package/out/events/OrderConfirmed.html +48 -0
  191. package/out/events/OrderRequested/logs.html +1 -0
  192. package/out/events/OrderRequested.html +48 -0
  193. package/out/events/PaymentProcessed/logs.html +1 -0
  194. package/out/events/PaymentProcessed.html +52 -0
  195. package/out/events/RemovedItemFromCart/logs.html +1 -0
  196. package/out/events/RemovedItemFromCart.html +55 -0
  197. package/out/events/ShipmentDelivered/logs.html +1 -0
  198. package/out/events/ShipmentDelivered.html +53 -0
  199. package/out/events/ShipmentDispatched/logs.html +1 -0
  200. package/out/events/ShipmentDispatched.html +52 -0
  201. package/out/events/ShipmentPrepared/logs.html +1 -0
  202. package/out/events/ShipmentPrepared.html +52 -0
  203. package/out/events.html +10 -0
  204. package/out/favicon.ico +0 -0
  205. package/out/index.html +1 -0
  206. package/out/logo-random.svg +114 -0
  207. package/out/logo.svg +44 -0
  208. package/out/opengraph.png +0 -0
  209. package/out/overview.html +1 -0
  210. package/out/services/Basket Service.html +11 -0
  211. package/out/services/Data Lake.html +12 -0
  212. package/out/services/Payment Service.html +10 -0
  213. package/out/services/Shipping Service.html +14 -0
  214. package/out/services.html +5 -0
  215. package/out/users/dboyne.html +14 -0
  216. package/out/users/mSmith.html +10 -0
  217. package/package.json +4 -3
  218. package/pages/events/[name]/logs.tsx +12 -3
  219. package/pages/events/[name]/v/[version].tsx +14 -2
  220. package/pages/events/[name].tsx +2 -2
  221. package/pages/events.tsx +76 -19
  222. package/pages/index.tsx +4 -2
  223. package/pages/overview.tsx +1 -1
  224. package/pages/services/[name].tsx +1 -1
  225. package/pages/services.tsx +1 -1
  226. package/pages/users/[id].tsx +14 -3
  227. package/scripts/move-schemas-for-download.js +59 -0
  228. package/tailwind.config.js +4 -2
  229. package/.next/server/chunks/596.js +0 -98
  230. package/.next/server/pages/api/event/[name]/download.js +0 -64
  231. package/.next/server/pages/api/event/[name]/download.js.nft.json +0 -1
  232. package/.next/server/webpack-api-runtime.js +0 -160
  233. package/.next/static/DTt5tyVKdntQwbNsYqVj8/_buildManifest.js +0 -1
  234. package/.next/static/DTt5tyVKdntQwbNsYqVj8/_ssgManifest.js +0 -1
  235. package/.next/static/chunks/519-7f22292093abd7c3.js +0 -1
  236. package/.next/static/chunks/873-31046e43f178cc08.js +0 -1
  237. package/.next/static/chunks/954-4d4a09c3269dda3f.js +0 -1
  238. package/.next/static/chunks/pages/_app-1adc361d4508683f.js +0 -1
  239. package/.next/static/chunks/pages/events-1eb91650cc339723.js +0 -1
  240. package/.next/static/chunks/pages/index-3eeab7e4014a02ea.js +0 -1
  241. package/.next/static/css/fd7bcdba1dee3675.css +0 -3
  242. package/pages/api/event/[name]/download.js +0 -28
package/pages/events.tsx CHANGED
@@ -1,9 +1,10 @@
1
- import { Fragment, useState } from 'react';
1
+ import { Fragment, useState, useCallback, useEffect } from 'react';
2
2
  import Head from 'next/head';
3
3
  import type { Event, Service } from '@eventcatalog/types';
4
+ import debounce from 'lodash.debounce';
4
5
 
5
6
  import { Menu, Transition } from '@headlessui/react';
6
- import { ChevronDownIcon } from '@heroicons/react/solid';
7
+ import { ChevronDownIcon, SearchIcon } from '@heroicons/react/solid';
7
8
  import EventGrid from '@/components/Grids/EventGrid';
8
9
  import { getAllEvents, getUniqueServicesNamesFromEvents } from '@/lib/events';
9
10
 
@@ -18,7 +19,7 @@ const sortOptions = [
18
19
  ];
19
20
 
20
21
  export interface PageProps {
21
- events: [Event];
22
+ events: Event[];
22
23
  services: [Service];
23
24
  }
24
25
 
@@ -26,7 +27,7 @@ export default function Page({ events, services }: PageProps) {
26
27
  const filters = [
27
28
  {
28
29
  id: 'services',
29
- name: 'Filter by Services',
30
+ name: `Filter by Services (${services.length})`,
30
31
  options: services.map((service) => ({
31
32
  value: service,
32
33
  label: service,
@@ -37,6 +38,8 @@ export default function Page({ events, services }: PageProps) {
37
38
 
38
39
  const [selectedFilters, setSelectedFilters] = useState({ services: [] });
39
40
  const [showMermaidDiagrams, setShowMermaidDiagrams] = useState(false);
41
+ const [eventsToRender, setEventsToRender] = useState(events);
42
+ const [searchFilter, setSearchFilter] = useState('');
40
43
 
41
44
  const handleFilterSelection = (option, type, event) => {
42
45
  if (event.target.checked) {
@@ -48,19 +51,44 @@ export default function Page({ events, services }: PageProps) {
48
51
  }
49
52
  };
50
53
 
51
- let eventsToRender = events;
54
+ const getFilteredEvents = (): any => {
55
+ if (!selectedFilters.services && !searchFilter) return events;
52
56
 
53
- if (selectedFilters.services.length > 0) {
54
- // @ts-ignore
55
- eventsToRender = eventsToRender.filter((event) => {
56
- const { services: serviceFilters } = selectedFilters;
57
+ let filteredEvents = events;
57
58
 
58
- const hasConsumersFromFilters = event.consumers.some((consumerId) => serviceFilters.indexOf(consumerId) > -1);
59
- const hasProducersFromFilters = event.producers.some((producerId) => serviceFilters.indexOf(producerId) > -1);
59
+ if (selectedFilters.services.length > 0) {
60
+ // @ts-ignore
61
+ filteredEvents = filteredEvents.filter((event) => {
62
+ const { services: serviceFilters } = selectedFilters;
63
+
64
+ const hasConsumersFromFilters = event.consumers.some((consumerId) => serviceFilters.indexOf(consumerId) > -1);
65
+ const hasProducersFromFilters = event.producers.some((producerId) => serviceFilters.indexOf(producerId) > -1);
60
66
 
61
- return hasConsumersFromFilters || hasProducersFromFilters;
62
- });
63
- }
67
+ return hasConsumersFromFilters || hasProducersFromFilters;
68
+ });
69
+ }
70
+
71
+ if (searchFilter) {
72
+ filteredEvents = filteredEvents.filter((event) => event.name.toLowerCase().includes(searchFilter.toLowerCase()));
73
+ }
74
+
75
+ return filteredEvents;
76
+ };
77
+
78
+ useEffect(() => {
79
+ setEventsToRender(getFilteredEvents());
80
+ // eslint-disable-next-line react-hooks/exhaustive-deps
81
+ }, [selectedFilters, searchFilter]);
82
+
83
+ // eslint-disable-next-line react-hooks/exhaustive-deps
84
+ const debouncedFilter = useCallback(
85
+ debounce((e) => {
86
+ setSearchFilter(e.target.value);
87
+ }, 500),
88
+ [eventsToRender]
89
+ );
90
+
91
+ const filtersApplied = !!searchFilter || selectedFilters.services.length > 0;
64
92
 
65
93
  return (
66
94
  <>
@@ -121,11 +149,28 @@ export default function Page({ events, services }: PageProps) {
121
149
  <div className="grid grid-cols-4 gap-x-8 gap-y-10">
122
150
  {/* Filters */}
123
151
  <form className="hidden lg:block">
152
+ <div className="border-b border-gray-200 pb-6">
153
+ <label htmlFor="event" className="font-bold block text-sm font-medium text-gray-700">
154
+ Search Events
155
+ </label>
156
+ <div className="mt-1 relative rounded-md shadow-sm">
157
+ <div className="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
158
+ <SearchIcon className="h-5 w-5 text-gray-400" aria-hidden="true" />
159
+ </div>
160
+ <input
161
+ type="text"
162
+ name="event"
163
+ id="event"
164
+ onChange={debouncedFilter}
165
+ className="focus:ring-gray-500 focus:border-gray-500 block w-full pl-10 sm:text-sm border-gray-300 rounded-md"
166
+ />
167
+ </div>
168
+ </div>
124
169
  {filters.map((section: any) => (
125
- <div key={section.id} className="border-b border-gray-200 pb-6">
170
+ <div key={section.id} className="border-b border-gray-200 py-6">
126
171
  <h3 className="-my-3 flow-root">
127
172
  <div className="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500">
128
- <span className="font-medium text-gray-900">{section.name}</span>
173
+ <span className="font-bold font-medium text-gray-900">{section.name}</span>
129
174
  </div>
130
175
  </h3>
131
176
  <div className="pt-6">
@@ -154,7 +199,7 @@ export default function Page({ events, services }: PageProps) {
154
199
  <div className="border-b border-gray-200 py-6">
155
200
  <h3 className="-my-3 flow-root">
156
201
  <div className="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500">
157
- <span className="font-medium text-gray-900">Features</span>
202
+ <span className="font-bold font-medium text-gray-900">Features</span>
158
203
  </div>
159
204
  </h3>
160
205
  <div className="pt-6">
@@ -178,8 +223,20 @@ export default function Page({ events, services }: PageProps) {
178
223
 
179
224
  <div className="col-span-4 lg:col-span-3">
180
225
  <div>
181
- <h2 className="text-gray-500 text-xs font-medium uppercase tracking-wide">Events ({eventsToRender.length})</h2>
226
+ <h2 className="text-gray-500 text-xs font-medium uppercase tracking-wide">
227
+ {filtersApplied
228
+ ? `Filtered Events (${eventsToRender.length}/${events.length})`
229
+ : `All Events (${events.length})`}
230
+ </h2>
182
231
  <EventGrid events={eventsToRender} showMermaidDiagrams={showMermaidDiagrams} />
232
+ {eventsToRender.length === 0 && (
233
+ <div className="text-gray-400 flex h-96 justify-center items-center">
234
+ <div>
235
+ <SearchIcon className="w-6 h-6 inline-block mr-1" />
236
+ No events found.
237
+ </div>
238
+ </div>
239
+ )}
183
240
  </div>
184
241
  </div>
185
242
  </div>
@@ -189,7 +246,7 @@ export default function Page({ events, services }: PageProps) {
189
246
  );
190
247
  }
191
248
 
192
- export const getServerSideProps = () => {
249
+ export const getStaticProps = () => {
193
250
  const events = getAllEvents();
194
251
  const services = getUniqueServicesNamesFromEvents(events);
195
252
 
package/pages/index.tsx CHANGED
@@ -1,17 +1,19 @@
1
1
  /* This example requires Tailwind CSS v2.0+ */
2
2
 
3
3
  import Link from 'next/link';
4
+ import getConfig from 'next/config';
4
5
  import { useConfig } from '@/hooks/EventCatalog';
5
6
 
6
7
  export default function Example() {
7
8
  const { title, tagline, logo } = useConfig();
8
9
 
9
- const logoToLoad = logo || { alt: 'EventCatalog Logo', src: '/logo.svg' };
10
+ const { publicRuntimeConfig: { basePath = '' } = {} } = getConfig();
11
+ const logoToLoad = logo || { alt: 'EventCatalog Logo', src: `logo.svg` };
10
12
 
11
13
  return (
12
14
  <main className="sm:bg-top md:min-h-screen bg-gradient-to-t from-blue-700 to-gray-800">
13
15
  <div className="max-w-7xl mx-auto px-4 py-16 text-center sm:px-6 sm:py-24 lg:px-8 lg:py-48">
14
- <img src={logoToLoad.src} alt={logoToLoad.alt} style={{ height: '85px' }} className="mx-auto" />
16
+ <img src={`${basePath}/${logoToLoad.src}`} alt={logoToLoad.alt} style={{ height: '85px' }} className="mx-auto" />
15
17
  <h1 className="mt-2 text-4xl font-extrabold text-white tracking-tight sm:text-5xl">{title}</h1>
16
18
  {tagline && <p className="mt-2 text-lg font-medium text-white">{tagline}</p>}
17
19
  <div className="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8">
@@ -66,7 +66,7 @@ const graph = ({ events, services }) => {
66
66
 
67
67
  export default graph;
68
68
 
69
- export const getServerSideProps = () => {
69
+ export const getStaticProps = () => {
70
70
  const events = getAllEvents();
71
71
  const services = getUniqueServicesNamesFromEvents(events);
72
72
 
@@ -101,6 +101,6 @@ export async function getStaticPaths() {
101
101
  const paths = services.map((service) => ({ params: { name: service.name } }));
102
102
  return {
103
103
  paths,
104
- fallback: 'blocking',
104
+ fallback: false,
105
105
  };
106
106
  }
@@ -121,7 +121,7 @@ export default function Page({ services }: PageProps) {
121
121
  );
122
122
  }
123
123
 
124
- export async function getServerSideProps() {
124
+ export async function getStaticProps() {
125
125
  const services = getAllServices();
126
126
 
127
127
  return {
@@ -1,7 +1,7 @@
1
1
  import { Event, Service } from '@eventcatalog/types';
2
2
  import EventGrid from '@/components/Grids/EventGrid';
3
3
  import ServiceGrid from '@/components/Grids/ServiceGrid';
4
- import { getAllEventsByOwnerId } from '@/lib/events';
4
+ import { getAllEventsByOwnerId, getAllOwners } from '@/lib/events';
5
5
  import { getAllServicesByOwnerId } from '@/lib/services';
6
6
 
7
7
  import { useUser } from '@/hooks/EventCatalog';
@@ -59,8 +59,8 @@ export default function UserPage({ events, services, userId }: UserPageProps) {
59
59
  );
60
60
  }
61
61
 
62
- export const getServerSideProps = async (req) => {
63
- const { id: userId } = req.query;
62
+ export const getStaticProps = async ({ params }) => {
63
+ const { id: userId } = params;
64
64
  const userEvents = await getAllEventsByOwnerId(userId);
65
65
  const services = await getAllServicesByOwnerId(userId);
66
66
 
@@ -72,3 +72,14 @@ export const getServerSideProps = async (req) => {
72
72
  },
73
73
  };
74
74
  };
75
+
76
+ export async function getStaticPaths() {
77
+ const owners = getAllOwners();
78
+
79
+ const paths = owners.map((owner) => ({ params: { id: owner } }));
80
+
81
+ return {
82
+ paths,
83
+ fallback: false,
84
+ };
85
+ }
@@ -0,0 +1,59 @@
1
+ const path = require('path');
2
+ const fs = require('fs');
3
+
4
+ const getAllEventsAndSchemaPaths = (directory) => {
5
+ const folders = fs.readdirSync(directory);
6
+ return folders.map((folder) => {
7
+ const allFilesInEventFolder = fs.readdirSync(path.join(directory, folder));
8
+ const schemaFileName = allFilesInEventFolder.find((fileName) => fileName.includes('schema'));
9
+ const eventHasVersions = !!allFilesInEventFolder.find((fileName) => fileName.includes('versioned'));
10
+ let versions = [];
11
+
12
+ if (eventHasVersions) {
13
+ versions = getAllEventsAndSchemaPaths(path.join(directory, folder, 'versioned'));
14
+ }
15
+
16
+ return {
17
+ name: folder,
18
+ schemaFileName,
19
+ schemaContent: schemaFileName ? fs.readFileSync(path.join(directory, folder, schemaFileName), 'utf-8') : null,
20
+ versions,
21
+ };
22
+ });
23
+ };
24
+
25
+ const main = async () => {
26
+ const publicDir = path.join(__dirname, '../public');
27
+ const publicSchemaDir = path.join(publicDir, 'schemas');
28
+
29
+ if (fs.existsSync(publicSchemaDir)) {
30
+ fs.rmSync(publicSchemaDir, { recursive: true, force: true });
31
+ }
32
+ fs.mkdirSync(publicSchemaDir);
33
+
34
+ const eventsWithSchemaPaths = getAllEventsAndSchemaPaths(path.join(process.env.PROJECT_DIR, 'events'));
35
+ const eventsWithSchemas = eventsWithSchemaPaths.filter((event) => !!event.schemaContent);
36
+
37
+ eventsWithSchemas.forEach((event) => {
38
+ const eventDir = path.join(publicSchemaDir, event.name);
39
+
40
+ if (!fs.existsSync(eventDir)) {
41
+ fs.mkdirSync(eventDir);
42
+ }
43
+
44
+ const eventVersions = event.versions;
45
+ const versionsWithSchemas = eventVersions.filter((version) => !!version.schemaContent);
46
+
47
+ versionsWithSchemas.forEach((version) => {
48
+ const versionDir = path.join(eventDir, version.name);
49
+ if (!fs.existsSync(versionDir)) {
50
+ fs.mkdirSync(versionDir);
51
+ }
52
+ fs.writeFileSync(path.join(versionDir, version.schemaFileName), version.schemaContent);
53
+ });
54
+
55
+ fs.writeFileSync(path.join(eventDir, event.schemaFileName), event.schemaContent);
56
+ });
57
+ };
58
+
59
+ main();
@@ -1,5 +1,4 @@
1
1
  module.exports = {
2
- purge: [],
3
2
  darkMode: false,
4
3
  theme: {
5
4
  extend: {},
@@ -7,6 +6,9 @@ module.exports = {
7
6
  variants: {
8
7
  extend: {},
9
8
  },
10
- purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'],
9
+ purge: {
10
+ content: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'],
11
+ safelist: ['bg-red-50', 'bg-yellow-50', 'bg-indigo-50', 'text-red-400', 'text-yellow-400', 'text-indigo-400'],
12
+ },
11
13
  plugins: [require('@tailwindcss/typography'), require('@tailwindcss/forms'), require('@tailwindcss/line-clamp')],
12
14
  };
@@ -1,98 +0,0 @@
1
- "use strict";
2
- exports.id = 596;
3
- exports.ids = [596];
4
- exports.modules = {
5
-
6
- /***/ 9596:
7
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
8
-
9
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__) => {
10
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
- /* harmony export */ "UV": () => (/* binding */ getAllServices),
12
- /* harmony export */ "vY": () => (/* binding */ getAllServicesByOwnerId),
13
- /* harmony export */ "in": () => (/* binding */ getServiceByName)
14
- /* harmony export */ });
15
- /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7147);
16
- /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
17
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1017);
18
- /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
19
- /* harmony import */ var next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7112);
20
- /* harmony import */ var next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2__);
21
- /* harmony import */ var _lib_file_reader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2432);
22
- /* harmony import */ var _lib_events__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9959);
23
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_lib_events__WEBPACK_IMPORTED_MODULE_4__]);
24
- _lib_events__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? await __webpack_async_dependencies__ : __webpack_async_dependencies__)[0];
25
-
26
-
27
-
28
-
29
-
30
- const buildService = (eventFrontMatter)=>{
31
- const { name , summary , owners =[] , repository ={
32
- } , tags =[] , externalLinks =[] } = eventFrontMatter;
33
- return {
34
- name,
35
- summary,
36
- owners,
37
- repository,
38
- tags,
39
- externalLinks
40
- };
41
- };
42
- const getAllServices = ()=>{
43
- const servicesDir = path__WEBPACK_IMPORTED_MODULE_1___default().join(process.env.PROJECT_DIR, 'services');
44
- const folders = fs__WEBPACK_IMPORTED_MODULE_0___default().readdirSync(servicesDir);
45
- const services = folders.map((folder)=>(0,_lib_file_reader__WEBPACK_IMPORTED_MODULE_3__/* .readMarkdownFile */ .ws)(path__WEBPACK_IMPORTED_MODULE_1___default().join(servicesDir, folder, 'index.md'))
46
- );
47
- const events = (0,_lib_events__WEBPACK_IMPORTED_MODULE_4__/* .getAllEvents */ .IP)();
48
- const parsedServices = services.map((frontMatter)=>buildService(frontMatter.data)
49
- );
50
- // @ts-ignore
51
- return parsedServices.map((service)=>({
52
- ...service,
53
- ...(0,_lib_events__WEBPACK_IMPORTED_MODULE_4__/* .getAllEventsThatHaveRelationshipWithService */ .X4)(service, events)
54
- })
55
- );
56
- };
57
- const getAllServicesByOwnerId = async (ownerId)=>{
58
- const services = await getAllServices();
59
- const servicesOwnedByUser = services.filter((service)=>service.owners.some((id)=>id === ownerId
60
- )
61
- );
62
- return servicesOwnedByUser.map((service)=>({
63
- ...service
64
- })
65
- );
66
- };
67
- const getServiceByName = async (serviceName)=>{
68
- try {
69
- const servicesDir = path__WEBPACK_IMPORTED_MODULE_1___default().join(process.env.PROJECT_DIR, 'services');
70
- const serviceDirectory = path__WEBPACK_IMPORTED_MODULE_1___default().join(servicesDir, serviceName);
71
- const { data , content } = (0,_lib_file_reader__WEBPACK_IMPORTED_MODULE_3__/* .readMarkdownFile */ .ws)(path__WEBPACK_IMPORTED_MODULE_1___default().join(serviceDirectory, `index.md`));
72
- const service = buildService(data);
73
- const events = (0,_lib_events__WEBPACK_IMPORTED_MODULE_4__/* .getAllEvents */ .IP)();
74
- const mdxSource = await (0,next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2__.serialize)(content);
75
- return {
76
- // @ts-ignore
77
- service: {
78
- ...service,
79
- ...(0,_lib_events__WEBPACK_IMPORTED_MODULE_4__/* .getAllEventsThatHaveRelationshipWithService */ .X4)(service, events)
80
- },
81
- markdown: {
82
- content,
83
- lastModifiedDate: (0,_lib_file_reader__WEBPACK_IMPORTED_MODULE_3__/* .getLastModifiedDateOfFile */ .cn)(path__WEBPACK_IMPORTED_MODULE_1___default().join(serviceDirectory, `index.md`)),
84
- source: mdxSource
85
- }
86
- };
87
- } catch (error) {
88
- console.log('Failed to get service by name', serviceName);
89
- return Promise.reject();
90
- }
91
- };
92
-
93
- });
94
-
95
- /***/ })
96
-
97
- };
98
- ;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- (() => {
3
- var exports = {};
4
- exports.id = 148;
5
- exports.ids = [148];
6
- exports.modules = {
7
-
8
- /***/ 2374:
9
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
-
11
- // ESM COMPAT FLAG
12
- __webpack_require__.r(__webpack_exports__);
13
-
14
- // EXPORTS
15
- __webpack_require__.d(__webpack_exports__, {
16
- "default": () => (/* binding */ download)
17
- });
18
-
19
- ;// CONCATENATED MODULE: external "fs"
20
- const external_fs_namespaceObject = require("fs");
21
- var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_namespaceObject);
22
- ;// CONCATENATED MODULE: external "path"
23
- const external_path_namespaceObject = require("path");
24
- var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_namespaceObject);
25
- ;// CONCATENATED MODULE: ./pages/api/event/[name]/download.js
26
-
27
-
28
- // eslint-disable-next-line func-names
29
- /* harmony default export */ function download(req, res) {
30
- const { name: eventName } = req.query;
31
- const eventDir = external_path_default().join(process.env.PROJECT_DIR, 'events', eventName);
32
- try {
33
- const filesInEventDir = external_fs_default().readdirSync(eventDir);
34
- const schemaFileName = filesInEventDir.find((fileName)=>fileName.indexOf('schema.') > -1
35
- );
36
- if (schemaFileName) {
37
- const extension = schemaFileName.split('.').pop();
38
- const schemaFile = external_fs_default().readFileSync(external_path_default().join(eventDir, schemaFileName));
39
- res.send({
40
- schema: schemaFile.toString(),
41
- fileName: `${eventName}.${extension}`
42
- });
43
- }
44
- res.status(404).end();
45
- } catch (error) {
46
- console.log(error);
47
- res.status(404).end();
48
- }
49
- };
50
-
51
-
52
- /***/ })
53
-
54
- };
55
- ;
56
-
57
- // load runtime
58
- var __webpack_require__ = require("../../../../webpack-api-runtime.js");
59
- __webpack_require__.C(exports);
60
- var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
61
- var __webpack_exports__ = (__webpack_exec__(2374));
62
- module.exports = __webpack_exports__;
63
-
64
- })();
@@ -1 +0,0 @@
1
- {"version":1,"files":["../../../../webpack-api-runtime.js","../../../../../../package.json","../../../../../../package.json"]}
@@ -1,160 +0,0 @@
1
- /******/ (() => { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/ var __webpack_modules__ = ({});
4
- /************************************************************************/
5
- /******/ // The module cache
6
- /******/ var __webpack_module_cache__ = {};
7
- /******/
8
- /******/ // The require function
9
- /******/ function __webpack_require__(moduleId) {
10
- /******/ // Check if module is in cache
11
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
12
- /******/ if (cachedModule !== undefined) {
13
- /******/ return cachedModule.exports;
14
- /******/ }
15
- /******/ // Create a new module (and put it into the cache)
16
- /******/ var module = __webpack_module_cache__[moduleId] = {
17
- /******/ // no module.id needed
18
- /******/ // no module.loaded needed
19
- /******/ exports: {}
20
- /******/ };
21
- /******/
22
- /******/ // Execute the module function
23
- /******/ var threw = true;
24
- /******/ try {
25
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
26
- /******/ threw = false;
27
- /******/ } finally {
28
- /******/ if(threw) delete __webpack_module_cache__[moduleId];
29
- /******/ }
30
- /******/
31
- /******/ // Return the exports of the module
32
- /******/ return module.exports;
33
- /******/ }
34
- /******/
35
- /******/ // expose the modules object (__webpack_modules__)
36
- /******/ __webpack_require__.m = __webpack_modules__;
37
- /******/
38
- /************************************************************************/
39
- /******/ /* webpack/runtime/compat get default export */
40
- /******/ (() => {
41
- /******/ // getDefaultExport function for compatibility with non-harmony modules
42
- /******/ __webpack_require__.n = (module) => {
43
- /******/ var getter = module && module.__esModule ?
44
- /******/ () => (module['default']) :
45
- /******/ () => (module);
46
- /******/ __webpack_require__.d(getter, { a: getter });
47
- /******/ return getter;
48
- /******/ };
49
- /******/ })();
50
- /******/
51
- /******/ /* webpack/runtime/define property getters */
52
- /******/ (() => {
53
- /******/ // define getter functions for harmony exports
54
- /******/ __webpack_require__.d = (exports, definition) => {
55
- /******/ for(var key in definition) {
56
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
57
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
58
- /******/ }
59
- /******/ }
60
- /******/ };
61
- /******/ })();
62
- /******/
63
- /******/ /* webpack/runtime/ensure chunk */
64
- /******/ (() => {
65
- /******/ __webpack_require__.f = {};
66
- /******/ // This file contains only the entry chunk.
67
- /******/ // The chunk loading function for additional chunks
68
- /******/ __webpack_require__.e = (chunkId) => {
69
- /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
70
- /******/ __webpack_require__.f[key](chunkId, promises);
71
- /******/ return promises;
72
- /******/ }, []));
73
- /******/ };
74
- /******/ })();
75
- /******/
76
- /******/ /* webpack/runtime/get javascript chunk filename */
77
- /******/ (() => {
78
- /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
79
- /******/ __webpack_require__.u = (chunkId) => {
80
- /******/ // return url for filenames based on template
81
- /******/ return undefined;
82
- /******/ };
83
- /******/ })();
84
- /******/
85
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
86
- /******/ (() => {
87
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
88
- /******/ })();
89
- /******/
90
- /******/ /* webpack/runtime/make namespace object */
91
- /******/ (() => {
92
- /******/ // define __esModule on exports
93
- /******/ __webpack_require__.r = (exports) => {
94
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
95
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
96
- /******/ }
97
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
98
- /******/ };
99
- /******/ })();
100
- /******/
101
- /******/ /* webpack/runtime/startup entrypoint */
102
- /******/ (() => {
103
- /******/ __webpack_require__.X = (result, chunkIds, fn) => {
104
- /******/ // arguments: chunkIds, moduleId are deprecated
105
- /******/ var moduleId = chunkIds;
106
- /******/ if(!fn) chunkIds = result, fn = () => (__webpack_require__(__webpack_require__.s = moduleId));
107
- /******/ chunkIds.map(__webpack_require__.e, __webpack_require__)
108
- /******/ var r = fn();
109
- /******/ return r === undefined ? result : r;
110
- /******/ }
111
- /******/ })();
112
- /******/
113
- /******/ /* webpack/runtime/require chunk loading */
114
- /******/ (() => {
115
- /******/ // no baseURI
116
- /******/
117
- /******/ // object to store loaded chunks
118
- /******/ // "1" means "loaded", otherwise not loaded yet
119
- /******/ var installedChunks = {
120
- /******/ 165: 1
121
- /******/ };
122
- /******/
123
- /******/ // no on chunks loaded
124
- /******/
125
- /******/ var installChunk = (chunk) => {
126
- /******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;
127
- /******/ for(var moduleId in moreModules) {
128
- /******/ if(__webpack_require__.o(moreModules, moduleId)) {
129
- /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
130
- /******/ }
131
- /******/ }
132
- /******/ if(runtime) runtime(__webpack_require__);
133
- /******/ for(var i = 0; i < chunkIds.length; i++)
134
- /******/ installedChunks[chunkIds[i]] = 1;
135
- /******/
136
- /******/ };
137
- /******/
138
- /******/ // require() chunk loading for javascript
139
- /******/ __webpack_require__.f.require = (chunkId, promises) => {
140
- /******/ // "1" is the signal for "already loaded"
141
- /******/ if(!installedChunks[chunkId]) {
142
- /******/ if(148 == chunkId) {
143
- /******/ installChunk(require("./chunks/" + __webpack_require__.u(chunkId)));
144
- /******/ } else installedChunks[chunkId] = 1;
145
- /******/ }
146
- /******/ };
147
- /******/
148
- /******/ module.exports = __webpack_require__;
149
- /******/ __webpack_require__.C = installChunk;
150
- /******/
151
- /******/ // no HMR
152
- /******/
153
- /******/ // no HMR manifest
154
- /******/ })();
155
- /******/
156
- /************************************************************************/
157
- /******/
158
- /******/
159
- /******/ })()
160
- ;
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(s,e,c,a,t,n,i){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/pages/index-3eeab7e4014a02ea.js"],"/_error":["static/chunks/pages/_error-5a714c45c50a8db4.js"],"/events":[s,e,c,t,"static/chunks/pages/events-1eb91650cc339723.js"],"/events/[name]":[s,e,c,n,a,i,"static/chunks/pages/events/[name]-578828157369b5cd.js"],"/events/[name]/logs":[e,"static/chunks/364-3cb3c8cf1d3c95de.js","static/css/5eeed9cb243ce668.css","static/chunks/pages/events/[name]/logs-d159d7b82f44847f.js"],"/events/[name]/v/[version]":[s,e,c,n,a,i,"static/chunks/pages/events/[name]/v/[version]-963d3e8377b51e86.js"],"/overview":["static/chunks/pages/overview-176af2f7c17b91c9.js"],"/services":[s,e,c,t,"static/chunks/pages/services-7557ffe917633232.js"],"/services/[name]":[s,e,c,a,"static/chunks/pages/services/[name]-78378d531eb27bc2.js"],"/users/[id]":[s,c,"static/chunks/pages/users/[id]-c21144bb8aa7887b.js"],sortedPages:["/","/_app","/_error","/events","/events/[name]","/events/[name]/logs","/events/[name]/v/[version]","/overview","/services","/services/[name]","/users/[id]"]}}("static/chunks/176cb4e4-8a0f6f010ef8accb.js","static/chunks/519-7f22292093abd7c3.js","static/chunks/962-d5070461f6d4a478.js","static/chunks/336-8b7da71a40e0c439.js","static/chunks/274-11c4d093341d7201.js","static/chunks/954-4d4a09c3269dda3f.js","static/chunks/873-31046e43f178cc08.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- self.__SSG_MANIFEST=new Set(["\u002Fevents\u002F[name]","\u002Fservices\u002F[name]"]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()