From 94e21f9127f4506e222d420060a1622507386c4c Mon Sep 17 00:00:00 2001 From: Armen Rohalov Date: Wed, 26 Mar 2025 21:35:13 +0200 Subject: [PATCH] add a file filter --- src/components/MediaList/MediaList.css | 6 ++++++ src/components/MediaList/MediaList.js | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/components/MediaList/MediaList.css b/src/components/MediaList/MediaList.css index 9ab905e..0d95873 100644 --- a/src/components/MediaList/MediaList.css +++ b/src/components/MediaList/MediaList.css @@ -3,6 +3,12 @@ margin: 15px 0; } +.file-filter{ + box-sizing: border-box; + width: 100%; + padding: 4px 8px; +} + .file-list-group { padding: 0; list-style-type: none; diff --git a/src/components/MediaList/MediaList.js b/src/components/MediaList/MediaList.js index 506e777..07e77cd 100644 --- a/src/components/MediaList/MediaList.js +++ b/src/components/MediaList/MediaList.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { useDropzone } from 'react-dropzone'; import './MediaList.css' @@ -6,12 +6,25 @@ function MediaList({ files, selectedFile, onFileSelect, onDropNewFiles }) { const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop: onDropNewFiles, }); + const [filteredFiles, setFilteredFiles] = useState(files); + + useEffect(()=>{ + setFilteredFiles(files); + },[files]) + + + const handleInputChange = (e) => { + const value = e.target.value; + const filtered = files.filter((file) => file.name.toLowerCase().includes(value.toLowerCase())); + setFilteredFiles(filtered); + } return (

Files

+