"use client";
import { useState } from "react";
import Link from "next/link";
import { StreamActionLog } from "yt-dlp-transcript-common/components/StreamActionLog";
import { formatBytes } from "yt-dlp-transcript-common/lib/format";
import { Badge } from "yt-dlp-transcript-common/components/ui/badge";
import { cancelJobAction } from "../../jobs/actions";
import {
cleanAudioAction,
cleanExtraAudioFormatsAction,
removeWrongFormatAudioAction,
clearFailedTranscriptionsAction,
} from "../../channels/[slug]/whisperActions";
import { ChannelCleanupToggle } from "./ChannelCleanupToggle";
export type ChannelCleanupCardProps = {
slug: string;
name: string;
included: boolean;
transcribedBytes: number;
extraFormatsBytes: number;
foreignBytes: number;
hasTargetFormat: boolean;
failedTranscriptions: number;
};
export function ChannelCleanupCard({
slug,
name,
included,
transcribedBytes,
extraFormatsBytes,
foreignBytes,
hasTargetFormat,
failedTranscriptions,
}: ChannelCleanupCardProps) {
const queueKey = `channel:${slug}`;
const [armed, setArmed] = useState(false);
const nothingToReclaim =
transcribedBytes <= 0 && extraFormatsBytes <= 0 && foreignBytes <= 0;
const noHousekeeping = failedTranscriptions === 0;
return (
Nothing to reclaim in the last report.
{caption}
~{formatBytes(estimate)}