MCPcopy Index your code
hub / github.com/OpenPipe/OpenPipe / TableRow

Function TableRow

app/src/components/requestLogs/TableRow.tsx:94–235  ·  view source on GitHub ↗
({
  loggedCall,
  isExpanded,
  onToggle,
  showOptions,
}: {
  loggedCall: LoggedCall;
  isExpanded: boolean;
  onToggle: () => void;
  showOptions?: boolean;
})

Source from the content-addressed store, hash-verified

92};
93
94export const TableRow = ({
95 loggedCall,
96 isExpanded,
97 onToggle,
98 showOptions,
99}: {
100 loggedCall: LoggedCall;
101 isExpanded: boolean;
102 onToggle: () => void;
103 showOptions?: boolean;
104}) => {
105 const isError = loggedCall.statusCode !== 200;
106 const requestedAt = dayjs(loggedCall.requestedAt).format("MMMM D h:mm A");
107 const fullTime = dayjs(loggedCall.requestedAt).toString();
108
109 const isChecked = useAppStore(
110 (s) =>
111 (s.selectedLogs.defaultToSelected && !s.selectedLogs.deselectedLogIds.has(loggedCall.id)) ||
112 s.selectedLogs.selectedLogIds.has(loggedCall.id),
113 );
114 const toggleChecked = useAppStore((s) => s.selectedLogs.toggleSelectedLogId);
115
116 const tagNames = useSelectedProject().data?.tagNames;
117 const visibleColumns = useAppStore((s) => s.columnVisibility.visibleColumns);
118
119 const visibleTagNames = useMemo(() => {
120 return tagNames?.filter((tagName) => visibleColumns.has(tagName)) ?? [];
121 }, [tagNames, visibleColumns]);
122
123 const isClientInitialized = useIsClientInitialized();
124 if (!isClientInitialized) return null;
125
126 return (
127 <>
128 <Tr
129 onClick={onToggle}
130 key={loggedCall.id}
131 _hover={{ bgColor: "gray.50", cursor: "pointer" }}
132 sx={{
133 "> td": { borderBottom: "none" },
134 }}
135 fontSize="sm"
136 >
137 {showOptions && (
138 <Td>
139 <Checkbox
140 isChecked={isChecked}
141 onChange={() => toggleChecked(loggedCall.id)}
142 _hover={{ borderColor: "gray.300" }}
143 />
144 </Td>
145 )}
146 {visibleColumns.has(StaticColumnKeys.SENT_AT) && (
147 <Td>
148 <Tooltip label={fullTime} placement="top">
149 <Box whiteSpace="nowrap" minW="120px">
150 {requestedAt}
151 </Box>

Callers

nothing calls this directly

Calls 2

useSelectedProjectFunction · 0.90
useIsClientInitializedFunction · 0.90

Tested by

no test coverage detected