MCPcopy Index your code
hub / github.com/continuedev/continue / HistoryTableRow

Function HistoryTableRow

gui/src/components/History/HistoryTableRow.tsx:26–189  ·  view source on GitHub ↗
({
  sessionMetadata,
  index,
}: {
  sessionMetadata: BaseSessionMetadata;
  index: number;
})

Source from the content-addressed store, hash-verified

24const shareSessionSupported = isShareSessionSupported();
25
26export function HistoryTableRow({
27 sessionMetadata,
28 index,
29}: {
30 sessionMetadata: BaseSessionMetadata;
31 index: number;
32}) {
33 const dispatch = useAppDispatch();
34 const navigate = useNavigate();
35 const ideMessenger = useContext(IdeMessengerContext);
36
37 const [hovered, setHovered] = useState(false);
38 const [editing, setEditing] = useState(false);
39 const [sessionTitleEditValue, setSessionTitleEditValue] = useState(
40 sessionMetadata.title,
41 );
42 const currentSessionId = useAppSelector((state) => state.session.id);
43
44 useEffect(() => {
45 setSessionTitleEditValue(sessionMetadata.title);
46 }, [sessionMetadata]);
47
48 const shareSession = async (sessionId: string) => {
49 // "session/share" is not supported in JetBrains yet
50 if (shareSessionSupported) {
51 await ideMessenger.request("session/share", {
52 sessionId,
53 });
54 }
55 };
56
57 const handleKeyUp = async (e: React.KeyboardEvent<HTMLInputElement>) => {
58 if (e.key === "Enter") {
59 if (sessionTitleEditValue !== sessionMetadata.title) {
60 // imperfect solution of loading session just to update it
61 // but fine for now, pretty low latency
62 const currentSession = await getSession(
63 ideMessenger,
64 sessionMetadata.sessionId,
65 );
66 await dispatch(
67 updateSession({
68 ...currentSession,
69 title: sessionTitleEditValue,
70 }),
71 );
72 }
73 setEditing(false);
74 } else if (e.key === "Escape") {
75 setSessionTitleEditValue(sessionMetadata.title);
76 setEditing(false);
77 }
78 };
79
80 return (
81 <tr
82 onMouseEnter={() => setHovered(true)}
83 onMouseLeave={() => setHovered(false)}

Callers

nothing calls this directly

Calls 4

loadSessionFunction · 0.90
getUriPathBasenameFunction · 0.90
handleKeyUpFunction · 0.70
shareSessionFunction · 0.70

Tested by

no test coverage detected