Skip to content
This repository was archived by the owner on Jan 2, 2025. It is now read-only.

Commit b6d317c

Browse files
api updates
1 parent d231c36 commit b6d317c

File tree

6 files changed

+39
-10
lines changed

6 files changed

+39
-10
lines changed

client/src/components/CodeBlock/CodeFull/CodeContainer.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import React, {
33
memo,
44
SetStateAction,
55
useCallback,
6+
useContext,
67
useMemo,
78
useState,
89
} from 'react';
@@ -12,6 +13,7 @@ import { Range, TokenInfoItem, TokenInfoWrapped } from '../../../types/results';
1213
import { getTokenInfo } from '../../../services/api';
1314
import { mapTokenInfoData } from '../../../mappers/results';
1415
import { MAX_LINES_BEFORE_VIRTUALIZE } from '../../../consts/code';
16+
import { SearchContext } from '../../../context/searchContext';
1517
import CodeContainerVirtualized from './CodeContainerVirtualized';
1618
import CodeContainerFull from './CodeContainerFull';
1719
import { Metadata, BlameLine } from './index';
@@ -55,6 +57,7 @@ const CodeContainer = ({
5557
byteRange: null,
5658
lineNumber: -1,
5759
});
60+
const { selectedBranch } = useContext(SearchContext);
5861

