このコミットが含まれているのは:
2026-07-15 20:25:51 +09:00
コミット d2f1b1ed48
13個のファイルの変更85行の追加196行の削除
+9 -7
ファイルの表示
@@ -34,12 +34,15 @@ const MAX_ROWS = 100
const SOURCE_ERROR_ID = 'post-import-source-error'
const SOURCE_ISSUES_ID = 'post-import-source-issues'
const urlIssuesFromRows = (rows: PostImportRow[]) =>
rows.flatMap (row =>
const urlIssuesFromRows = (rows: PostImportRow[], source: string) => {
const sourceLines = source.split (/\r\n|\n|\r/)
return rows.flatMap (row =>
(row.validationErrors.url ?? []).map (message => ({
sourceRow: row.sourceRow,
message,
url: row.url })))
url: sourceLines[row.sourceRow - 1]?.trim () ?? row.url })))
}
const PostImportSourcePage: FC<Props> = ({ user }) => {
@@ -108,7 +111,7 @@ const PostImportSourcePage: FC<Props> = ({ user }) => {
{
const data = await apiPost<{ rows: PostImportRow[] }> ('/posts/import/preview', {
source })
const urlIssues = urlIssuesFromRows (data.rows)
const urlIssues = urlIssuesFromRows (data.rows, source)
if (urlIssues.length > 0)
{
setSourceIssues (urlIssues)
@@ -151,7 +154,7 @@ const PostImportSourcePage: FC<Props> = ({ user }) => {
<title>{`投稿インポート | ${ SITE_TITLE }`}</title>
</Helmet>
<Form className="max-w-4xl p-0">
<Form className="max-w-4xl">
<PageTitle>稿</PageTitle>
<FormField label="URL リスト">
{() => (
@@ -162,8 +165,7 @@ const PostImportSourcePage: FC<Props> = ({ user }) => {
aria-describedby={sourceDescribedBy || undefined}
className={inputClass (
messages.length > 0 || sourceIssues.length > 0,
'font-mono text-sm',
)}
'font-mono text-sm')}
onBlur={() => {
savePostImportSourceDraft (source, message =>
toast ({