このコミットが含まれているのは:
@@ -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">
|
||||
|
||||
新しい課題から参照
ユーザをブロックする