@eventcatalog/core 2.2.6 → 2.2.7

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.
@@ -11,7 +11,7 @@ interface Props {
11
11
  const { domain } = Astro.props;
12
12
 
13
13
  // @ts-ignore
14
- const services = domain.data.services as CollectionEntry<'services'>[] || [];
14
+ const services = (domain.data.services as CollectionEntry<'services'>[]) || [];
15
15
 
16
16
  const ownersRaw = domain.data?.owners || [];
17
17
  const owners = await Promise.all(ownersRaw.map((o) => getEntry(o)));
@@ -30,17 +30,35 @@ const ownersList = owners.map((o) => ({
30
30
  avatarUrl: o.collection === 'users' ? o.data.avatarUrl : '',
31
31
  href: buildUrl(`/docs/${o.collection}/${o.data.id}`),
32
32
  }));
33
-
34
33
  ---
35
34
 
36
35
  <aside class="sticky top-28 left-0 space-y-8 h-full overflow-y-auto">
37
36
  <div>
38
- <PillList title={`Services (${services.length})`} pills={serviceList} emptyMessage={`This domain does not contain any services.`} color="pink" client:load />
39
- <OwnersList title={`Service owners (${ownersList.length})`} owners={ownersList} emptyMessage={`This domain does not have any documented owners.`} client:load />
37
+ <PillList
38
+ title={`Services (${services.length})`}
39
+ pills={serviceList}
40
+ emptyMessage={`This domain does not contain any services.`}
41
+ color="pink"
42
+ client:load
43
+ />
44
+ <OwnersList
45
+ title={`Service owners (${ownersList.length})`}
46
+ owners={ownersList}
47
+ emptyMessage={`This domain does not have any documented owners.`}
48
+ client:load
49
+ />
40
50
  {domain.data.versions && <VersionList versions={domain.data.versions} collectionItem={domain} />}
41
51
  <div class="space-y-2">
42
- <a href={buildUrl(`/visualiser/${domain.collection}/${domain.data.id}/${domain.data.version}`)} class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500">View in Visualiser</a>
43
- <a href={buildUrl(`/docs/${domain.collection}/${domain.data.id}/${domain.data.version}/changelog`)} class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500">Changelog</a>
52
+ <a
53
+ href={buildUrl(`/visualiser/${domain.collection}/${domain.data.id}/${domain.data.version}`)}
54
+ class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500"
55
+ >View in Visualiser</a
56
+ >
57
+ <a
58
+ href={buildUrl(`/docs/${domain.collection}/${domain.data.id}/${domain.data.version}/changelog`)}
59
+ class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500"
60
+ >Changelog</a
61
+ >
44
62
  </div>
45
63
  </div>
46
64
  </aside>
@@ -43,15 +43,31 @@ const type = message.collection.slice(0, -1);
43
43
  // @ts-ignore
44
44
  const publicPath = message?.catalog?.publicPath;
45
45
  const schemaFilePath = message?.data?.schemaPath;
46
- const schemaURL = path.join(publicPath, schemaFilePath || '')
47
-
46
+ const schemaURL = path.join(publicPath, schemaFilePath || '');
48
47
  ---
49
48
 
50
- <aside class="sticky top-28 left-0 space-y-8 h-full overflow-y-auto pb-20 ">
49
+ <aside class="sticky top-28 left-0 space-y-8 h-full overflow-y-auto pb-20">
51
50
  <div class="">
52
- <PillList color="pink" title={`${type} Producers (${producerList.length})`} pills={producerList} emptyMessage={`This ${type} does not get produced by any services.`} client:load />
53
- <PillList color="pink" title={`${type} Consumers (${consumerList.length})`} pills={consumerList} emptyMessage={`This ${type} does not get consumed by any services.`} client:load />
54
- <OwnersList title={`${type} owners (${ownersList.length})`} owners={ownersList} emptyMessage={`This ${type} does not have any documented owners.`} client:load />
51
+ <PillList
52
+ color="pink"
53
+ title={`${type} Producers (${producerList.length})`}
54
+ pills={producerList}
55
+ emptyMessage={`This ${type} does not get produced by any services.`}
56
+ client:load
57
+ />
58
+ <PillList
59
+ color="pink"
60
+ title={`${type} Consumers (${consumerList.length})`}
61
+ pills={consumerList}
62
+ emptyMessage={`This ${type} does not get consumed by any services.`}
63
+ client:load
64
+ />
65
+ <OwnersList
66
+ title={`${type} owners (${ownersList.length})`}
67
+ owners={ownersList}
68
+ emptyMessage={`This ${type} does not have any documented owners.`}
69
+ client:load
70
+ />
55
71
 
56
72
  {message.data.versions && <VersionList versions={message.data.versions} collectionItem={message} />}
57
73
 
@@ -64,8 +80,20 @@ const schemaURL = path.join(publicPath, schemaFilePath || '')
64
80
  class="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-200 bg-gray-800 hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-900"
65
81
  >
66
82
  <>
67
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" class="-ml-1 mr-2 h-5 w-5 text-gray-200">
68
- <path stroke-linecap="round" stroke-linejoin="round" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" />
83
+ <svg
84
+ xmlns="http://www.w3.org/2000/svg"
85
+ fill="none"
86
+ viewBox="0 0 24 24"
87
+ stroke-width="2"
88
+ stroke="currentColor"
89
+ aria-hidden="true"
90
+ class="-ml-1 mr-2 h-5 w-5 text-gray-200"
91
+ >
92
+ <path
93
+ stroke-linecap="round"
94
+ stroke-linejoin="round"
95
+ d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
96
+ />
69
97
  </svg>
70
98
  <span>Download Schema</span>
71
99
  </>
@@ -78,8 +106,11 @@ const schemaURL = path.join(publicPath, schemaFilePath || '')
78
106
  >View in Visualiser</a
79
107
  >
80
108
 
81
- <a href={buildUrl(`/docs/${message.collection}/${message.data.id}/${message.data.version}/changelog`)} class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500">Changelog</a>
82
-
109
+ <a
110
+ href={buildUrl(`/docs/${message.collection}/${message.data.id}/${message.data.version}/changelog`)}
111
+ class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500"
112
+ >Changelog</a
113
+ >
83
114
  </div>
84
115
  </div>
85
116
  </aside>
@@ -4,7 +4,7 @@ import PillList from '@components/Lists/PillList';
4
4
  import VersionList from '@components/Lists/VersionList.astro';
5
5
  import { buildUrl } from '@utils/url-builder';
6
6
  import { getEntry, type CollectionEntry } from 'astro:content';
7
- import { join } from 'node:path'
7
+ import { join } from 'node:path';
8
8
  interface Props {
9
9
  service: CollectionEntry<'services'>;
10
10
  }
@@ -12,9 +12,9 @@ interface Props {
12
12
  const { service } = Astro.props;
13
13
 
14
14
  // @ts-ignore
15
- const sends = service.data.sends as CollectionEntry<'events'>[] || [];
15
+ const sends = (service.data.sends as CollectionEntry<'events'>[]) || [];
16
16
  // @ts-ignore
17
- const receives = service.data.receives as CollectionEntry<'events'>[] || [];
17
+ const receives = (service.data.receives as CollectionEntry<'events'>[]) || [];
18
18
 
19
19
  const ownersRaw = service.data?.owners || [];
20
20
  const owners = await Promise.all(ownersRaw.map((o) => getEntry(o)));
@@ -45,14 +45,31 @@ const ownersList = owners.map((o) => ({
45
45
  // @ts-ignore
46
46
  const publicPath = service?.catalog?.publicPath;
47
47
  const schemaFilePath = service?.data?.schemaPath;
48
- const schemaURL = join(publicPath, schemaFilePath || '')
48
+ const schemaURL = join(publicPath, schemaFilePath || '');
49
49
  ---
50
50
 
51
51
  <aside class="sticky top-28 left-0 space-y-8 h-full overflow-y-auto">
52
52
  <div id="sidebar-cta-portal">
53
- <PillList title={`Receives Messages (${receivesList.length})`} pills={receivesList} emptyMessage={`This service does not receive any messages.`} color="orange" client:load />
54
- <PillList title={`Sends Messages (${sendsList.length})`} pills={sendsList} emptyMessage={`This service does not send any messages.`} color="orange" client:load />
55
- <OwnersList title={`Service owners (${ownersList.length})`} owners={ownersList} emptyMessage={`This service does not have any documented owners.`} client:load />
53
+ <PillList
54
+ title={`Receives Messages (${receivesList.length})`}
55
+ pills={receivesList}
56
+ emptyMessage={`This service does not receive any messages.`}
57
+ color="orange"
58
+ client:load
59
+ />
60
+ <PillList
61
+ title={`Sends Messages (${sendsList.length})`}
62
+ pills={sendsList}
63
+ emptyMessage={`This service does not send any messages.`}
64
+ color="orange"
65
+ client:load
66
+ />
67
+ <OwnersList
68
+ title={`Service owners (${ownersList.length})`}
69
+ owners={ownersList}
70
+ emptyMessage={`This service does not have any documented owners.`}
71
+ client:load
72
+ />
56
73
 
57
74
  {service.data.versions && <VersionList versions={service.data.versions} collectionItem={service} />}
58
75
 
@@ -65,17 +82,42 @@ const schemaURL = join(publicPath, schemaFilePath || '')
65
82
  class="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-200 bg-gray-800 hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-900"
66
83
  >
67
84
  <>
68
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true" class="-ml-1 mr-2 h-5 w-5 text-gray-200">
69
- <path stroke-linecap="round" stroke-linejoin="round" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" />
85
+ <svg
86
+ xmlns="http://www.w3.org/2000/svg"
87
+ fill="none"
88
+ viewBox="0 0 24 24"
89
+ stroke-width="2"
90
+ stroke="currentColor"
91
+ aria-hidden="true"
92
+ class="-ml-1 mr-2 h-5 w-5 text-gray-200"
93
+ >
94
+ <path
95
+ stroke-linecap="round"
96
+ stroke-linejoin="round"
97
+ d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
98
+ />
70
99
  </svg>
71
100
  <span>Download Schema</span>
72
101
  </>
73
102
  </a>
74
103
  )
75
104
  }
76
- <a href={buildUrl(`/visualiser/${service.collection}/${service.data.id}/${service.data.version}`)} class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500">View in Visualiser</a>
77
- <a id="open-api-button" href={buildUrl(`/docs/${service.collection}/${service.data.id}/${service.data.version}/spec`)} class="hidden text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500">View API spec</a>
78
- <a href={buildUrl(`/docs/${service.collection}/${service.data.id}/${service.data.version}/changelog`)} class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500">Changelog</a>
105
+ <a
106
+ href={buildUrl(`/visualiser/${service.collection}/${service.data.id}/${service.data.version}`)}
107
+ class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500"
108
+ >View in Visualiser</a
109
+ >
110
+ <a
111
+ id="open-api-button"
112
+ href={buildUrl(`/docs/${service.collection}/${service.data.id}/${service.data.version}/spec`)}
113
+ class="hidden text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500"
114
+ >View API spec</a
115
+ >
116
+ <a
117
+ href={buildUrl(`/docs/${service.collection}/${service.data.id}/${service.data.version}/changelog`)}
118
+ class="block text-center rounded-md w-full bg-white px-3.5 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100/60 hover:text-purple-500"
119
+ >Changelog</a
120
+ >
79
121
  </div>
80
122
  </div>
81
123
  </aside>
@@ -89,5 +131,4 @@ const schemaURL = join(publicPath, schemaFilePath || '')
89
131
  openApiButton.style.display = 'block';
90
132
  }
91
133
  });
