このコミットが含まれているのは:
2026-07-16 18:33:45 +09:00
コミット ef95b20a7e
9個のファイルの変更145行の追加24行の削除
+10 -8
ファイルの表示
@@ -20,6 +20,8 @@ import { clearPostImportSourceDraft,
loadPostImportSession,
mergeImportResults,
mergeValidatedImportRows,
resultRepairMode,
resultRowMessages,
resultSummaryCounts,
retryImportRow,
savePostImportSession } from '@/lib/postImportSession'
@@ -34,9 +36,6 @@ import type { User } from '@/types'
type Props = { user: User | null }
const rowMessages = (row: PostImportRow): string[] =>
Object.values (row.importErrors ?? { }).flat ()
const buildNextEditedRow = (
editingRow: PostImportRow,
draft: PostImportRowDraft,
@@ -293,7 +292,7 @@ const PostImportResultPage: FC<Props> = ({ user }) => {
const resultSession = {
...nextSession,
rows: nextRows,
repairMode: recoverableTarget == null ? 'all' as const : 'failed' as const }
repairMode: resultRepairMode (nextRows) }
sessionRef.current = resultSession
setSession (resultSession)
if (recoverableTarget != null
@@ -367,10 +366,13 @@ const PostImportResultPage: FC<Props> = ({ user }) => {
<div className="space-y-3">
{session.rows.map (row => {
const displayStatus = displayPostImportStatus (row)
const canEdit = row.importStatus === 'failed'
const canRetry =
const hasValidationErrors = Object.keys (row.validationErrors).length > 0
const canEdit =
row.importStatus === 'failed'
&& Object.keys (row.validationErrors).length === 0
|| (row.importStatus === 'pending' && hasValidationErrors)
const canRetry =
(row.importStatus === 'failed' || row.importStatus === 'pending')
&& !(hasValidationErrors)
return (
<div
key={row.sourceRow}
@@ -388,7 +390,7 @@ const PostImportResultPage: FC<Props> = ({ user }) => {
<div className="text-xs text-neutral-500 dark:text-neutral-400">
{row.url}
</div>
<FieldError messages={rowMessages (row)}/>
<FieldError messages={resultRowMessages (row)}/>
</div>
<div className="flex flex-col gap-2 sm:flex-row">