@messagevisor/catalog 0.0.1 → 0.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.
- package/LICENSE +21 -0
- package/README.md +7 -0
- package/dist/assets/index-CfGbXx4X.css +1 -0
- package/dist/assets/index-r8ugP5JL.js +73 -0
- package/dist/favicon.png +0 -0
- package/dist/index.html +14 -0
- package/dist/logo-text.png +0 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +18 -0
- package/lib/index.js.map +1 -0
- package/lib/node/formatExamplePreview.d.ts +10 -0
- package/lib/node/formatExamplePreview.js +79 -0
- package/lib/node/formatExamplePreview.js.map +1 -0
- package/lib/node/index.d.ts +191 -0
- package/lib/node/index.js +1645 -0
- package/lib/node/index.js.map +1 -0
- package/package.json +59 -13
- package/src/App.tsx +73 -0
- package/src/api.spec.ts +42 -0
- package/src/api.ts +87 -0
- package/src/catalogBrandAssets.ts +8 -0
- package/src/components/details/ConditionTree.tsx +146 -0
- package/src/components/details/FieldGrid.tsx +16 -0
- package/src/components/details/GroupSegmentTree.tsx +73 -0
- package/src/components/details/MarkdownContent.tsx +23 -0
- package/src/components/details/TranslationsTable.tsx +263 -0
- package/src/components/details/UsageLinks.tsx +29 -0
- package/src/components/history/HistoryTimeline.tsx +122 -0
- package/src/components/layout/AppShell.tsx +338 -0
- package/src/components/layout/PageHeader.tsx +13 -0
- package/src/components/layout/Tabs.tsx +35 -0
- package/src/components/lists/EntityList.tsx +451 -0
- package/src/components/ui/Badge.tsx +21 -0
- package/src/components/ui/Button.tsx +12 -0
- package/src/components/ui/Card.tsx +9 -0
- package/src/components/ui/CodeBlock.tsx +7 -0
- package/src/components/ui/EmptyState.tsx +8 -0
- package/src/components/ui/Input.tsx +12 -0
- package/src/components/ui/LabelValueBadge.tsx +55 -0
- package/src/config.ts +2 -0
- package/src/context/CatalogContext.tsx +50 -0
- package/src/entityTypes.ts +49 -0
- package/src/index.ts +1 -0
- package/src/main.tsx +28 -0
- package/src/node/formatExamplePreview.ts +85 -0
- package/src/node/index.spec.ts +713 -0
- package/src/node/index.ts +2007 -0
- package/src/pages/EntityDetailPage.tsx +3345 -0
- package/src/pages/HistoryPage.tsx +26 -0
- package/src/pages/HomePage.tsx +21 -0
- package/src/pages/ListPage.tsx +59 -0
- package/src/styles.css +95 -0
- package/src/theme.ts +36 -0
- package/src/types.ts +127 -0
- package/src/utils/formatCatalogTimestamp.ts +77 -0
- package/src/utils/hashTranslationValue.spec.ts +20 -0
- package/src/utils/hashTranslationValue.ts +22 -0
- package/src/utils/searchQuery.ts +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,61 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
"name": "@messagevisor/catalog",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Static catalog UI for Messagevisor projects",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./lib/index.d.ts",
|
|
10
|
+
"default": "./lib/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./package.json": "./package.json"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"lib",
|
|
17
|
+
"src",
|
|
18
|
+
"package.json"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"transpile": "rimraf lib && tsc --project tsconfig.cjs.json",
|
|
22
|
+
"dev": "node scripts/dev.mjs",
|
|
23
|
+
"build": "npm run transpile && vite build",
|
|
24
|
+
"test": "jest --config jest.config.js --verbose",
|
|
25
|
+
"preview": "vite preview --host 127.0.0.1 --port 3000"
|
|
26
|
+
},
|
|
27
|
+
"author": {
|
|
28
|
+
"name": "Fahad Heylaal",
|
|
29
|
+
"url": "https://fahad19.com"
|
|
30
|
+
},
|
|
31
|
+
"homepage": "https://messagevisor.com",
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://github.com/messagevisor/messagevisor.git"
|
|
35
|
+
},
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public",
|
|
38
|
+
"registry": "https://registry.npmjs.org/"
|
|
39
|
+
},
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/messagevisor/messagevisor/issues"
|
|
42
|
+
},
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"dependencies": {},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^22.10.2",
|
|
47
|
+
"@types/react": "^19.0.7",
|
|
48
|
+
"@types/react-dom": "^19.0.3",
|
|
49
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
50
|
+
"autoprefixer": "^10.4.20",
|
|
51
|
+
"postcss": "^8.4.49",
|
|
52
|
+
"react": "^19.0.0",
|
|
53
|
+
"react-dom": "^19.0.0",
|
|
54
|
+
"react-markdown": "^10.1.0",
|
|
55
|
+
"react-router-dom": "^7.1.1",
|
|
56
|
+
"tailwindcss": "^3.4.17",
|
|
57
|
+
"typescript": "^5.7.2",
|
|
58
|
+
"vite": "^6.0.7"
|
|
59
|
+
},
|
|
60
|
+
"gitHead": "555119ab05473127a658ed0cfb6a2743ea3a6db8"
|
|
15
61
|
}
|
package/src/App.tsx
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Navigate, Route, Routes } from "react-router-dom";
|
|
2
|
+
|
|
3
|
+
import { CatalogProvider } from "./context/CatalogContext";
|
|
4
|
+
import type { CatalogManifest } from "./types";
|
|
5
|
+
import { AppShell } from "./components/layout/AppShell";
|
|
6
|
+
import { HomePage } from "./pages/HomePage";
|
|
7
|
+
import { ListPage } from "./pages/ListPage";
|
|
8
|
+
import { HistoryPage } from "./pages/HistoryPage";
|
|
9
|
+
import {
|
|
10
|
+
EntityExamplesTab,
|
|
11
|
+
EntityDetailPage,
|
|
12
|
+
EntityHistoryTab,
|
|
13
|
+
EntityOverviewTab,
|
|
14
|
+
FormatsTab,
|
|
15
|
+
LocaleDuplicatesTab,
|
|
16
|
+
MessageOverridesTab,
|
|
17
|
+
MessageTranslationsTab,
|
|
18
|
+
SegmentConditionsTab,
|
|
19
|
+
TargetMessagesTab,
|
|
20
|
+
UsageTab,
|
|
21
|
+
} from "./pages/EntityDetailPage";
|
|
22
|
+
|
|
23
|
+
function EntityRoutes(props: { prefix?: string } = {}) {
|
|
24
|
+
const prefix = props.prefix || "";
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<Route path={`${prefix}:entityPath/:entityKey`} element={<EntityDetailPage />}>
|
|
28
|
+
<Route index element={<EntityOverviewTab />} />
|
|
29
|
+
<Route path="formats" element={<FormatsTab />} />
|
|
30
|
+
<Route path="examples" element={<EntityExamplesTab />} />
|
|
31
|
+
<Route path="duplicates" element={<LocaleDuplicatesTab />} />
|
|
32
|
+
<Route path="translations" element={<MessageTranslationsTab />} />
|
|
33
|
+
<Route path="overrides" element={<MessageOverridesTab />} />
|
|
34
|
+
<Route path="conditions" element={<SegmentConditionsTab />} />
|
|
35
|
+
<Route path="usage" element={<UsageTab />} />
|
|
36
|
+
<Route path="messages" element={<TargetMessagesTab />} />
|
|
37
|
+
<Route path="history" element={<EntityHistoryTab />} />
|
|
38
|
+
<Route path="*" element={<Navigate to="." replace />} />
|
|
39
|
+
</Route>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function App(props: { manifest?: CatalogManifest }) {
|
|
44
|
+
return (
|
|
45
|
+
<CatalogProvider initialManifest={props.manifest}>
|
|
46
|
+
<AppShell>
|
|
47
|
+
<Routes>
|
|
48
|
+
<Route index element={<HomePage />} />
|
|
49
|
+
|
|
50
|
+
<Route path="sets/:setKey" element={<Navigate to="messages" replace />} />
|
|
51
|
+
<Route path="sets/:setKey/:entityPath" element={<ListPage />} />
|
|
52
|
+
<Route
|
|
53
|
+
path="sets/:setKey/:entityPath/:entityKey/formats/:localeKey"
|
|
54
|
+
element={<EntityDetailPage />}
|
|
55
|
+
>
|
|
56
|
+
<Route index element={<FormatsTab />} />
|
|
57
|
+
</Route>
|
|
58
|
+
{EntityRoutes({ prefix: "sets/:setKey/" })}
|
|
59
|
+
<Route path="sets/:setKey/history" element={<HistoryPage />} />
|
|
60
|
+
|
|
61
|
+
<Route path="history" element={<HistoryPage />} />
|
|
62
|
+
<Route path=":entityPath" element={<ListPage />} />
|
|
63
|
+
<Route path=":entityPath/:entityKey/formats/:localeKey" element={<EntityDetailPage />}>
|
|
64
|
+
<Route index element={<FormatsTab />} />
|
|
65
|
+
</Route>
|
|
66
|
+
{EntityRoutes()}
|
|
67
|
+
|
|
68
|
+
<Route path="*" element={<Navigate to="/" replace />} />
|
|
69
|
+
</Routes>
|
|
70
|
+
</AppShell>
|
|
71
|
+
</CatalogProvider>
|
|
72
|
+
);
|
|
73
|
+
}
|
package/src/api.spec.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { fetchLocaleDuplicates, setCatalogRouterMode } from "./api";
|
|
2
|
+
|
|
3
|
+
describe("catalog api", function () {
|
|
4
|
+
const originalFetch = global.fetch;
|
|
5
|
+
|
|
6
|
+
afterEach(function () {
|
|
7
|
+
global.fetch = originalFetch;
|
|
8
|
+
setCatalogRouterMode("browser");
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it("fetches locale duplicates from the expected root data path", async function () {
|
|
12
|
+
const fetchMock = jest.fn().mockResolvedValue({
|
|
13
|
+
ok: true,
|
|
14
|
+
json: async () => ({
|
|
15
|
+
locale: "en-US",
|
|
16
|
+
summary: { duplicateValues: 0, duplicateMessageKeys: 0 },
|
|
17
|
+
duplicateValues: [],
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
global.fetch = fetchMock as unknown as typeof fetch;
|
|
21
|
+
|
|
22
|
+
await fetchLocaleDuplicates("en-US");
|
|
23
|
+
|
|
24
|
+
expect(fetchMock).toHaveBeenCalledWith("/data/root/duplicates/locales/en-US.json");
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("fetches locale duplicates from the expected set data path", async function () {
|
|
28
|
+
const fetchMock = jest.fn().mockResolvedValue({
|
|
29
|
+
ok: true,
|
|
30
|
+
json: async () => ({
|
|
31
|
+
locale: "nl-NL",
|
|
32
|
+
summary: { duplicateValues: 0, duplicateMessageKeys: 0 },
|
|
33
|
+
duplicateValues: [],
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
global.fetch = fetchMock as unknown as typeof fetch;
|
|
37
|
+
|
|
38
|
+
await fetchLocaleDuplicates("nl-NL", "staging");
|
|
39
|
+
|
|
40
|
+
expect(fetchMock).toHaveBeenCalledWith("/data/sets/staging/duplicates/locales/nl-NL.json");
|
|
41
|
+
});
|
|
42
|
+
});
|
package/src/api.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
CatalogIndex,
|
|
3
|
+
CatalogManifest,
|
|
4
|
+
EntityDetail,
|
|
5
|
+
EntityType,
|
|
6
|
+
HistoryPage,
|
|
7
|
+
LocaleDuplicates,
|
|
8
|
+
} from "./types";
|
|
9
|
+
import { encodeRouteSegment, getDataBasePath } from "./entityTypes";
|
|
10
|
+
|
|
11
|
+
let routerMode: CatalogManifest["router"] = "browser";
|
|
12
|
+
|
|
13
|
+
function getDataUrl(path: string) {
|
|
14
|
+
const normalizedPath = path.replace(/^\//, "");
|
|
15
|
+
|
|
16
|
+
return routerMode === "browser" ? `/${normalizedPath}` : normalizedPath;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function setCatalogRouterMode(mode: CatalogManifest["router"]) {
|
|
20
|
+
routerMode = mode || "browser";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export async function fetchJson<T>(url: string): Promise<T> {
|
|
24
|
+
const response = await fetch(url);
|
|
25
|
+
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
throw new Error(`Unable to load ${url}`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return response.json() as Promise<T>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function fetchManifest() {
|
|
34
|
+
return fetchJson<CatalogManifest>(getDataUrl("data/manifest.json")).catch(() =>
|
|
35
|
+
fetchJson<CatalogManifest>("/data/manifest.json"),
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function fetchIndex(setKey?: string) {
|
|
40
|
+
return fetchJson<CatalogIndex>(getDataUrl(`${getDataBasePath(setKey)}/index.json`));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function fetchEntityDetail(type: EntityType, key: string, setKey?: string) {
|
|
44
|
+
return fetchJson<EntityDetail>(
|
|
45
|
+
getDataUrl(`${getDataBasePath(setKey)}/entities/${type}/${encodeRouteSegment(key)}.json`),
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function fetchHistoryPage(path: string, page: number) {
|
|
50
|
+
return fetchJson<HistoryPage>(getDataUrl(`${path}/page-${page}.json`));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function fetchLocaleDuplicates(localeKey: string, setKey?: string) {
|
|
54
|
+
return fetchJson<LocaleDuplicates>(
|
|
55
|
+
getDataUrl(
|
|
56
|
+
`${getDataBasePath(setKey)}/duplicates/locales/${encodeRouteSegment(localeKey)}.json`,
|
|
57
|
+
),
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export type TranslationShard = Record<string, string[]>;
|
|
62
|
+
|
|
63
|
+
const _translationShardCache = new Map<string, TranslationShard>();
|
|
64
|
+
|
|
65
|
+
function prefixToFilename(prefix: string): string {
|
|
66
|
+
return Array.from(new TextEncoder().encode(prefix))
|
|
67
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
68
|
+
.join("");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function fetchTranslationShard(prefix: string, setKey?: string): Promise<TranslationShard> {
|
|
72
|
+
const cacheKey = `${setKey ?? "__root__"}:${prefix}`;
|
|
73
|
+
const cached = _translationShardCache.get(cacheKey);
|
|
74
|
+
if (cached) return Promise.resolve(cached);
|
|
75
|
+
return fetchJson<TranslationShard>(
|
|
76
|
+
getDataUrl(`${getDataBasePath(setKey)}/translations/${prefixToFilename(prefix)}.json`),
|
|
77
|
+
)
|
|
78
|
+
.then((data) => {
|
|
79
|
+
_translationShardCache.set(cacheKey, data);
|
|
80
|
+
return data;
|
|
81
|
+
})
|
|
82
|
+
.catch(() => {
|
|
83
|
+
const empty: TranslationShard = {};
|
|
84
|
+
_translationShardCache.set(cacheKey, empty);
|
|
85
|
+
return empty;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Paths are served from `packages/catalog/public/` at the site root.
|
|
3
|
+
* Vite copies that folder into `dist/` on build; `scripts/dev.mjs` syncs the
|
|
4
|
+
* same files into `.catalog-dev` after each export so `npm run dev` can use
|
|
5
|
+
* `CATALOG_PUBLIC_DIR` without losing UI static assets.
|
|
6
|
+
*/
|
|
7
|
+
export const CATALOG_NAV_LOGO_MARK_SRC = "/favicon.png";
|
|
8
|
+
export const CATALOG_NAV_LOGO_WORDMARK_SRC = "/logo-text.png";
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Link } from "react-router-dom";
|
|
2
|
+
import type { Condition } from "@messagevisor/types";
|
|
3
|
+
|
|
4
|
+
import { Badge } from "../ui/Badge";
|
|
5
|
+
import { getEntityRoute } from "../../entityTypes";
|
|
6
|
+
|
|
7
|
+
function formatValue(value: unknown): string {
|
|
8
|
+
if (typeof value === "undefined") {
|
|
9
|
+
return "";
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
if (value === null) {
|
|
13
|
+
return "null";
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
return value.map((item) => formatValue(item)).join(", ");
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (typeof value === "object") {
|
|
21
|
+
return JSON.stringify(value);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return String(value);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function getParentAttributeKey(attributePath: string) {
|
|
28
|
+
return attributePath.split(".")[0];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function ConditionLeaf(props: { condition: Record<string, any>; setKey?: string }) {
|
|
32
|
+
if ("attribute" in props.condition) {
|
|
33
|
+
const attributePath = String(props.condition.attribute);
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 shadow-sm">
|
|
37
|
+
<div className="flex flex-wrap items-center gap-2 text-sm">
|
|
38
|
+
<Badge tone="primary">attribute</Badge>
|
|
39
|
+
<Link
|
|
40
|
+
to={getEntityRoute("attribute", getParentAttributeKey(attributePath), props.setKey)}
|
|
41
|
+
className="font-semibold text-primary hover:underline"
|
|
42
|
+
>
|
|
43
|
+
{attributePath}
|
|
44
|
+
</Link>
|
|
45
|
+
<span className="font-medium text-text">{props.condition.operator}</span>
|
|
46
|
+
{"value" in props.condition && (
|
|
47
|
+
<span className="text-muted">{formatValue(props.condition.value)}</span>
|
|
48
|
+
)}
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if ("feature" in props.condition) {
|
|
55
|
+
return (
|
|
56
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 shadow-sm">
|
|
57
|
+
<div className="flex flex-wrap items-center gap-2 text-sm">
|
|
58
|
+
<Badge tone="success">feature</Badge>
|
|
59
|
+
<span className="font-semibold text-text">{String(props.condition.feature)}</span>
|
|
60
|
+
<span className="font-medium text-text">{props.condition.operator}</span>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if ("experiment" in props.condition) {
|
|
67
|
+
return (
|
|
68
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 shadow-sm">
|
|
69
|
+
<div className="flex flex-wrap items-center gap-2 text-sm">
|
|
70
|
+
<Badge tone="warning">experiment</Badge>
|
|
71
|
+
<span className="font-semibold text-text">{String(props.condition.experiment)}</span>
|
|
72
|
+
<span className="font-medium text-text">{props.condition.operator}</span>
|
|
73
|
+
<span className="text-muted">{formatValue(props.condition.value)}</span>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 text-sm text-muted shadow-sm">
|
|
81
|
+
Unsupported condition
|
|
82
|
+
</div>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function ConditionNode(props: { condition: Condition; setKey?: string }) {
|
|
87
|
+
const condition = props.condition as any;
|
|
88
|
+
|
|
89
|
+
if (typeof condition === "string") {
|
|
90
|
+
return (
|
|
91
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 text-sm shadow-sm">
|
|
92
|
+
{condition === "*" ? "Everyone" : condition}
|
|
93
|
+
</div>
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if ("and" in condition || "or" in condition || "not" in condition) {
|
|
98
|
+
const operator = "and" in condition ? "and" : "or" in condition ? "or" : "not";
|
|
99
|
+
const children = condition[operator] as Condition[];
|
|
100
|
+
|
|
101
|
+
return (
|
|
102
|
+
<div className="rounded-lg border border-border bg-elevated p-4">
|
|
103
|
+
<div className="mb-3 flex items-center gap-2">
|
|
104
|
+
<Badge tone="neutral">{operator.toUpperCase()}</Badge>
|
|
105
|
+
<span className="text-sm text-muted">
|
|
106
|
+
{children.length} branch{children.length === 1 ? "" : "es"}
|
|
107
|
+
</span>
|
|
108
|
+
</div>
|
|
109
|
+
<div className="ml-3 space-y-3 border-l border-border pl-4">
|
|
110
|
+
{children.map((child, index) => (
|
|
111
|
+
<ConditionNode key={`${operator}-${index}`} condition={child} setKey={props.setKey} />
|
|
112
|
+
))}
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return <ConditionLeaf condition={condition} setKey={props.setKey} />;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export function ConditionTree(props: {
|
|
122
|
+
conditions?: Condition | Condition[] | "*";
|
|
123
|
+
setKey?: string;
|
|
124
|
+
}) {
|
|
125
|
+
if (!props.conditions) {
|
|
126
|
+
return <p className="text-sm text-muted">No conditions found.</p>;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (props.conditions === "*") {
|
|
130
|
+
return (
|
|
131
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 text-sm shadow-sm">
|
|
132
|
+
Everyone
|
|
133
|
+
</div>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const conditions = Array.isArray(props.conditions) ? props.conditions : [props.conditions];
|
|
138
|
+
|
|
139
|
+
return (
|
|
140
|
+
<div className="space-y-3">
|
|
141
|
+
{conditions.map((condition, index) => (
|
|
142
|
+
<ConditionNode key={index} condition={condition} setKey={props.setKey} />
|
|
143
|
+
))}
|
|
144
|
+
</div>
|
|
145
|
+
);
|
|
146
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
|
|
3
|
+
export function FieldGrid(props: {
|
|
4
|
+
fields: { label: string; value: ReactNode; fullWidth?: boolean }[];
|
|
5
|
+
}) {
|
|
6
|
+
return (
|
|
7
|
+
<dl className="grid grid-cols-1 gap-x-4 gap-y-8 md:grid-cols-2">
|
|
8
|
+
{props.fields.map((field) => (
|
|
9
|
+
<div key={field.label} className={field.fullWidth ? "md:col-span-2" : ""}>
|
|
10
|
+
<dt className="text-sm font-medium text-muted">{field.label}</dt>
|
|
11
|
+
<dd className="mt-1 text-sm">{field.value || "n/a"}</dd>
|
|
12
|
+
</div>
|
|
13
|
+
))}
|
|
14
|
+
</dl>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Link } from "react-router-dom";
|
|
2
|
+
import type { GroupSegment } from "@messagevisor/types";
|
|
3
|
+
|
|
4
|
+
import { Badge } from "../ui/Badge";
|
|
5
|
+
import { getEntityRoute } from "../../entityTypes";
|
|
6
|
+
|
|
7
|
+
function SegmentLeaf(props: { segmentKey: string; setKey?: string }) {
|
|
8
|
+
return (
|
|
9
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 shadow-sm">
|
|
10
|
+
<div className="flex flex-wrap items-center gap-2 text-sm">
|
|
11
|
+
<Badge tone="primary">segment</Badge>
|
|
12
|
+
<Link
|
|
13
|
+
to={getEntityRoute("segment", props.segmentKey, props.setKey)}
|
|
14
|
+
className="font-semibold text-primary hover:underline"
|
|
15
|
+
>
|
|
16
|
+
{props.segmentKey}
|
|
17
|
+
</Link>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function GroupSegmentNode(props: { segment: GroupSegment; setKey?: string }) {
|
|
24
|
+
if (typeof props.segment === "string") {
|
|
25
|
+
return <SegmentLeaf segmentKey={props.segment} setKey={props.setKey} />;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const operator = "and" in props.segment ? "and" : "or" in props.segment ? "or" : "not";
|
|
29
|
+
const children = props.segment[operator] as GroupSegment[];
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<div className="rounded-lg border border-border bg-elevated p-4">
|
|
33
|
+
<div className="mb-3 flex items-center gap-2">
|
|
34
|
+
<Badge tone="neutral">{operator.toUpperCase()}</Badge>
|
|
35
|
+
<span className="text-sm text-muted">
|
|
36
|
+
{children.length} branch{children.length === 1 ? "" : "es"}
|
|
37
|
+
</span>
|
|
38
|
+
</div>
|
|
39
|
+
<div className="ml-3 space-y-3 border-l border-border pl-4">
|
|
40
|
+
{children.map((child, index) => (
|
|
41
|
+
<GroupSegmentNode key={`${operator}-${index}`} segment={child} setKey={props.setKey} />
|
|
42
|
+
))}
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function GroupSegmentTree(props: {
|
|
49
|
+
segments?: GroupSegment | GroupSegment[] | "*";
|
|
50
|
+
setKey?: string;
|
|
51
|
+
}) {
|
|
52
|
+
if (!props.segments) {
|
|
53
|
+
return <p className="text-sm text-muted">No segments found.</p>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (props.segments === "*") {
|
|
57
|
+
return (
|
|
58
|
+
<div className="rounded-lg border border-border bg-surface px-4 py-3 text-sm shadow-sm">
|
|
59
|
+
Everyone
|
|
60
|
+
</div>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const segments = Array.isArray(props.segments) ? props.segments : [props.segments];
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<div className="space-y-3">
|
|
68
|
+
{segments.map((segment, index) => (
|
|
69
|
+
<GroupSegmentNode key={index} segment={segment} setKey={props.setKey} />
|
|
70
|
+
))}
|
|
71
|
+
</div>
|
|
72
|
+
);
|
|
73
|
+
}
|