검증게시판 첨부이미지 삭제 기능

This commit is contained in:
Macbook
2026-06-13 01:48:06 +09:00
parent 864d85484d
commit 3a4cc1ff3e
4 changed files with 32 additions and 36 deletions
@@ -20,8 +20,8 @@ interface Props {
onSave?: (
dto: VerificationIssueDto,
pendingImages: File[],
pendingDeleteIds: number[],
) => void | Promise<void>;
onAttachmentsChanged?: () => void;
}
const VerificationIssueDetailPanel: React.FC<Props> = ({
@@ -29,13 +29,13 @@ const VerificationIssueDetailPanel: React.FC<Props> = ({
attachmentsRefreshKey = 0,
saving = false,
onSave,
onAttachmentsChanged,
}) => {
const [title, setTitle] = useState('');
const [content, setContent] = useState('');
const [reproductionPath, setReproductionPath] = useState('');
const [stage, setStage] = useState<VerificationIssueStage>('REGISTERED');
const [pendingImages, setPendingImages] = useState<File[]>([]);
const [pendingDeleteIds, setPendingDeleteIds] = useState<number[]>([]);
const resetFromIssue = useCallback((src: VerificationIssueDto) => {
setTitle(src.title ?? '');
@@ -43,7 +43,6 @@ const VerificationIssueDetailPanel: React.FC<Props> = ({
setReproductionPath(src.reproductionPath ?? '');
setStage(src.stage ?? 'REGISTERED');
setPendingImages([]);
setPendingDeleteIds([]);
}, []);
useEffect(() => {
@@ -60,9 +59,8 @@ const VerificationIssueDetailPanel: React.FC<Props> = ({
|| pathTrimmed !== issuePath
|| stage !== issue.stage
|| pendingImages.length > 0
|| pendingDeleteIds.length > 0
);
}, [issue, title, content, reproductionPath, stage, pendingImages, pendingDeleteIds]);
}, [issue, title, content, reproductionPath, stage, pendingImages]);
const handleCancel = () => {
if (issue) resetFromIssue(issue);
@@ -85,7 +83,6 @@ const VerificationIssueDetailPanel: React.FC<Props> = ({
stage,
},
pendingImages,
pendingDeleteIds,
);
};
@@ -163,9 +160,8 @@ const VerificationIssueDetailPanel: React.FC<Props> = ({
deferUpload
draftFiles={pendingImages}
onDraftFilesChange={setPendingImages}
pendingDeleteIds={pendingDeleteIds}
onPendingDeleteIdsChange={setPendingDeleteIds}
disabled={saving}
onAttachmentsChanged={onAttachmentsChanged}
/>
)}