mirror of
https://github.com/azaion/ui.git
synced 2026-04-22 09:16:35 +00:00
add a file filter
This commit is contained in:
@@ -3,6 +3,12 @@
|
|||||||
margin: 15px 0;
|
margin: 15px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.file-filter{
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
padding: 4px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.file-list-group {
|
.file-list-group {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import React from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import { useDropzone } from 'react-dropzone';
|
import { useDropzone } from 'react-dropzone';
|
||||||
import './MediaList.css'
|
import './MediaList.css'
|
||||||
|
|
||||||
@@ -6,12 +6,25 @@ function MediaList({ files, selectedFile, onFileSelect, onDropNewFiles }) {
|
|||||||
const { getRootProps, getInputProps, isDragActive } = useDropzone({
|
const { getRootProps, getInputProps, isDragActive } = useDropzone({
|
||||||
onDrop: onDropNewFiles,
|
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 (
|
return (
|
||||||
<div className='explorer'>
|
<div className='explorer'>
|
||||||
<h3 className='menu-title' >Files</h3>
|
<h3 className='menu-title' >Files</h3>
|
||||||
|
<input className='file-filter' type='text' placeholder='Filename' onChange={handleInputChange}/>
|
||||||
<ul className='file-list-group' >
|
<ul className='file-list-group' >
|
||||||
{files.map((file) => (
|
{filteredFiles.map((file) => (
|
||||||
<li
|
<li
|
||||||
className='file-list-item'
|
className='file-list-item'
|
||||||
key={file.name}
|
key={file.name}
|
||||||
|
|||||||
Reference in New Issue
Block a user