v1 feature: added playlists

This commit is contained in:
khannurien
2026-03-16 16:52:53 +00:00
parent 867e64cb5b
commit be426eb150
25 changed files with 2958 additions and 101 deletions

View File

@@ -8,6 +8,7 @@ import { useRequiredAuth } from "../hooks/useAuth.ts";
import { formatBytes } from "../utils/format.ts";
import { PageShell } from "../components/PageShell.tsx";
import { PageError } from "../components/PageError.tsx";
import { ConfirmModal } from "../components/ConfirmModal.tsx";
import RichContentCard from "../components/RichContentCard.tsx";
import FilePreview from "../components/FilePreview.tsx";
@@ -25,6 +26,7 @@ export function DumpEdit() {
const [url, setUrl] = useState("");
const [comment, setComment] = useState("");
const [newFile, setNewFile] = useState<File | null>(null);
const [confirmDelete, setConfirmDelete] = useState(false);
useEffect(() => {
if (!selectedDump) return;
@@ -229,7 +231,11 @@ export function DumpEdit() {
</div>
<div className="form-actions">
<button type="button" onClick={handleDelete} className="btn-danger">
<button
type="button"
onClick={() => setConfirmDelete(true)}
className="btn-danger"
>
Delete dump
</button>
<div className="form-actions-right">
@@ -241,6 +247,14 @@ export function DumpEdit() {
</div>
</form>
</div>
{confirmDelete && (
<ConfirmModal
message="Delete this dump? This cannot be undone."
confirmLabel="Delete dump"
onConfirm={handleDelete}
onCancel={() => setConfirmDelete(false)}
/>
)}
</PageShell>
);
}