5962
const getHoverableContent = useCallback(
6063
(hoverableRange: Range, lineNumber?: number) => {
@@ -64,6 +67,7 @@ const CodeContainer = ({
6467
repoPath,
6568
hoverableRange.start,
6669
hoverableRange.end,
70+
selectedBranch ? selectedBranch : undefined,
6771
).then((data) => {
6872
setTokenInfo({
6973
...mapTokenInfoData(data),
@@ -73,7 +77,7 @@ const CodeContainer = ({
7377
});
7478
}
7579
},
76-
[relativePath],
80+
[relativePath, selectedBranch],
7781
);
7882

7983
const handleRefsDefsClick = useCallback(

client/src/components/PageTemplate/Subheader.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,13 @@ const Subheader = () => {
9797
{allBranches.length > 1 && (
9898
<DropdownNormal
9999
items={[
100-
{ type: MenuItemType.DEFAULT, text: 'All branches' },
100+
{
101+
type: MenuItemType.DEFAULT,
102+
text: 'All branches',
103+
onClick: () => {
104+
setSelectedBranch(null);
105+
},
106+
},
101107
].concat(
102108
allBranches.map((b) => ({
103109
type: MenuItemType.DEFAULT,

client/src/pages/ResultFull/index.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import React, { useCallback, useEffect, useMemo, useState } from 'react';
1+
import React, {
2+
useCallback,
3+
useContext,
4+
useEffect,
5+
useMemo,
6+
useState,
7+
} from 'react';
28
import * as Sentry from '@sentry/react';
39
import FileIcon from '../../components/FileIcon';
410
import Breadcrumbs from '../../components/Breadcrumbs';
@@ -19,6 +25,7 @@ import { FileTreeFileType } from '../../types';
1925
import { getFileName } from '../../utils/file';
2026
import FileMenu from '../../components/FileMenu';
2127
import SkeletonItem from '../../components/SkeletonItem';
28+
import { SearchContext } from '../../context/searchContext';
2229

2330
type Props = {
2431
data: any;
@@ -40,6 +47,7 @@ const ResultFull = ({ data, isLoading }: Props) => {
4047
const [isShareOpen, setShareOpen] = useState(false);
4148
const { navigateFullResult, navigateRepoPath } = useAppNavigation();
4249
const [result, setResult] = useState<FullResult | null>(null);
50+
const { selectedBranch } = useContext(SearchContext);
4351

4452
useEffect(() => {
4553
if (!data || data?.data?.[0]?.kind !== 'file') {
@@ -66,13 +74,17 @@ const ResultFull = ({ data, isLoading }: Props) => {
6674
},
6775
});
6876
setResult(mappedResult);
69-
getHoverables(item.data.relative_path, item.data.repo_ref).then((data) => {
77+
getHoverables(
78+
item.data.relative_path,
79+
item.data.repo_ref,
80+
selectedBranch ? selectedBranch : undefined,
81+
).then((data) => {
7082
setResult((prevState) => ({
7183
...prevState!,
7284
hoverableRanges: mapRanges(data.ranges),
7385
}));
7486
});
75-
}, [data, isLoading]);
87+
}, [data, isLoading, selectedBranch]);
7688

7789
const navigateTo = useCallback(
7890
(path: string, isFile: boolean) => {

client/src/pages/ResultModal/FileModalContainer.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useCallback, useEffect, useState } from 'react';
1+
import React, { useCallback, useContext, useEffect, useState } from 'react';
22
import { useNavigate } from 'react-router-dom';
33
import { FullResult } from '../../types/results';
44
import { useSearch } from '../../hooks/useSearch';
@@ -7,6 +7,7 @@ import { FullResultModeEnum } from '../../types/general';
77
import { mapFileResult, mapRanges } from '../../mappers/results';
88
import { getHoverables } from '../../services/api';
99
import { buildRepoQuery } from '../../utils';
10+
import { SearchContext } from '../../context/searchContext';
1011
import ResultModal from './index';
1112

1213
type Props = {
@@ -31,6 +32,7 @@ const FileModalContainer = ({
3132
const { searchQuery: fileModalSearchQuery, data: fileResultData } =
3233
useSearch<FileSearchResponse>();
3334
const navigateBrowser = useNavigate();
35+
const { selectedBranch } = useContext(SearchContext);
3436

3537
useEffect(() => {
3638
if (isOpen) {
@@ -52,14 +54,15 @@ const FileModalContainer = ({
5254
getHoverables(
5355
fileResultData.data[0].data.relative_path,
5456
fileResultData.data[0].data.repo_ref,
57+
selectedBranch ? selectedBranch : undefined,
5558
).then((data) => {
5659
setOpenResult((prevState) => ({
5760
...prevState!,
5861
hoverableRanges: mapRanges(data.ranges),
5962
}));
6063
});
6164
}
62-
}, [fileResultData]);
65+
}, [fileResultData, selectedBranch]);
6366

6467
const handleModeChange = useCallback((m: FullResultModeEnum) => {
6568
setMode(m);

client/src/pages/Results/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const ResultsPage = ({ resultsData, loading }: Props) => {
4949
const [scrollToLine, setScrollToLine] = useState<string | undefined>(
5050
undefined,
5151
);
52-
const { filters, setFilters, inputValue, globalRegex } =
52+
const { filters, setFilters, inputValue, globalRegex, selectedBranch } =
5353
useContext(SearchContext);
5454
const { setSymbolsCollapsed } = useContext(UIContext);
5555
const { navigateSearch, navigateRepoPath } = useAppNavigation();
@@ -135,14 +135,15 @@ const ResultsPage = ({ resultsData, loading }: Props) => {
135135
getHoverables(
136136
fileResultData.data[0].data.relative_path,
137137
fileResultData.data[0].data.repo_ref,
138+
selectedBranch ? selectedBranch : undefined,
138139
).then((data) => {
139140
setOpenResult((prevState) => ({
140141
...prevState!,
141142
hoverableRanges: mapRanges(data.ranges),
142143
}));
143144
});
144145
}
145-
}, [fileResultData]);
146+
}, [fileResultData, selectedBranch]);
146147

147148
return (
148149
<>

client/src/services/api.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,11 @@ export const nlSearch = (
7575
export const getHoverables = async (
7676
path: string,
7777
repoId: string,
78+
branch?: string,
7879
): Promise<HoverablesResponse> => {
7980
try {
8081
const { data } = await http.get('/hoverable', {
81-
params: { relative_path: path, repo_ref: repoId },
82+
params: { relative_path: path, repo_ref: repoId, branch },
8283
});
8384
return data;
8485
} catch (e) {
@@ -91,6 +92,7 @@ export const getTokenInfo = async (
9192
repoRef: string,
9293
start: number,
9394
end: number,
95+
branch?: string,
9496
): Promise<TokenInfoResponse> => {
9597
return http
9698
.get('/token-info', {
@@ -99,6 +101,7 @@ export const getTokenInfo = async (
99101
repo_ref: repoRef,
100102
start,
101103
end,
104+
branch,
102105
},
103106
})
104107
.then((r) => r.data);

0 commit comments

Comments
 (0)