MCPcopy Create free account
hub / github.com/triggerdotdev/jsonhero-web / RelatedValuesGroupItem

Function RelatedValuesGroupItem

app/components/RelatedValues.tsx:62–113  ·  view source on GitHub ↗
({
  group,
  isOpen,
  toggleOpen,
}: {
  group: RelatedValuesGroup;
  isOpen: boolean;
  toggleOpen: () => void;
})

Source from the content-addressed store, hash-verified

60}
61
62function RelatedValuesGroupItem({
63 group,
64 isOpen,
65 toggleOpen,
66}: {
67 group: RelatedValuesGroup;
68 isOpen: boolean;
69 toggleOpen: () => void;
70}) {
71 const isLinkable = group.value !== "undefined";
72 const isHighlighted = group.value === "undefined" || group.value === "null";
73
74 return (
75 <div className="mb-1 transition dark:text-slate-300">
76 <div
77 className={`flex rounded-sm transition hover:cursor-pointer ${
78 isOpen
79 ? "bg-slate-200 hover:bg-slate-200 dark:bg-slate-700 dark:hover:bg-slate-700"
80 : "bg-slate-100 hover:bg-slate-200 dark:bg-slate-600 dark:hover:bg-slate-700"
81 }`}
82 onClick={() => toggleOpen()}
83 >
84 <div className="flex items-center rounded-sm px-1 bg-slate-200 dark:bg-slate-700">
85 {isOpen ? (
86 <ChevronDownIcon className="w-3 h-3" />
87 ) : (
88 <ChevronRightIcon className="w-3 h-3" />
89 )}
90 <SmallBody className="ml-1">{group.paths.length}</SmallBody>
91 </div>
92 <Mono
93 className={`truncate px-2 text-slate-700 dark:text-slate-200 ${
94 isHighlighted ? "italic" : ""
95 }`}
96 >
97 {group.value}
98 </Mono>
99 </div>
100 {isOpen &&
101 group.paths.map((path) => {
102 return (
103 <div
104 className="p-0.5 bg-slate-100 dark:bg-slate-700 dark:bg-opacity-60"
105 key={path}
106 >
107 <PathLink path={path} enabled={isLinkable} />
108 </div>
109 );
110 })}
111 </div>
112 );
113}
114
115function PathLink({ path, enabled }: { path: string; enabled: boolean }) {
116 const [json] = useJson();

Callers

nothing calls this directly

Calls 1

toggleOpenFunction · 0.85

Tested by

no test coverage detected