From e59fd98b43070898c594c35af1a0bbee604ad160 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Wed, 4 Feb 2026 14:02:05 +0000 Subject: feat(import): new import details page (#2451) * feat(import): new import details page * fix typecheck * review comments --- apps/web/components/settings/ImportSessionCard.tsx | 6 + .../components/settings/ImportSessionDetail.tsx | 596 +++++++++++++++++++++ 2 files changed, 602 insertions(+) create mode 100644 apps/web/components/settings/ImportSessionDetail.tsx (limited to 'apps/web/components/settings') diff --git a/apps/web/components/settings/ImportSessionCard.tsx b/apps/web/components/settings/ImportSessionCard.tsx index f20710ca..f62a00dd 100644 --- a/apps/web/components/settings/ImportSessionCard.tsx +++ b/apps/web/components/settings/ImportSessionCard.tsx @@ -242,6 +242,12 @@ export function ImportSessionCard({ session }: ImportSessionCardProps) { {/* Actions */}
+ {canPause && ( + )} + {canResume && ( + + )} + {canDelete && ( + + {t("settings.import_sessions.delete_dialog_description", { + name: stats.name, + })} +
+ } + actionButton={(setDialogOpen) => ( + + )} + > + + + )} +
+ + + + + {/* Filter tabs + Results table */} +
+ setFilter(v as FilterType)} + className="w-full" + > + + + {t("settings.import_sessions.detail.filter_all")} + + + {t("settings.import_sessions.detail.filter_accepted")} + + + {t("settings.import_sessions.detail.filter_rejected")} + + + {t("settings.import_sessions.detail.filter_duplicates")} + + + {t("settings.import_sessions.detail.filter_pending")} + + + + + {isResultsLoading ? ( + + ) : items.length === 0 ? ( +

+ {t("settings.import_sessions.detail.no_results")} +

+ ) : ( +
+ + + + + {t("settings.import_sessions.detail.table_title")} + + + {t("settings.import_sessions.detail.table_type")} + + + {t("settings.import_sessions.detail.table_result")} + + + {t("settings.import_sessions.detail.table_reason")} + + + {t("settings.import_sessions.detail.table_bookmark")} + + + + + {items.map((item) => ( + + + {getTitleDisplay( + item, + t("settings.import_sessions.detail.no_title"), + )} + + + + {getTypeIcon(item.type)} + {getTypeLabel(item.type, t)} + + + + {getResultBadge(item.status, item.result, t)} + + + {item.resultReason || "—"} + + + {item.resultBookmarkId ? ( + + + {t("settings.import_sessions.detail.view_bookmark")} + + ) : ( + + )} + + + ))} + +
+ {hasNextPage && ( +
+ fetchNextPage()} + variant="ghost" + > + {t("settings.import_sessions.detail.load_more")} + +
+ )} +
+ )} +
+ + ); +} -- cgit v1.2.3-70-g09d2