92
-
93
134
  </script>
@@ -33,44 +33,91 @@ import { buildUrl } from '@utils/url-builder';
33
33
  <div class="pl-0 sm:pl-56 xl:pl-80 w-full pt-8 pb-40">
34
34
  <div class="prose prose-sm">
35
35
  <div class="bg-white">
36
- <div class="mx-auto max-w-7xl ">
36
+ <div class="mx-auto max-w-7xl">
37
37
  <div class="mx-auto max-w-2xl lg:mx-0 lg:max-w-none">
38
38
  <h1 class="mt-2 text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl mb-0">EventCatalog</h1>
39
- <div class=" grid max-w-xl grid-cols-1 md:gap-8 text-base leading-7 text-gray-700 lg:max-w-none lg:grid-cols-1">
39
+ <div class="grid max-w-xl grid-cols-1 md:gap-8 text-base leading-7 text-gray-700 lg:max-w-none lg:grid-cols-1">
40
40
  <div>
41
41
  <p>
42
- Welcome to <a href="https://www.eventcatalog.dev/">EventCatalog</a>.
42
+ Welcome to <a href="https://www.eventcatalog.dev/">EventCatalog</a>.
43
43
  </p>
44
44
  <p>
45
- This open-source project is designed to help you and your teams
46
- bring discoverability and clarity to your event-driven architectures (EDA).
45
+ This open-source project is designed to help you and your teams bring discoverability and clarity to your
46
+ event-driven architectures (EDA).
47
47
  </p>
