+
{statusLabel || (running ? 'Scan in progress…' : 'Scan idle')}
{running ? (
) : (
diff --git a/src/features/subtitles/SubtitleExtractPage.tsx b/src/features/subtitles/SubtitleExtractPage.tsx
index 6a98b47..bf55ce1 100644
--- a/src/features/subtitles/SubtitleExtractPage.tsx
+++ b/src/features/subtitles/SubtitleExtractPage.tsx
@@ -76,14 +76,12 @@ function StatusPills({ g }: { g: SubSeriesGroup }) {
);
}
-// ─── Extraction bar ──────────────────────────────────────────────────────────
+// ─── Action box ──────────────────────────────────────────────────────────────
-function ExtractionBar({ count, onExtract }: { count: number; onExtract: () => void }) {
+function ActionBox({ count, onExtract }: { count: number | null; onExtract: () => void }) {
const [extracting, setExtracting] = useState(false);
const [result, setResult] = useState('');
- if (count === 0) return null;
-
const handleExtract = async () => {
setExtracting(true);
setResult('');
@@ -95,14 +93,20 @@ function ExtractionBar({ count, onExtract }: { count: number; onExtract: () => v
setExtracting(false);
};
+ const allDone = count !== null && count === 0;
+
return (
-
-
- {count} item{count !== 1 ? 's have' : ' has'} embedded subtitles ready to extract
-
-
+
+ {count === null && Loading...}
+ {allDone && All subtitles extracted}
+ {count !== null && count > 0 && (
+ <>
+ {count} item{count !== 1 ? 's have' : ' has'} embedded subtitles to extract
+
+ >
+ )}
{result && {result}}
);
@@ -219,9 +223,7 @@ export function SubtitleExtractPage() {
Subtitle Extraction
- {embeddedCount !== null && (
-
- )}
+
Loading... ;
if (!summary) return
Failed to load subtitle summary.
;
+ const totalFiles = summary.categories.reduce((sum, c) => sum + c.fileCount, 0);
+ const langCount = new Set(summary.categories.map((c) => c.language)).size;
+ const hasFiles = totalFiles > 0;
+
return (
Subtitle Manager
+
+ {hasFiles ? (
+ {totalFiles} extracted file{totalFiles !== 1 ? 's' : ''} across {langCount} language{langCount !== 1 ? 's' : ''} — select which to keep below
+ ) : (
+ No extracted subtitle files yet. Extract subtitles first.
+ )}
+
+