From f9f71fa90813c2cd2fd53f9bdf1159665bb22834 Mon Sep 17 00:00:00 2001 From: Roland Date: Thu, 2 Nov 2023 15:31:13 -0600 Subject: [PATCH] Searching all zips when searching for Software. --- app/src/components/Common.js | 7 +++++-- app/src/components/Files.js | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/components/Common.js b/app/src/components/Common.js index cb43d835..99006e5c 100644 --- a/app/src/components/Common.js +++ b/app/src/components/Common.js @@ -1188,6 +1188,9 @@ export const ColorToSemanticHexColor = (color) => { } export const filterToMimetypes = (filter) => { + const zipMimetypes = ['application/zip', 'application/zlib', 'application/x-bzip2', 'application/x-xz', 'application/x-bzip', 'application/x-bzip2', 'application/gzip', 'application/vnd.rar', 'application/x-tar', 'application/x-7z-compressed']; + const softwareMimetypes = [...zipMimetypes, 'application/x-iso9660-image', 'application/x-executable', 'application/x-dosexec']; + if (filter === 'video') { return ['video']; } else if (filter === 'archive') { @@ -1201,11 +1204,11 @@ export const filterToMimetypes = (filter) => { } else if (filter === 'image') { return ['image']; } else if (filter === 'zip') { - return ['application/zip', 'application/zlib', 'application/x-bzip2', 'application/x-xz', 'application/x-bzip', 'application/x-bzip2', 'application/gzip', 'application/vnd.rar', 'application/x-tar', 'application/x-7z-compressed']; + return zipMimetypes; } else if (filter === 'model') { return ['application/x-openscad', 'model/stl', 'application/sla', 'model/obj']; } else if (filter === 'software') { - return ['application/x-iso9660-image', 'application/x-executable', 'application/x-dosexec', 'application/x-bzip2', 'application/vnd.debian.binary-package', 'application/x-executable'] + return softwareMimetypes; } } diff --git a/app/src/components/Files.js b/app/src/components/Files.js index 11bd12f0..eacba3ba 100644 --- a/app/src/components/Files.js +++ b/app/src/components/Files.js @@ -448,6 +448,7 @@ export function TagsQuerySelector({onChange}) { } export function FileSearchFilterButton({size = 'medium'}) { + // see `filterToMimetypes` const filterOptions = [ {key: 'video', text: 'Video', value: 'video'}, {key: 'archive', text: 'Archive', value: 'archive'},