48
48
  <p>
49
- To get started you can read the following guides:
49
+ To get started you can read the following guides:
50
50
  <ul>
51
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/development/getting-started/introduction">Getting started with EventCatalog</a></li>
52
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/development/guides/domains/adding-domains">Creating domains</a></li>
53
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/development/guides/services/adding-services">Creating services</a></li>
54
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/development/guides/messages/commands/introduction">Creating commands</a></li>
55
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/development/guides/messages/events/introduction">Creating events</a></li>
56
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/owners">Assigning owners to resources</a></li>
57
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/development/components/using-components">Using components in your pages (Schemas, OpenAPI, etc)</a></li>
58
- <li><a class="text-purple-500" href="https://eventcatalog.dev/docs/development/deployment">Deploying and hosting your EventCatalog</a></li>
51
+ <li>
52
+ <a
53
+ class="text-purple-500"
54
+ href="https://eventcatalog.dev/docs/development/getting-started/introduction"
55
+ >Getting started with EventCatalog</a
56
+ >
57
+ </li>
58
+ <li>
59
+ <a
60
+ class="text-purple-500"
61
+ href="https://eventcatalog.dev/docs/development/guides/domains/adding-domains">Creating domains</a
62
+ >
63
+ </li>
64
+ <li>
65
+ <a
66
+ class="text-purple-500"
67
+ href="https://eventcatalog.dev/docs/development/guides/services/adding-services"
68
+ >Creating services</a
69
+ >
70
+ </li>
71
+ <li>
72
+ <a
73
+ class="text-purple-500"
74
+ href="https://eventcatalog.dev/docs/development/guides/messages/commands/introduction"
75
+ >Creating commands</a
76
+ >
77
+ </li>
78
+ <li>
79
+ <a
80
+ class="text-purple-500"
81
+ href="https://eventcatalog.dev/docs/development/guides/messages/events/introduction"
82
+ >Creating events</a
83
+ >
84
+ </li>
85
+ <li>
86
+ <a class="text-purple-500" href="https://eventcatalog.dev/docs/owners"
87
+ >Assigning owners to resources</a
88
+ >
89
+ </li>
90
+ <li>
91
+ <a
92
+ class="text-purple-500"
93
+ href="https://eventcatalog.dev/docs/development/components/using-components"
94
+ >Using components in your pages (Schemas, OpenAPI, etc)</a
95
+ >
96
+ </li>
97
+ <li>
98
+ <a class="text-purple-500" href="https://eventcatalog.dev/docs/development/deployment"
99
+ >Deploying and hosting your EventCatalog</a
100
+ >
101
+ </li>
59
102
  </ul>
