mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-19 01:17:18 +02:00
feat: add comment when submitting CR (#3489)
This commit is contained in:
parent
8f659b02f1
commit
ac04f4331f
@ -95,9 +95,12 @@ export const ChangeRequestSidebar: VFC<IChangeRequestSidebarProps> = ({
|
|||||||
const { changeState, discardDraft } = useChangeRequestApi();
|
const { changeState, discardDraft } = useChangeRequestApi();
|
||||||
const { setToastApiError } = useToast();
|
const { setToastApiError } = useToast();
|
||||||
|
|
||||||
const onReview = async (draftId: number) => {
|
const onReview = async (draftId: number, comment?: string) => {
|
||||||
try {
|
try {
|
||||||
await changeState(project, draftId, { state: 'In review' });
|
await changeState(project, draftId, {
|
||||||
|
state: 'In review',
|
||||||
|
comment,
|
||||||
|
});
|
||||||
refetchChangeRequest();
|
refetchChangeRequest();
|
||||||
} catch (error: unknown) {
|
} catch (error: unknown) {
|
||||||
setToastApiError(formatUnknownError(error));
|
setToastApiError(formatUnknownError(error));
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { FC } from 'react';
|
import { FC, useState } from 'react';
|
||||||
import { Box, Button, Divider, Typography, useTheme } from '@mui/material';
|
import { Box, Button, Divider, Typography, useTheme } from '@mui/material';
|
||||||
import { IChangeRequest } from '../../changeRequest.types';
|
import { IChangeRequest } from '../../changeRequest.types';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
@ -12,6 +12,8 @@ import {
|
|||||||
UpdateCount,
|
UpdateCount,
|
||||||
} from '../ChangeRequestSidebar';
|
} from '../ChangeRequestSidebar';
|
||||||
import { CloudCircle } from '@mui/icons-material';
|
import { CloudCircle } from '@mui/icons-material';
|
||||||
|
import { AddCommentField } from '../../ChangeRequestOverview/ChangeRequestComments/AddCommentField';
|
||||||
|
import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser';
|
||||||
|
|
||||||
const SubmitChangeRequestButton: FC<{ onClick: () => void; count: number }> = ({
|
const SubmitChangeRequestButton: FC<{ onClick: () => void; count: number }> = ({
|
||||||
onClick,
|
onClick,
|
||||||
@ -25,11 +27,13 @@ const SubmitChangeRequestButton: FC<{ onClick: () => void; count: number }> = ({
|
|||||||
export const EnvironmentChangeRequest: FC<{
|
export const EnvironmentChangeRequest: FC<{
|
||||||
environmentChangeRequest: IChangeRequest;
|
environmentChangeRequest: IChangeRequest;
|
||||||
onClose: () => void;
|
onClose: () => void;
|
||||||
onReview: (id: number) => void;
|
onReview: (id: number, comment?: string) => void;
|
||||||
onDiscard: (id: number) => void;
|
onDiscard: (id: number) => void;
|
||||||
}> = ({ environmentChangeRequest, onClose, onReview, onDiscard, children }) => {
|
}> = ({ environmentChangeRequest, onClose, onReview, onDiscard, children }) => {
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const [commentText, setCommentText] = useState('');
|
||||||
|
const { user } = useAuthUser();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
@ -74,6 +78,16 @@ export const EnvironmentChangeRequest: FC<{
|
|||||||
You request changes for these feature toggles:
|
You request changes for these feature toggles:
|
||||||
</Typography>
|
</Typography>
|
||||||
{children}
|
{children}
|
||||||
|
<ConditionallyRender
|
||||||
|
condition={environmentChangeRequest?.state === 'Draft'}
|
||||||
|
show={
|
||||||
|
<AddCommentField
|
||||||
|
user={user}
|
||||||
|
commentText={commentText}
|
||||||
|
onTypeComment={setCommentText}
|
||||||
|
></AddCommentField>
|
||||||
|
}
|
||||||
|
></ConditionallyRender>
|
||||||
<Box sx={{ display: 'flex', mt: 3 }}>
|
<Box sx={{ display: 'flex', mt: 3 }}>
|
||||||
<ConditionallyRender
|
<ConditionallyRender
|
||||||
condition={environmentChangeRequest?.state === 'Draft'}
|
condition={environmentChangeRequest?.state === 'Draft'}
|
||||||
@ -81,7 +95,10 @@ export const EnvironmentChangeRequest: FC<{
|
|||||||
<>
|
<>
|
||||||
<SubmitChangeRequestButton
|
<SubmitChangeRequestButton
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
onReview(environmentChangeRequest.id)
|
onReview(
|
||||||
|
environmentChangeRequest.id,
|
||||||
|
commentText
|
||||||
|
)
|
||||||
}
|
}
|
||||||
count={changesCount(environmentChangeRequest)}
|
count={changesCount(environmentChangeRequest)}
|
||||||
/>
|
/>
|
||||||
|
@ -52,7 +52,10 @@ export const useChangeRequestApi = () => {
|
|||||||
const changeState = async (
|
const changeState = async (
|
||||||
project: string,
|
project: string,
|
||||||
changeRequestId: number,
|
changeRequestId: number,
|
||||||
payload: { state: 'Approved' | 'Applied' | 'Cancelled' | 'In review' }
|
payload: {
|
||||||
|
state: 'Approved' | 'Applied' | 'Cancelled' | 'In review';
|
||||||
|
comment?: string;
|
||||||
|
}
|
||||||
) => {
|
) => {
|
||||||
trackEvent('change_request', {
|
trackEvent('change_request', {
|
||||||
props: {
|
props: {
|
||||||
|
Loading…
Reference in New Issue
Block a user