e.stopPropagation()}
onResize={handleLayoutChange}
+ autoFocus // eslint-disable-line jsx-a11y/no-autofocus
/>
) : (
<>
diff --git a/services/web/frontend/js/features/source-editor/components/review-panel/entries/entry-callout.tsx b/services/web/frontend/js/features/source-editor/components/review-panel/entries/entry-callout.tsx
new file mode 100644
index 0000000000..282791f2b6
--- /dev/null
+++ b/services/web/frontend/js/features/source-editor/components/review-panel/entries/entry-callout.tsx
@@ -0,0 +1,7 @@
+import classnames from 'classnames'
+
+function EntryCallout({ className, ...rest }: React.ComponentProps<'div'>) {
+ return
+}
+
+export default EntryCallout
diff --git a/services/web/frontend/js/features/source-editor/context/review-panel/hooks/use-angular-review-panel-state.ts b/services/web/frontend/js/features/source-editor/context/review-panel/hooks/use-angular-review-panel-state.ts
index 82566600dd..849c99d6af 100644
--- a/services/web/frontend/js/features/source-editor/context/review-panel/hooks/use-angular-review-panel-state.ts
+++ b/services/web/frontend/js/features/source-editor/context/review-panel/hooks/use-angular-review-panel-state.ts
@@ -71,6 +71,8 @@ function useAngularReviewPanelState(): ReviewPanelState {
>('reviewPanel.trackChangesForGuestsAvailable')
const [resolveComment] =
useScopeValue
>('resolveComment')
+ const [submitNewComment] =
+ useScopeValue>('submitNewComment')
const [deleteComment] =
useScopeValue>('deleteComment')
const [gotoEntry] = useScopeValue>('gotoEntry')
@@ -155,6 +157,7 @@ function useAngularReviewPanelState(): ReviewPanelState {
refreshResolvedCommentsDropdown,
acceptChanges,
rejectChanges,
+ submitNewComment,
}),
[
collapsed,
@@ -191,6 +194,7 @@ function useAngularReviewPanelState(): ReviewPanelState {
refreshResolvedCommentsDropdown,
acceptChanges,
rejectChanges,
+ submitNewComment,
]
)
diff --git a/services/web/frontend/js/features/source-editor/context/review-panel/types/review-panel-state.ts b/services/web/frontend/js/features/source-editor/context/review-panel/types/review-panel-state.ts
index d022ef625e..9c8bf61deb 100644
--- a/services/web/frontend/js/features/source-editor/context/review-panel/types/review-panel-state.ts
+++ b/services/web/frontend/js/features/source-editor/context/review-panel/types/review-panel-state.ts
@@ -59,6 +59,7 @@ export interface ReviewPanelState {
refreshResolvedCommentsDropdown: () => Promise
acceptChanges: (entryIds: unknown) => void
rejectChanges: (entryIds: unknown) => void
+ submitNewComment: (content: string) => void
}
updaterFns: {
handleSetSubview: (subView: SubView) => void
diff --git a/services/web/test/frontend/features/review-panel/review-panel.spec.tsx b/services/web/test/frontend/features/review-panel/review-panel.spec.tsx
index 571c4c0911..257867acf6 100644
--- a/services/web/test/frontend/features/review-panel/review-panel.spec.tsx
+++ b/services/web/test/frontend/features/review-panel/review-panel.spec.tsx
@@ -221,6 +221,17 @@ describe('', function () {
it.skip('renders changed entries in overview mode', function () {})
})
+ describe('add comment entry', function () {
+ // eslint-disable-next-line mocha/no-skipped-tests
+ it.skip('renders `add comment button`', function () {})
+
+ // eslint-disable-next-line mocha/no-skipped-tests
+ it.skip('cancels adding comment', function () {})
+
+ // eslint-disable-next-line mocha/no-skipped-tests
+ it.skip('adds comment', function () {})
+ })
+
describe('overview mode', function () {
// eslint-disable-next-line mocha/no-skipped-tests
it.skip('shows list of files changed', function () {})
diff --git a/services/web/types/review-panel/entry.ts b/services/web/types/review-panel/entry.ts
index f046d9adeb..faf78a308d 100644
--- a/services/web/types/review-panel/entry.ts
+++ b/services/web/types/review-panel/entry.ts
@@ -53,7 +53,7 @@ export interface ReviewPanelAggregateChangeEntry extends ReviewPanelBaseEntry {
}
}
-interface ReviewPanelAddCommentEntry extends ReviewPanelBaseEntry {
+export interface ReviewPanelAddCommentEntry extends ReviewPanelBaseEntry {
type: 'add-comment'
}