60
103
  </p>
61
- <h3>
62
- Join the community
63
- </h3>
64
- <p>Got questions about EventCatalog? Feature requests or need support? <a class="text-purple-500" href="https://discord.gg/3rjaZMmrAm">Join our community on Discord.</a></p>
65
- <h3>
66
- Enterprise support
67
- </h3>
104
+ <h3>Join the community</h3>
68
105
  <p>
69
- Using EventCatalog and needs enterprise support? Work with us, find out what we offer on our <a class="text-purple-500" href="https://eventcatalog.dev/enterprise">enterprise page</a>.
106
+ Got questions about EventCatalog? Feature requests or need support? <a
107
+ class="text-purple-500"
108
+ href="https://discord.gg/3rjaZMmrAm">Join our community on Discord.</a
109
+ >
110
+ </p>
111
+ <h3>Enterprise support</h3>
112
+ <p>
113
+ Using EventCatalog and needs enterprise support? Work with us, find out what we offer on our <a
114
+ class="text-purple-500"
115
+ href="https://eventcatalog.dev/enterprise">enterprise page</a
116
+ >.
70
117
  </p>
71
118
  </div>
72
119
  </div>
73
-
120
+
74
121
  <Footer />
75
122
  </div>
76
123
  </div>
@@ -76,7 +76,9 @@ const tabs = [
76
76
  class={` text-black group inline-flex items-center py-4 px-1 text-sm font-light ${tab.isActive ? `border-${tab.activeColor}-500 border-b-[2px] text-${tab.activeColor}-500` : 'opacity-80'} ${!tab.enabled ? 'disabled' : ''}`}
77
77
  aria-current="page"
78
78
  >
79
- <tab.icon className={`w-6 h-6 -ml-0.5 mr-2 ${tab.isActive ? `text-${tab.activeColor}-500` : 'text-gray-500'}`} />
79
+ <tab.icon
80
+ className={`w-6 h-6 -ml-0.5 mr-2 ${tab.isActive ? `text-${tab.activeColor}-500` : 'text-gray-500'}`}
81
+ />
80
82
  <span>{tab.label}</span>
81
83
  </a>
82
84
  ))
