@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.
Files changed (58) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -0
  3. package/dist/assets/index-CfGbXx4X.css +1 -0
  4. package/dist/assets/index-r8ugP5JL.js +73 -0
  5. package/dist/favicon.png +0 -0
  6. package/dist/index.html +14 -0
  7. package/dist/logo-text.png +0 -0
  8. package/lib/index.d.ts +1 -0
  9. package/lib/index.js +18 -0
  10. package/lib/index.js.map +1 -0
  11. package/lib/node/formatExamplePreview.d.ts +10 -0
  12. package/lib/node/formatExamplePreview.js +79 -0
  13. package/lib/node/formatExamplePreview.js.map +1 -0
  14. package/lib/node/index.d.ts +191 -0
  15. package/lib/node/index.js +1645 -0
  16. package/lib/node/index.js.map +1 -0
  17. package/package.json +59 -13
  18. package/src/App.tsx +73 -0
  19. package/src/api.spec.ts +42 -0
  20. package/src/api.ts +87 -0
  21. package/src/catalogBrandAssets.ts +8 -0
  22. package/src/components/details/ConditionTree.tsx +146 -0
  23. package/src/components/details/FieldGrid.tsx +16 -0
  24. package/src/components/details/GroupSegmentTree.tsx +73 -0
  25. package/src/components/details/MarkdownContent.tsx +23 -0
  26. package/src/components/details/TranslationsTable.tsx +263 -0
  27. package/src/components/details/UsageLinks.tsx +29 -0
  28. package/src/components/history/HistoryTimeline.tsx +122 -0
  29. package/src/components/layout/AppShell.tsx +338 -0
  30. package/src/components/layout/PageHeader.tsx +13 -0
  31. package/src/components/layout/Tabs.tsx +35 -0
  32. package/src/components/lists/EntityList.tsx +451 -0
  33. package/src/components/ui/Badge.tsx +21 -0
  34. package/src/components/ui/Button.tsx +12 -0
  35. package/src/components/ui/Card.tsx +9 -0
  36. package/src/components/ui/CodeBlock.tsx +7 -0
  37. package/src/components/ui/EmptyState.tsx +8 -0
  38. package/src/components/ui/Input.tsx +12 -0
  39. package/src/components/ui/LabelValueBadge.tsx +55 -0
  40. package/src/config.ts +2 -0
  41. package/src/context/CatalogContext.tsx +50 -0
  42. package/src/entityTypes.ts +49 -0
  43. package/src/index.ts +1 -0
  44. package/src/main.tsx +28 -0
  45. package/src/node/formatExamplePreview.ts +85 -0
  46. package/src/node/index.spec.ts +713 -0
  47. package/src/node/index.ts +2007 -0
  48. package/src/pages/EntityDetailPage.tsx +3345 -0
  49. package/src/pages/HistoryPage.tsx +26 -0
  50. package/src/pages/HomePage.tsx +21 -0
  51. package/src/pages/ListPage.tsx +59 -0
  52. package/src/styles.css +95 -0
  53. package/src/theme.ts +36 -0
  54. package/src/types.ts +127 -0
  55. package/src/utils/formatCatalogTimestamp.ts +77 -0
  56. package/src/utils/hashTranslationValue.spec.ts +20 -0
  57. package/src/utils/hashTranslationValue.ts +22 -0
  58. 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
- "name": "@messagevisor/catalog",
3
- "version": "0.0.1",
4
- "description": "Messagevisor package",
5
- "license": "ISC",
6
- "author": "",
7
- "type": "commonjs",
8
- "main": "index.js",
9
- "publishConfig": {
10
- "access": "public"
11
- },
12
- "scripts": {
13
- "test": "echo \"Error: no test specified\" && exit 1"
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
+ }
@@ -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
+ }