diff --git a/frontend/src/features/admin/media/MediaPanel.tsx b/frontend/src/features/admin/media/MediaPanel.tsx index 073a97a..3e7c90d 100644 --- a/frontend/src/features/admin/media/MediaPanel.tsx +++ b/frontend/src/features/admin/media/MediaPanel.tsx @@ -1,7 +1,7 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { useRef, useState } from 'react' import { useTranslation } from 'react-i18next' -import { Upload } from 'lucide-react' +import { ListPlus, Upload } from 'lucide-react' import { HttpError } from '@/shared/api/client' import type { MediaAssetDto, MediaAssetStatus } from '@/shared/api/types' import { Badge, type BadgeProps } from '@/shared/ui/badge' @@ -9,6 +9,7 @@ import { Button } from '@/shared/ui/button' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/shared/ui/select' import { toast } from '@/shared/ui/toast-store' import { deleteMedia, listMedia } from './api' +import { UploadToShowDialog } from './UploadToShowDialog' import { useUploadStore } from './upload-store' const PAGE_SIZE = 20 @@ -43,7 +44,9 @@ export function MediaPanel() { const { t } = useTranslation() const queryClient = useQueryClient() const fileInput = useRef(null) + const fileInputShow = useRef(null) const [filter, setFilter] = useState('active') + const [filesForShow, setFilesForShow] = useState(null) const enqueue = useUploadStore((s) => s.enqueue) const { data, isLoading } = useQuery({ @@ -92,6 +95,22 @@ export function MediaPanel() { e.target.value = '' }} /> + { + const files = e.target.files + if (files && files.length > 0) setFilesForShow(Array.from(files)) + e.target.value = '' + }} + /> +