feat: filter list by mime
This commit is contained in:
parent
16a14de5d6
commit
e1fca9a604
@ -22,9 +22,9 @@ export class Route96 {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
async listFiles(page = 0, count = 10) {
|
async listFiles(page = 0, count = 10, mime: string | undefined) {
|
||||||
const rsp = await this.#req(
|
const rsp = await this.#req(
|
||||||
`admin/files?page=${page}&count=${count}`,
|
`admin/files?page=${page}&count=${count}${mime ? `&mime_type=${mime}` : ""}`,
|
||||||
"GET",
|
"GET",
|
||||||
);
|
);
|
||||||
const data = await this.#handleResponse<AdminResponseFileList>(rsp);
|
const data = await this.#handleResponse<AdminResponseFileList>(rsp);
|
||||||
|
@ -23,6 +23,7 @@ export default function Upload() {
|
|||||||
const [adminListedFiles, setAdminListedFiles] = useState<Nip96FileList>();
|
const [adminListedFiles, setAdminListedFiles] = useState<Nip96FileList>();
|
||||||
const [listedPage, setListedPage] = useState(0);
|
const [listedPage, setListedPage] = useState(0);
|
||||||
const [adminListedPage, setAdminListedPage] = useState(0);
|
const [adminListedPage, setAdminListedPage] = useState(0);
|
||||||
|
const [mimeFilter, setMimeFilter] = useState<string>();
|
||||||
|
|
||||||
const login = useLogin();
|
const login = useLogin();
|
||||||
const pub = usePublisher();
|
const pub = usePublisher();
|
||||||
@ -85,7 +86,7 @@ export default function Upload() {
|
|||||||
try {
|
try {
|
||||||
setError(undefined);
|
setError(undefined);
|
||||||
const uploader = new Route96(url, pub);
|
const uploader = new Route96(url, pub);
|
||||||
const result = await uploader.listFiles(n, 50);
|
const result = await uploader.listFiles(n, 50, mimeFilter);
|
||||||
setAdminListedFiles(result);
|
setAdminListedFiles(result);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (e instanceof Error) {
|
if (e instanceof Error) {
|
||||||
@ -135,7 +136,7 @@ export default function Upload() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
listAllUploads(adminListedPage);
|
listAllUploads(adminListedPage);
|
||||||
}, [adminListedPage]);
|
}, [adminListedPage, mimeFilter]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (pub && !self) {
|
if (pub && !self) {
|
||||||
@ -249,6 +250,18 @@ export default function Upload() {
|
|||||||
<hr />
|
<hr />
|
||||||
<h3>Admin File List:</h3>
|
<h3>Admin File List:</h3>
|
||||||
<Button onClick={() => listAllUploads(0)}>List All Uploads</Button>
|
<Button onClick={() => listAllUploads(0)}>List All Uploads</Button>
|
||||||
|
<div>
|
||||||
|
<select value={mimeFilter} onChange={e => setMimeFilter(e.target.value)}>
|
||||||
|
<option value={""}>All</option>
|
||||||
|
<option>image/webp</option>
|
||||||
|
<option>image/jpeg</option>
|
||||||
|
<option>image/jpg</option>
|
||||||
|
<option>image/png</option>
|
||||||
|
<option>image/gif</option>
|
||||||
|
<option>video/mp4</option>
|
||||||
|
<option>video/mov</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
{adminListedFiles && (
|
{adminListedFiles && (
|
||||||
<FileList
|
<FileList
|
||||||
files={adminListedFiles.files}
|
files={adminListedFiles.files}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user