MCPcopy Create free account
hub / github.com/dailydotdev/apps / DevCard

Function DevCard

packages/shared/src/components/profile/devcard/DevCard.tsx:30–219  ·  view source on GitHub ↗
({
  type = DevCardType.Vertical,
  data,
  isInteractive = true,
}: DevCardProps)

Source from the content-addressed store, hash-verified

28}
29
30export function DevCard({
31 type = DevCardType.Vertical,
32 data,
33 isInteractive = true,
34}: DevCardProps): ReactElement | null {
35 const { devcard, isLoading, coverImage } = data ?? {};
36
37 if (isLoading || !devcard) {
38 return null;
39 }
40
41 if (type.toLowerCase() === DevCardType.Twitter.toLowerCase()) {
42 return <DevCardTwitterCover {...data} />;
43 }
44
45 const { theme, user } = devcard;
46
47 if (!user || !theme) {
48 return null;
49 }
50
51 const {
52 articlesRead = 0,
53 tags = [],
54 sources = [],
55 showBorder = false,
56 streak,
57 } = devcard;
58 const isHorizontal = type === DevCardType.Horizontal;
59 const isVertical = type === DevCardType.Vertical;
60 const isIron = checkLowercaseEquality(theme, DevCardTheme.Iron);
61 const isDefault = checkLowercaseEquality(theme, DevCardTheme.Default);
62
63 const footer = (
64 <DevCardFooter
65 tags={tags}
66 sources={sources}
67 type={type}
68 theme={theme}
69 elementsClickable={isInteractive}
70 />
71 );
72
73 return (
74 <DevCardContainer
75 theme={theme}
76 className={classNames(!isHorizontal && 'w-[20.25rem] flex-col')}
77 >
78 <ConditionalWrapper
79 condition={isHorizontal}
80 wrapper={(component) => (
81 <RoundedContainer
82 className="flex w-[37.75rem] flex-row-reverse pl-2"
83 style={{ boxShadow: devCardBoxShadow }}
84 >
85 {component}
86 </RoundedContainer>
87 )}

Callers

nothing calls this directly

Calls 1

checkLowercaseEqualityFunction · 0.90

Tested by

no test coverage detected