@eventcatalog/core 2.48.0 → 2.48.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/catalog-to-astro-content-directory.cjs +0 -1
- package/dist/catalog-to-astro-content-directory.js +2 -2
- package/dist/{chunk-B53UJPGW.js → chunk-IZMM7ZGY.js} +1 -1
- package/dist/{chunk-WDTWWPPX.js → chunk-LDBRNJIL.js} +0 -1
- package/dist/{chunk-LK6C3F6Q.js → chunk-SKRYED6N.js} +1 -1
- package/dist/{chunk-I755G24S.js → chunk-TU4LMTL7.js} +1 -1
- package/dist/{chunk-RW4O4UUQ.js → chunk-UVANOIYF.js} +1 -1
- package/dist/{chunk-MDWGYIVH.js → chunk-XE6PFSH5.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -2
- package/dist/eventcatalog.config.d.cts +6 -0
- package/dist/eventcatalog.config.d.ts +6 -0
- package/dist/eventcatalog.js +6 -6
- package/dist/map-catalog-to-astro.cjs +0 -1
- package/dist/map-catalog-to-astro.js +1 -1
- package/dist/watcher.cjs +0 -1
- package/dist/watcher.js +2 -2
- package/eventcatalog/src/components/EnvironmentDropdown.tsx +135 -0
- package/eventcatalog/src/components/Header.astro +8 -1
- package/eventcatalog/src/components/SideNav/ListViewSideBar/components/MessageList.tsx +1 -0
- package/eventcatalog/src/components/SideNav/ListViewSideBar/components/SpecificationList.tsx +2 -0
- package/eventcatalog/src/components/SideNav/ListViewSideBar/index.tsx +20 -10
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +0 -2
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-UVANOIYF.js";
|
|
4
|
+
import "../chunk-SKRYED6N.js";
|
|
5
|
+
import "../chunk-TU4LMTL7.js";
|
|
6
6
|
import "../chunk-E7TXTI7G.js";
|
|
7
7
|
export {
|
|
8
8
|
log_build_default as default
|
|
@@ -191,7 +191,6 @@ function getRelativeTargetPath(filePath) {
|
|
|
191
191
|
filePathArr.shift();
|
|
192
192
|
}
|
|
193
193
|
if (filePathArr[0] == "snippets") {
|
|
194
|
-
console.log("SNIPPETS", filePathArr);
|
|
195
194
|
return import_node_path2.default.join("snippets", ...filePathArr.slice(1));
|
|
196
195
|
}
|
|
197
196
|
const relativePath = [];
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
package/dist/eventcatalog.cjs
CHANGED
|
@@ -157,7 +157,7 @@ var import_axios = __toESM(require("axios"), 1);
|
|
|
157
157
|
var import_os = __toESM(require("os"), 1);
|
|
158
158
|
|
|
159
159
|
// package.json
|
|
160
|
-
var version = "2.48.
|
|
160
|
+
var version = "2.48.2";
|
|
161
161
|
|
|
162
162
|
// src/constants.ts
|
|
163
163
|
var VERSION = version;
|
|
@@ -306,7 +306,6 @@ function getRelativeTargetPath(filePath) {
|
|
|
306
306
|
filePathArr.shift();
|
|
307
307
|
}
|
|
308
308
|
if (filePathArr[0] == "snippets") {
|
|
309
|
-
console.log("SNIPPETS", filePathArr);
|
|
310
309
|
return import_node_path3.default.join("snippets", ...filePathArr.slice(1));
|
|
311
310
|
}
|
|
312
311
|
const relativePath = [];
|
package/dist/eventcatalog.js
CHANGED
|
@@ -3,19 +3,19 @@ import {
|
|
|
3
3
|
} from "./chunk-BLDONK5J.js";
|
|
4
4
|
import {
|
|
5
5
|
watch
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-XE6PFSH5.js";
|
|
7
7
|
import {
|
|
8
8
|
log_build_default
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-UVANOIYF.js";
|
|
10
|
+
import "./chunk-SKRYED6N.js";
|
|
11
11
|
import {
|
|
12
12
|
catalogToAstro,
|
|
13
13
|
checkAndConvertMdToMdx
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-IZMM7ZGY.js";
|
|
15
|
+
import "./chunk-LDBRNJIL.js";
|
|
16
16
|
import {
|
|
17
17
|
VERSION
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-TU4LMTL7.js";
|
|
19
19
|
import {
|
|
20
20
|
isAuthEnabled,
|
|
21
21
|
isBackstagePluginEnabled,
|
|
@@ -110,7 +110,6 @@ function getRelativeTargetPath(filePath) {
|
|
|
110
110
|
filePathArr.shift();
|
|
111
111
|
}
|
|
112
112
|
if (filePathArr[0] == "snippets") {
|
|
113
|
-
console.log("SNIPPETS", filePathArr);
|
|
114
113
|
return import_node_path.default.join("snippets", ...filePathArr.slice(1));
|
|
115
114
|
}
|
|
116
115
|
const relativePath = [];
|
package/dist/watcher.cjs
CHANGED
|
@@ -114,7 +114,6 @@ function getRelativeTargetPath(filePath) {
|
|
|
114
114
|
filePathArr.shift();
|
|
115
115
|
}
|
|
116
116
|
if (filePathArr[0] == "snippets") {
|
|
117
|
-
console.log("SNIPPETS", filePathArr);
|
|
118
117
|
return import_node_path.default.join("snippets", ...filePathArr.slice(1));
|
|
119
118
|
}
|
|
120
119
|
const relativePath = [];
|
package/dist/watcher.js
CHANGED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
+
|
|
3
|
+
interface Environment {
|
|
4
|
+
name: string;
|
|
5
|
+
url: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
shortName?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface EnvironmentDropdownProps {
|
|
11
|
+
environments: Environment[];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const EnvironmentDropdown: React.FC<EnvironmentDropdownProps> = ({ environments }) => {
|
|
15
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
16
|
+
const [currentEnvironment, setCurrentEnvironment] = useState<Environment | null>(null);
|
|
17
|
+
const dropdownRef = useRef<HTMLDivElement>(null);
|
|
18
|
+
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
// Check if current URL matches any environment
|
|
21
|
+
const currentUrl = window.location.origin;
|
|
22
|
+
const matchedEnv = environments.find((env) => {
|
|
23
|
+
// Normalize URLs for comparison
|
|
24
|
+
const envUrl = new URL(env.url).origin;
|
|
25
|
+
return envUrl === currentUrl;
|
|
26
|
+
});
|
|
27
|
+
setCurrentEnvironment(matchedEnv || null);
|
|
28
|
+
}, [environments]);
|
|
29
|
+
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
// Handle click outside
|
|
32
|
+
const handleClickOutside = (event: MouseEvent) => {
|
|
33
|
+
if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {
|
|
34
|
+
setIsOpen(false);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// Handle escape key
|
|
39
|
+
const handleEscape = (event: KeyboardEvent) => {
|
|
40
|
+
if (event.key === 'Escape') {
|
|
41
|
+
setIsOpen(false);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
if (isOpen) {
|
|
46
|
+
document.addEventListener('click', handleClickOutside);
|
|
47
|
+
document.addEventListener('keydown', handleEscape);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return () => {
|
|
51
|
+
document.removeEventListener('click', handleClickOutside);
|
|
52
|
+
document.removeEventListener('keydown', handleEscape);
|
|
53
|
+
};
|
|
54
|
+
}, [isOpen]);
|
|
55
|
+
|
|
56
|
+
const toggleDropdown = (e: React.MouseEvent) => {
|
|
57
|
+
e.stopPropagation();
|
|
58
|
+
setIsOpen(!isOpen);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<div className="relative" ref={dropdownRef}>
|
|
63
|
+
<button
|
|
64
|
+
type="button"
|
|
65
|
+
onClick={toggleDropdown}
|
|
66
|
+
className="flex items-center space-x-1 text-sm font-medium text-gray-700 hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500 rounded-md px-3 py-2"
|
|
67
|
+
aria-expanded={isOpen}
|
|
68
|
+
aria-haspopup="true"
|
|
69
|
+
>
|
|
70
|
+
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
71
|
+
<path
|
|
72
|
+
strokeLinecap="round"
|
|
73
|
+
strokeLinejoin="round"
|
|
74
|
+
strokeWidth="2"
|
|
75
|
+
d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"
|
|
76
|
+
/>
|
|
77
|
+
</svg>
|
|
78
|
+
<span>
|
|
79
|
+
Environments
|
|
80
|
+
{currentEnvironment && (
|
|
81
|
+
<span className="font-normal"> ({currentEnvironment.shortName || currentEnvironment.name})</span>
|
|
82
|
+
)}
|
|
83
|
+
</span>
|
|
84
|
+
<svg className="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
85
|
+
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M19 9l-7 7-7-7" />
|
|
86
|
+
</svg>
|
|
87
|
+
</button>
|
|
88
|
+
<div
|
|
89
|
+
className={`${isOpen ? '' : 'hidden'} absolute right-0 mt-2 w-64 bg-white rounded-md shadow-lg py-1 z-50 border border-gray-100 overflow-hidden z-20`}
|
|
90
|
+
>
|
|
91
|
+
{environments.map((env) => {
|
|
92
|
+
const isCurrentEnv = currentEnvironment?.name === env.name;
|
|
93
|
+
|
|
94
|
+
return (
|
|
95
|
+
<a
|
|
96
|
+
key={env.name}
|
|
97
|
+
href={env.url}
|
|
98
|
+
onClick={(e) => {
|
|
99
|
+
e.preventDefault();
|
|
100
|
+
// Construct the full URL with the current path when clicked
|
|
101
|
+
const currentPath = window.location.pathname + window.location.search + window.location.hash;
|
|
102
|
+
const targetUrl = new URL(env.url);
|
|
103
|
+
targetUrl.pathname = currentPath;
|
|
104
|
+
window.location.href = targetUrl.toString();
|
|
105
|
+
}}
|
|
106
|
+
className={`block px-4 py-3 text-sm transition-colors border-b border-gray-50 last:border-b-0 ${
|
|
107
|
+
isCurrentEnv ? 'bg-purple-50 text-purple-700 hover:bg-purple-100' : 'text-gray-700 hover:bg-gray-50'
|
|
108
|
+
}`}
|
|
109
|
+
>
|
|
110
|
+
<div className="flex items-center justify-between">
|
|
111
|
+
<div>
|
|
112
|
+
<div className={`font-medium ${isCurrentEnv ? 'text-purple-700' : ''}`}>{env.name}</div>
|
|
113
|
+
{env.description && (
|
|
114
|
+
<div className={`text-xs font-light mt-1 ${isCurrentEnv ? 'text-purple-600' : 'text-gray-500'}`}>
|
|
115
|
+
{env.description}
|
|
116
|
+
</div>
|
|
117
|
+
)}
|
|
118
|
+
</div>
|
|
119
|
+
{isCurrentEnv && (
|
|
120
|
+
<svg className="w-4 h-4 text-purple-600 flex-shrink-0 ml-2" fill="currentColor" viewBox="0 0 20 20">
|
|
121
|
+
<path
|
|
122
|
+
fillRule="evenodd"
|
|
123
|
+
d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
|
|
124
|
+
clipRule="evenodd"
|
|
125
|
+
/>
|
|
126
|
+
</svg>
|
|
127
|
+
)}
|
|
128
|
+
</div>
|
|
129
|
+
</a>
|
|
130
|
+
);
|
|
131
|
+
})}
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
);
|
|
135
|
+
};
|
|
@@ -5,6 +5,7 @@ import { buildUrl } from '@utils/url-builder';
|
|
|
5
5
|
import { showEventCatalogBranding, showCustomBranding } from '@utils/feature';
|
|
6
6
|
import { getSession } from 'auth-astro/server';
|
|
7
7
|
import { isAuthEnabled, isSSR } from '@utils/feature';
|
|
8
|
+
import { EnvironmentDropdown } from './EnvironmentDropdown';
|
|
8
9
|
|
|
9
10
|
let session = null;
|
|
10
11
|
if (isAuthEnabled()) {
|
|
@@ -41,7 +42,10 @@ const repositoryUrl = catalog?.repositoryUrl || 'https://github.com/event-catalo
|
|
|
41
42
|
<div class="hidden md:block w-3/12">
|
|
42
43
|
{
|
|
43
44
|
session ? (
|
|
44
|
-
<div class="flex justify-end pr-2">
|
|
45
|
+
<div class="flex items-center space-x-4 justify-end pr-2">
|
|
46
|
+
{catalog.environments && catalog.environments.length > 0 && (
|
|
47
|
+
<EnvironmentDropdown environments={catalog.environments} client:load />
|
|
48
|
+
)}
|
|
45
49
|
<div class="relative">
|
|
46
50
|
<button
|
|
47
51
|
id="profile-menu-button"
|
|
@@ -89,6 +93,9 @@ const repositoryUrl = catalog?.repositoryUrl || 'https://github.com/event-catalo
|
|
|
89
93
|
) : (
|
|
90
94
|
<>
|
|
91
95
|
<div class="flex items-center space-x-4 justify-end pr-2">
|
|
96
|
+
{catalog.environments && catalog.environments.length > 0 && (
|
|
97
|
+
<EnvironmentDropdown environments={catalog.environments} client:load />
|
|
98
|
+
)}
|
|
92
99
|
{isAuthEnabled() && (
|
|
93
100
|
<button
|
|
94
101
|
id="okta-signin-btn"
|
|
@@ -54,6 +54,7 @@ const MessageList: React.FC<MessageListProps> = ({ messages, decodedCurrentPath,
|
|
|
54
54
|
<li key={message.id} data-active={decodedCurrentPath === message.href}>
|
|
55
55
|
<a
|
|
56
56
|
href={message.href}
|
|
57
|
+
data-active={decodedCurrentPath === message.href}
|
|
57
58
|
className={`flex items-center justify-between px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md ${
|
|
58
59
|
decodedCurrentPath.includes(message.href) ? 'bg-purple-100 ' : 'hover:bg-purple-100'
|
|
59
60
|
}`}
|
package/eventcatalog/src/components/SideNav/ListViewSideBar/components/SpecificationList.tsx
CHANGED
|
@@ -26,6 +26,7 @@ const SpecificationList: React.FC<SpecificationListProps> = ({ specifications, i
|
|
|
26
26
|
<a
|
|
27
27
|
key={`${spec.name}-asyncapi`}
|
|
28
28
|
href={buildUrl(`/docs/services/${id}/${version}/asyncapi/${spec.filenameWithoutExtension}`)}
|
|
29
|
+
data-active={window.location.href.includes(`docs/services/${id}/${version}/asyncapi`)}
|
|
29
30
|
className={`flex items-center px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md justify-between ${
|
|
30
31
|
window.location.href.includes(`docs/services/${id}/${version}/asyncapi`) ? 'bg-purple-100' : 'hover:bg-purple-100'
|
|
31
32
|
}`}
|
|
@@ -42,6 +43,7 @@ const SpecificationList: React.FC<SpecificationListProps> = ({ specifications, i
|
|
|
42
43
|
<a
|
|
43
44
|
key={`${spec.name}-openapi`}
|
|
44
45
|
href={buildUrl(`/docs/services/${id}/${version}/spec/${spec.filenameWithoutExtension}`)}
|
|
46
|
+
data-active={window.location.href.includes(`docs/services/${id}/${version}/spec/${spec.filenameWithoutExtension}`)}
|
|
45
47
|
className={`items-center px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md flex justify-between ${
|
|
46
48
|
window.location.href.includes(`docs/services/${id}/${version}/spec/${spec.filenameWithoutExtension}`)
|
|
47
49
|
? 'bg-purple-100'
|
|
@@ -99,6 +99,7 @@ const ServiceItem = React.memo(
|
|
|
99
99
|
<div className="space-y-0.5 border-gray-200/80 border-l pl-3 ml-[9px] mt-1">
|
|
100
100
|
<a
|
|
101
101
|
href={`${item.href}`}
|
|
102
|
+
data-active={decodedCurrentPath === item.href}
|
|
102
103
|
className={`flex items-center px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md ${
|
|
103
104
|
decodedCurrentPath === item.href ? 'bg-purple-100' : 'hover:bg-purple-100'
|
|
104
105
|
}`}
|
|
@@ -111,6 +112,7 @@ const ServiceItem = React.memo(
|
|
|
111
112
|
serviceName: item.name,
|
|
112
113
|
serviceId: item.id,
|
|
113
114
|
})}
|
|
115
|
+
data-active={window.location.href.includes(`serviceId=${item.id}`)}
|
|
114
116
|
className={`flex items-center px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md ${
|
|
115
117
|
window.location.href.includes(`serviceId=${item.id}`) ? 'bg-purple-100' : 'hover:bg-purple-100'
|
|
116
118
|
}`}
|
|
@@ -343,7 +345,7 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
343
345
|
const activeElement = document.querySelector('[data-active="true"]');
|
|
344
346
|
if (activeElement) {
|
|
345
347
|
// Add y offset to the scroll position
|
|
346
|
-
activeElement.scrollIntoView({ behavior: '
|
|
348
|
+
activeElement.scrollIntoView({ behavior: 'instant', block: 'center' });
|
|
347
349
|
}
|
|
348
350
|
}, []);
|
|
349
351
|
|
|
@@ -492,6 +494,7 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
492
494
|
<div className={`space-y-0.5 border-gray-200/80 border-l pl-4 ml-[9px] mt-1 ${marginLeft}`}>
|
|
493
495
|
<a
|
|
494
496
|
href={`${item.href}`}
|
|
497
|
+
data-active={decodedCurrentPath === item.href}
|
|
495
498
|
className={`flex items-center px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md ${
|
|
496
499
|
decodedCurrentPath === item.href ? 'bg-purple-100 ' : 'hover:bg-purple-100'
|
|
497
500
|
}`}
|
|
@@ -505,6 +508,7 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
505
508
|
domainId: item.id,
|
|
506
509
|
domainName: item.name,
|
|
507
510
|
})}
|
|
511
|
+
data-active={window.location.href.includes(`domainId=${item.id}`)}
|
|
508
512
|
className={`flex items-center px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md ${
|
|
509
513
|
window.location.href.includes(`domainId=${item.id}`) ? 'bg-purple-100 ' : 'hover:bg-purple-100'
|
|
510
514
|
}`}
|
|
@@ -515,6 +519,7 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
515
519
|
{!isVisualizer && (
|
|
516
520
|
<a
|
|
517
521
|
href={buildUrl(`/docs/domains/${item.id}/language`)}
|
|
522
|
+
data-active={decodedCurrentPath.includes(`/docs/domains/${item.id}/language`)}
|
|
518
523
|
className={`flex items-center px-2 py-1.5 text-xs text-gray-600 hover:bg-purple-100 rounded-md ${
|
|
519
524
|
decodedCurrentPath.includes(`/docs/domains/${item.id}/language`) ? 'bg-purple-100 ' : 'hover:bg-purple-100'
|
|
520
525
|
}`}
|
|
@@ -600,6 +605,7 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
600
605
|
<li key={item.href}>
|
|
601
606
|
<a
|
|
602
607
|
href={item.href}
|
|
608
|
+
data-active={decodedCurrentPath === item.href}
|
|
603
609
|
className={`flex items-center justify-between px-2 py-0.5 text-xs font-bold rounded-md ${
|
|
604
610
|
decodedCurrentPath === item.href ? 'bg-purple-100 text-purple-900' : 'hover:bg-purple-100'
|
|
605
611
|
}`}
|
|
@@ -672,15 +678,17 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
672
678
|
<div className="pt-4 pb-2">
|
|
673
679
|
<ul className="space-y-4">
|
|
674
680
|
{filteredData['services'].map((item: any) => (
|
|
675
|
-
<
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
681
|
+
<li key={item.href} data-active={decodedCurrentPath === item.href}>
|
|
682
|
+
<ServiceItem
|
|
683
|
+
key={item.href}
|
|
684
|
+
item={item}
|
|
685
|
+
decodedCurrentPath={decodedCurrentPath}
|
|
686
|
+
collapsedGroups={collapsedGroups}
|
|
687
|
+
toggleGroupCollapse={toggleGroupCollapse}
|
|
688
|
+
isVisualizer={isVisualizer}
|
|
689
|
+
searchTerm={debouncedSearchTerm}
|
|
690
|
+
/>
|
|
691
|
+
</li>
|
|
684
692
|
))}
|
|
685
693
|
</ul>
|
|
686
694
|
</div>
|
|
@@ -693,6 +701,7 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
693
701
|
<li key={item.href} className="space-y-0" data-active={decodedCurrentPath === item.href}>
|
|
694
702
|
<a
|
|
695
703
|
href={item.href}
|
|
704
|
+
data-active={decodedCurrentPath === item.href}
|
|
696
705
|
className={`flex items-center justify-between px-2 py-0.5 text-xs font-bold rounded-md ${
|
|
697
706
|
decodedCurrentPath === item.href ? 'bg-purple-100 text-purple-900' : 'hover:bg-purple-100'
|
|
698
707
|
}`}
|
|
@@ -719,6 +728,7 @@ const ListViewSideBar: React.FC<ListViewSideBarProps> = ({ resources, currentPat
|
|
|
719
728
|
<li key={item.href} className="space-y-0" data-active={decodedCurrentPath === item.href}>
|
|
720
729
|
<a
|
|
721
730
|
href={item.href}
|
|
731
|
+
data-active={decodedCurrentPath === item.href}
|
|
722
732
|
className={`flex items-center justify-between px-2 py-0.5 text-xs font-bold rounded-md ${
|
|
723
733
|
decodedCurrentPath === item.href ? 'bg-cyan-100 text-cyan-900' : 'hover:bg-purple-100'
|
|
724
734
|
}`}
|
|
@@ -33,7 +33,6 @@ import { ArrowsRightLeftIcon } from '@heroicons/react/20/solid';
|
|
|
33
33
|
import { Box, Boxes } from 'lucide-react';
|
|
34
34
|
import type { CollectionTypes } from '@types';
|
|
35
35
|
|
|
36
|
-
import { ClientRouter } from 'astro:transitions';
|
|
37
36
|
import { render } from 'astro:content';
|
|
38
37
|
import type { CollectionEntry } from 'astro:content';
|
|
39
38
|
|
|
@@ -363,7 +362,6 @@ nodeGraphs.push({
|
|
|
363
362
|
{props?.collection === 'entities' && <EntitySideBar entity={props} />}
|
|
364
363
|
</aside>
|
|
365
364
|
</div>
|
|
366
|
-
<ClientRouter />
|
|
367
365
|
</main>
|
|
368
366
|
|
|
369
367
|
<style is:global>
|