@@ -16,18 +16,18 @@ import SEO from '../components/Seo.astro';
16
16
  <head>
17
17
  <SEO title={`EventCatalog | ${title}`} description={description} ogTitle={title} />
18
18
  </head>
19
- <body>
19
+ <body>
20
20
  <div class="px-10 max-w-[96em] mx-auto">
21
21
  <Header />
22
22
 
23
23
  <div class="md:pt-20">
24
- <nav class="hidden sm:flex grow w-56 xl:w-[19em] fixed overflow-y-auto h-full py-2 ">
25
- <div class="w-full ">
24
+ <nav class="hidden sm:flex grow w-56 xl:w-[19em] fixed overflow-y-auto h-full py-2">
25
+ <div class="w-full">
26
26
  <SideBar />
27
27
  </div>
28
28
  </nav>
29
29
 
30
- <div class="pl-0 sm:pl-64 lg:pl-72 xl:pl-80 w-full pt-0 pb-40 ">
30
+ <div class="pl-0 sm:pl-64 lg:pl-72 xl:pl-80 w-full pt-0 pb-40">
31
31
  <slot />
32
32
  </div>
33
33
  </div>
@@ -1,14 +1,27 @@
1
1
  ---
2
- import { buildUrl } from "@utils/url-builder"
3
-
2
+ import { buildUrl } from '@utils/url-builder';
4
3
  ---
5
4
 
6
5
  <footer class="py-4 space-y-8 border-t border-gray-300">
7
6
  <div class="flex justify-between items-center py-8 text-gray-500 text-sm font-light">
8
7
  <div class="flex space-x-5">
