MCPcopy Create free account
hub / github.com/emwalker/digraph / Link

Function Link

client/src/components/ui/Link/index.tsx:50–87  ·  view source on GitHub ↗
(props: Props)

Source from the content-addressed store, hash-verified

48`
49
50export default function Link(props: Props) {
51 const viewer = useFragment(viewerFragment, props.viewer)
52 const link = useFragment(linkFragment, props.link)
53 const [formIsOpen, setFormIsOpen] = useState(false)
54
55 const toggleForm = useCallback(() => {
56 setFormIsOpen(!formIsOpen)
57 }, [setFormIsOpen, formIsOpen])
58
59 const parentTopics = liftNodes<ParentTopicType>(link.displayParentTopics)
60 const showEditButton = !link.loading && link.viewerCanUpdate
61 const repoColors = (link.repoLinks || []).map((repoLink) => repoLink.displayColor as Color)
62 const canEdit = !!(link.viewerCanUpdate && viewer.selectedRepoId)
63
64 return (
65 <Item
66 canEdit={canEdit}
67 className="Box-row--link"
68 formIsOpen={formIsOpen}
69 newlyAdded={link.newlyAdded}
70 repoColors={repoColors}
71 showEditButton={showEditButton}
72 showLink
73 showRepoOwnership={link.showRepoOwnership}
74 title={link.displayTitle}
75 toggleForm={toggleForm}
76 topics={parentTopics}
77 url={link.displayUrl}
78 >
79 {formIsOpen && viewer.id && (
80 <EditLinkLoader
81 linkId={link.id}
82 viewerId={viewer.id}
83 />
84 )}
85 </Item>
86 )
87}

Callers

nothing calls this directly

Calls 1

liftNodesFunction · 0.90

Tested by

no test coverage detected