From 4e18c009bba7a9185f050693daba45093091f331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Ctan-nhu=E2=80=9D?= <“tan@harness.io”> Date: Wed, 10 May 2023 02:13:52 -0700 Subject: [PATCH] feat: [CODE-298]: Code Comment API integration + Optimize PR polling + implement unchecked status --- web/src/components/Changes/Changes.tsx | 31 ++--- web/src/components/DiffViewer/DiffViewer.tsx | 2 +- .../components/DiffViewer/DiffViewerUtils.tsx | 12 +- web/src/framework/strings/stringTypes.ts | 1 + web/src/i18n/strings.en.yaml | 1 + web/src/images/index.ts | 5 +- web/src/images/pull-request-unchecked.svg | 1 + .../PullRequest/Conversation/Conversation.tsx | 56 ++++----- .../PullRequestActionsBox.module.scss | 12 +- .../PullRequestActionsBox.module.scss.d.ts | 1 + .../PullRequestActionsBox.tsx | 39 +++++-- web/src/pages/PullRequest/PullRequest.tsx | 108 ++++++++++-------- web/src/pages/Repository/Repository.tsx | 19 +-- .../FolderContent/Readme.module.scss | 2 +- web/src/services/code/index.tsx | 20 ++-- web/src/services/code/swagger.yaml | 45 ++++---- web/src/utils/Utils.ts | 7 +- 17 files changed, 186 insertions(+), 176 deletions(-) create mode 100644 web/src/images/pull-request-unchecked.svg diff --git a/web/src/components/Changes/Changes.tsx b/web/src/components/Changes/Changes.tsx index 0f262b2e6..8bb637f14 100644 --- a/web/src/components/Changes/Changes.tsx +++ b/web/src/components/Changes/Changes.tsx @@ -7,8 +7,7 @@ import { Text, StringSubstitute, Button, - PageError, - ButtonSize + PageError } from '@harness/uicore' import { Match, Case, Render } from 'react-jsx-match' import * as Diff2Html from 'diff2html' @@ -47,7 +46,6 @@ interface ChangesProps extends Pick { className?: string onCommentUpdate: () => void prHasChanged?: boolean - handleRefresh?: () => void } export const Changes: React.FC = ({ @@ -60,8 +58,7 @@ export const Changes: React.FC = ({ pullRequestMetadata, onCommentUpdate, className, - prHasChanged, - handleRefresh + prHasChanged }) => { const { getString } = useStrings() const [viewStyle, setViewStyle] = useUserPreference(UserPreference.DIFF_VIEW_STYLE, ViewStyle.SIDE_BY_SIDE) @@ -84,8 +81,8 @@ export const Changes: React.FC = ({ const { data: activities, loading: loadingActivities, - error: errorActivities - // refetch: refetchActivities + error: errorActivities, + refetch: refetchActivities } = useGet({ path: `/api/v1/repos/${repoMetadata.path}/+/pullreq/${pullRequestMetadata?.number}/activities`, lazy: !pullRequestMetadata?.number @@ -104,6 +101,12 @@ export const Changes: React.FC = ({ [diffs] ) + useEffect(() => { + if (prHasChanged) { + refetchActivities() + } + }, [prHasChanged, refetchActivities]) + useEffect(() => { const _raw = rawDiff && typeof rawDiff === 'string' ? rawDiff : '' @@ -115,7 +118,7 @@ export const Changes: React.FC = ({ const contentId = `content-${fileId}` const filePath = diff.isDeleted ? diff.oldName : diff.newName const fileActivities: TypesPullReqActivity[] | undefined = activities?.filter( - activity => filePath === activity.code_comment_path + activity => filePath === activity.code_comment?.path ) return { @@ -171,18 +174,6 @@ export const Changes: React.FC = ({ }} /> - {!prHasChanged ? null : ( -