9
- <a href="https://github.com/event-catalog/eventcatalog" target="_blank"><svg class="w-5 h-5 bg-gray-400 hover:bg-purple-500 dark:hover:bg-gray-400" style={`mask-image: url("${buildUrl('/icons/github.svg', true)}"); mask-repeat: no-repeat; mask-position: center center;`}></svg></a>
10
- <a href="https://x.com/event_catalog" target="_blank"><span class="sr-only">x</span><svg class="w-5 h-5 bg-gray-400 hover:bg-purple-500 dark:hover:bg-gray-400" style={`mask-image: url("${buildUrl('/icons/x-twitter.svg', true)}"); mask-repeat: no-repeat; mask-position: center center;`}></svg></a>
8
+ <a href="https://github.com/event-catalog/eventcatalog" target="_blank"
9
+ ><svg
10
+ class="w-5 h-5 bg-gray-400 hover:bg-purple-500 dark:hover:bg-gray-400"
11
+ style={`mask-image: url("${buildUrl('/icons/github.svg', true)}"); mask-repeat: no-repeat; mask-position: center center;`}
12
+ ></svg></a
13
+ >
14
+ <a href="https://x.com/event_catalog" target="_blank"
15
+ ><span class="sr-only">x</span><svg
16
+ class="w-5 h-5 bg-gray-400 hover:bg-purple-500 dark:hover:bg-gray-400"
17
+ style={`mask-image: url("${buildUrl('/icons/x-twitter.svg', true)}"); mask-repeat: no-repeat; mask-position: center center;`}
18
+ ></svg></a
19
+ >
11
20
  </div>
12
- <a target="_blank" class="hover:text-purple-500 hover:underline text-gray-400 font-light not-prose" href="https://eventcatalog.dev">Powered by EventCatalog</a>
21
+ <a
22
+ target="_blank"
23
+ class="hover:text-purple-500 hover:underline text-gray-400 font-light not-prose"
24
+ href="https://eventcatalog.dev">Powered by EventCatalog</a
25
+ >
13
26
  </div>
14
- </footer>
27
+ </footer>
@@ -8,32 +8,37 @@ import { getServices } from '@utils/services/services';
8
8
  import { getDomains } from '@utils/domains/domains';
9
9
 
10
10
  export async function getStaticPaths() {
11
- const events = await getEvents();
12
- const commands = await getCommands();
13
- const services = await getServices();
14
- const domains = await getDomains();
11
+ const events = await getEvents();
12
+ const commands = await getCommands();
13
+ const services = await getServices();
14
+ const domains = await getDomains();
15
15
 
16
- const buildPage = (type: string, collection: CollectionEntry<CollectionTypes>[]) => {
17
- return {
18
- params: {
19
- type,
20
- },
21
- props: {
22
- type,
23
- data: collection,
24
- },
25
- };
16
+ const buildPage = (type: string, collection: CollectionEntry<CollectionTypes>[]) => {
17
+ return {
18
+ params: {
19
+ type,
20
+ },
21
+ props: {
22
+ type,
23
+ data: collection,
24
+ },
26
25
  };
26
+ };
27
27
 
28
- return [
29
- buildPage('events', events),
30
- buildPage('commands', commands),
31
- buildPage('services', services),
32
- buildPage('domains', domains),
33
- ];
28
+ return [
29
+ buildPage('events', events),
30
+ buildPage('commands', commands),
31
+ buildPage('services', services),
32
+ buildPage('domains', domains),
33
+ ];
34
34
  }
35
35
 
36
36
  const { type, data } = Astro.props;
37
37
  ---
38
38
 
39
- <DiscoverLayout title={`${type} (${data.length})`} subtitle={`Find, filter and search for any ${type} in your system.`} data={data} type={type} />
39
+ <DiscoverLayout
40
+ title={`${type} (${data.length})`}
41
+ subtitle={`Find, filter and search for any ${type} in your system.`}
42
+ data={data}
43
+ type={type}
44
+ />