From c6e06ec08b167768bdbcb0f5ca75812a80e5b626 Mon Sep 17 00:00:00 2001 From: ashik-75 Date: Mon, 11 Sep 2023 17:04:20 +0600 Subject: [PATCH] add mimetype --- ui/public/mime/applause.mp3 | Bin 80640 -> 0 bytes ui/public/mime/data.json | 400 ++++++++++++++++++ .../General/CodeHighlightWithCopy/index.tsx | 2 +- .../Mimetype/components/MimeSearchResult.tsx | 42 ++ .../info/Mimetype/components/SearchBar.tsx | 36 ++ ui/src/pages/info/Mimetype/index.tsx | 21 +- .../pages/info/Mimetype/utils/constants.tsx | 118 ++---- ui/src/pages/info/Mimetype/utils/helper.ts | 12 + ui/src/pages/info/Mimetype/utils/types.ts | 13 +- 9 files changed, 536 insertions(+), 108 deletions(-) delete mode 100644 ui/public/mime/applause.mp3 create mode 100644 ui/public/mime/data.json create mode 100644 ui/src/pages/info/Mimetype/components/MimeSearchResult.tsx create mode 100644 ui/src/pages/info/Mimetype/components/SearchBar.tsx create mode 100644 ui/src/pages/info/Mimetype/utils/helper.ts diff --git a/ui/public/mime/applause.mp3 b/ui/public/mime/applause.mp3 deleted file mode 100644 index ed9c859e031cedd5f2b07d0ad2f7f681262fbd79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80640 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 diff --git a/ui/public/mime/data.json b/ui/public/mime/data.json new file mode 100644 index 00000000..6e526f6a --- /dev/null +++ b/ui/public/mime/data.json @@ -0,0 +1,400 @@ +[ + { + "name": ".aac", + "example": "AAC audio", + "code": { "content-type": "audio/aac" } + }, + { + "name": ".abw", + "example": "AbiWord document", + "code": { "content-type": "application/x-abiword" } + }, + { + "name": ".arc", + "example": "Archive document (multiple files embedded)", + "code": { "content-type": "application/x-freearc" } + }, + { + "name": ".avif", + "example": "AVIF image", + "code": { "content-type": "image/avif" } + }, + { + "name": ".avi", + "example": "AVI: Audio Video Interleave", + "code": { "content-type": "video/x-msvideo" } + }, + { + "name": ".azw", + "example": "Amazon Kindle eBook format", + "code": { "content-type": "application/vnd.amazon.ebook" } + }, + { + "name": ".bin", + "example": "Any kind of binary data", + "code": { "content-type": "application/octet-stream" } + }, + { + "name": ".bmp", + "example": "Windows OS/2 Bitmap Graphics", + "code": { "content-type": "image/bmp" } + }, + { + "name": ".bz", + "example": "BZip archive", + "code": { "content-type": "application/x-bzip" } + }, + { + "name": ".bz2", + "example": "BZip2 archive", + "code": { "content-type": "application/x-bzip2" } + }, + { + "name": ".cda", + "example": "CD audio", + "code": { "content-type": "application/x-cdf" } + }, + { + "name": ".csh", + "example": "C-Shell script", + "code": { "content-type": "application/x-csh" } + }, + { + "name": ".css", + "example": "Cascading Style Sheets (CSS)", + "code": { "content-type": "text/css" } + }, + { + "name": ".csv", + "example": "Comma-separated values (CSV)", + "code": { "content-type": "text/csv" } + }, + { + "name": ".doc", + "example": "Microsoft Word", + "code": { "content-type": "application/msword" } + }, + { + "name": ".docx", + "example": "Microsoft Word (OpenXML)", + "code": { + "content-type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document" + } + }, + { + "name": ".eot", + "example": "MS Embedded OpenType fonts", + "code": { "content-type": "application/vnd.ms-fontobject" } + }, + { + "name": ".epub", + "example": "Electronic publication (EPUB)", + "code": { "content-type": "application/epub+zip" } + }, + { + "name": ".gz", + "example": "GZip Compressed Archive", + "code": { "content-type": "application/gzip" } + }, + { + "name": ".gif", + "example": "Graphics Interchange Format (GIF)", + "code": { "content-type": "image/gif" } + }, + { + "name": ".htm", + "example": "HyperText Markup Language (HTML)", + "code": { "content-type": "text/html" } + }, + { + "name": ".html", + "example": "HyperText Markup Language (HTML)", + "code": { "content-type": "text/html" } + }, + { + "name": ".ico", + "example": "Icon format", + "code": { "content-type": "image/vnd.microsoft.icon" } + }, + { + "name": ".ics", + "example": "iCalendar format", + "code": { "content-type": "text/calendar" } + }, + { + "name": ".jar", + "example": "Java Archive (JAR)", + "code": { "content-type": "application/java-archive" } + }, + { + "name": ".jpeg", + "example": "JPEG images", + "code": { "content-type": "image/jpeg" } + }, + { + "name": ".jpg", + "example": "JPEG images", + "code": { "content-type": "image/jpeg" } + }, + { + "name": ".js", + "example": "JavaScript", + "code": { + "content-type": "text/javascript (Specifications: HTML and RFC 9239)" + } + }, + { + "name": ".json", + "example": "JSON format", + "code": { "content-type": "application/json" } + }, + { + "name": ".jsonld", + "example": "JSON-LD format", + "code": { "content-type": "application/ld+json" } + }, + { + "name": ".mid", + "example": "Musical Instrument Digital Interface (MIDI)", + "code": { "content-type": "audio/midi, audio/x-midi" } + }, + { + "name": ".midi", + "example": "Musical Instrument Digital Interface (MIDI)", + "code": { "content-type": "audio/midi, audio/x-midi" } + }, + { + "name": ".mjs", + "example": "JavaScript module", + "code": { "content-type": "text/javascript" } + }, + { + "name": ".mp3", + "example": "MP3 audio", + "code": { "content-type": "audio/mpeg" } + }, + { + "name": ".mp4", + "example": "MP4 video", + "code": { "content-type": "video/mp4" } + }, + { + "name": ".mpeg", + "example": "MPEG Video", + "code": { "content-type": "video/mpeg" } + }, + { + "name": ".mpkg", + "example": "Apple Installer Package", + "code": { "content-type": "application/vnd.apple.installer+xml" } + }, + { + "name": ".odp", + "example": "OpenDocument presentation document", + "code": { + "content-type": "application/vnd.oasis.opendocument.presentation" + } + }, + { + "name": ".ods", + "example": "OpenDocument spreadsheet document", + "code": { + "content-type": "application/vnd.oasis.opendocument.spreadsheet" + } + }, + { + "name": ".odt", + "example": "OpenDocument text document", + "code": { "content-type": "application/vnd.oasis.opendocument.text" } + }, + { + "name": ".oga", + "example": "OGG audio", + "code": { "content-type": "audio/ogg" } + }, + { + "name": ".ogv", + "example": "OGG video", + "code": { "content-type": "video/ogg" } + }, + { + "name": ".ogx", + "example": "OGG", + "code": { "content-type": "application/ogg" } + }, + { + "name": ".opus", + "example": "Opus audio", + "code": { "content-type": "audio/opus" } + }, + { + "name": ".otf", + "example": "OpenType font", + "code": { "content-type": "font/otf" } + }, + { + "name": ".png", + "example": "Portable Network Graphics", + "code": { "content-type": "image/png" } + }, + { + "name": ".pdf", + "example": "Adobe Portable Document Format (PDF)", + "code": { "content-type": "application/pdf" } + }, + { + "name": ".php", + "example": "Hypertext Preprocessor (Personal Home Page)", + "code": { "content-type": "application/x-httpd-php" } + }, + { + "name": ".ppt", + "example": "Microsoft PowerPoint", + "code": { "content-type": "application/vnd.ms-powerpoint" } + }, + { + "name": ".pptx", + "example": "Microsoft PowerPoint (OpenXML)", + "code": { + "content-type": "application/vnd.openxmlformats-officedocument.presentationml.presentation" + } + }, + { + "name": ".rar", + "example": "RAR archive", + "code": { "content-type": "application/vnd.rar" } + }, + { + "name": ".rtf", + "example": "Rich Text Format (RTF)", + "code": { "content-type": "application/rtf" } + }, + { + "name": ".sh", + "example": "Bourne shell script", + "code": { "content-type": "application/x-sh" } + }, + { + "name": ".svg", + "example": "Scalable Vector Graphics (SVG)", + "code": { "content-type": "image/svg+xml" } + }, + { + "name": ".tar", + "example": "Tape Archive (TAR)", + "code": { "content-type": "application/x-tar" } + }, + { + "name": ".tif", + "example": "Tagged Image File Format (TIFF)", + "code": { "content-type": "image/tiff" } + }, + { + "name": ".tiff", + "example": "Tagged Image File Format (TIFF)", + "code": { "content-type": "image/tiff" } + }, + { + "name": ".ts", + "example": "MPEG transport stream", + "code": { "content-type": "video/mp2t" } + }, + { + "name": ".ttf", + "example": "TrueType Font", + "code": { "content-type": "font/ttf" } + }, + { + "name": ".txt", + "example": "Text, (generally ASCII or ISO 8859-n)", + "code": { "content-type": "text/plain" } + }, + { + "name": ".vsd", + "example": "Microsoft Visio", + "code": { "content-type": "application/vnd.visio" } + }, + { + "name": ".wav", + "example": "Waveform Audio Format", + "code": { "content-type": "audio/wav" } + }, + { + "name": ".weba", + "example": "WEBM audio", + "code": { "content-type": "audio/webm" } + }, + { + "name": ".webm", + "example": "WEBM video", + "code": { "content-type": "video/webm" } + }, + { + "name": ".webp", + "example": "WEBP image", + "code": { "content-type": "image/webp" } + }, + { + "name": ".woff", + "example": "Web Open Font Format (WOFF)", + "code": { "content-type": "font/woff" } + }, + { + "name": ".woff2", + "example": "Web Open Font Format (WOFF)", + "code": { "content-type": "font/woff2" } + }, + { + "name": ".xhtml", + "example": "XHTML", + "code": { "content-type": "application/xhtml+xml" } + }, + { + "name": ".xls", + "example": "Microsoft Excel", + "code": { "content-type": "application/vnd.ms-excel" } + }, + { + "name": ".xlsx", + "example": "Microsoft Excel (OpenXML)", + "code": { + "content-type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" + } + }, + { + "name": ".xml", + "example": "XML", + "code": { + "content-type": "application/xml" + } + }, + { + "name": ".xul", + "example": "XUL", + "code": { "content-type": "application/vnd.mozilla.xul+xml" } + }, + { + "name": ".zip", + "example": "ZIP archive", + "code": { "content-type": "application/zip" } + }, + { + "name": ".3gp", + "example": "3GPP audio/video container", + "code": { + "content-type": "video/3gpp; audio/3gpp if it doesn't contain video" + } + }, + { + "name": ".3g2", + "example": "3GPP2 audio/video container", + "code": { + "content-type": "video/3gpp2; audio/3gpp2 if it doesn't contain video" + } + }, + { + "name": ".7z", + "example": "7-zip archive", + "code": { "content-type": "application/x-7z-compressed" } + } +] diff --git a/ui/src/components/General/CodeHighlightWithCopy/index.tsx b/ui/src/components/General/CodeHighlightWithCopy/index.tsx index d43c1b85..b4af6481 100644 --- a/ui/src/components/General/CodeHighlightWithCopy/index.tsx +++ b/ui/src/components/General/CodeHighlightWithCopy/index.tsx @@ -28,7 +28,7 @@ const CodeHighlightWithCopy: React.FC = ({ wrapLines language={language} style={isDarkMode ? obsidian : stackoverflowLight} - customStyle={{ padding: "20px 0" }} + customStyle={{ padding: "20px" }} > {codeString} diff --git a/ui/src/pages/info/Mimetype/components/MimeSearchResult.tsx b/ui/src/pages/info/Mimetype/components/MimeSearchResult.tsx new file mode 100644 index 00000000..4eeedd23 --- /dev/null +++ b/ui/src/pages/info/Mimetype/components/MimeSearchResult.tsx @@ -0,0 +1,42 @@ +import { Card, Table } from "antd"; +import React from "react"; +import MimeSearch from "./SearchBar"; +import { MIME_COLUMNS } from "../utils/constants"; +import { MimeSearchResultPropsType } from "../utils/types"; +import { useSearchParams } from "react-router-dom"; +import { filteredMimeType } from "../utils/helper"; + +const MimeSearchResult: React.FC = ({ + data, + isError, + isLoading, +}) => { + const [searchParams] = useSearchParams(); + + const searchQuery = searchParams.get("type") || ""; + + if (isError) { + return
Something went wrong!
; + } + + const list = data + ? searchQuery + ? filteredMimeType(data, searchQuery) + : data + : []; + return ( + + + + + ); +}; + +export default MimeSearchResult; diff --git a/ui/src/pages/info/Mimetype/components/SearchBar.tsx b/ui/src/pages/info/Mimetype/components/SearchBar.tsx new file mode 100644 index 00000000..bc7fcb7d --- /dev/null +++ b/ui/src/pages/info/Mimetype/components/SearchBar.tsx @@ -0,0 +1,36 @@ +import { useSearchParams } from "react-router-dom"; +import { useState, useEffect, ChangeEvent } from "react"; +import { ResponsiveInputWithLabel } from "components/General/FormComponents"; +import { Form } from "antd"; + +const MimeSearch: React.FC = () => { + const [searchParams, setSearchParams] = useSearchParams(); + const [queryParams, setQueryParams] = useState({ + q: searchParams.get("type") || "", + }); + + const { q: searchQuery } = queryParams; + + useEffect(() => { + setSearchParams(`?type=${searchQuery}`); + }, [searchQuery, setSearchParams]); + + const handleSearchChange = (e: ChangeEvent) => { + const value = e.target.value; + setQueryParams((prevParams) => ({ ...prevParams, q: value })); + }; + + return ( +
+ + + ); +}; + +export default MimeSearch; diff --git a/ui/src/pages/info/Mimetype/index.tsx b/ui/src/pages/info/Mimetype/index.tsx index 274566ec..e0e03ca6 100644 --- a/ui/src/pages/info/Mimetype/index.tsx +++ b/ui/src/pages/info/Mimetype/index.tsx @@ -1,19 +1,16 @@ -import { Table } from "antd"; import React from "react"; -import { MIME_COLUMNS, MIME_DATA } from "./utils/constants"; + +import useFetchList from "lib/utils/hooks/useFetchList"; +import MimeSearchResult from "./components/MimeSearchResult"; const Mimetype: React.FC = () => { + const { data, isError, isLoading } = useFetchList( + "mime", + "/mime/data.json" + ); + return ( -
-
"Features"} - bordered - scroll={{ x: "calc(50%)" }} - /> - + ); }; diff --git a/ui/src/pages/info/Mimetype/utils/constants.tsx b/ui/src/pages/info/Mimetype/utils/constants.tsx index bd6d240b..834c6145 100644 --- a/ui/src/pages/info/Mimetype/utils/constants.tsx +++ b/ui/src/pages/info/Mimetype/utils/constants.tsx @@ -1,110 +1,46 @@ import { ColumnsType } from "antd/es/table"; -import { MIME_TABLE_TYPE } from "./types"; +import { MimeTableDataType } from "./types"; +import { Tag } from "antd"; +import CodeHighlightWithCopy from "components/General/CodeHighlightWithCopy"; -// Define a function to render different MIME types -const renderMIMEType = (value: string) => { - if ( - value.endsWith(".jpg") || - value.endsWith(".jpeg") || - value.endsWith(".png") || - value.endsWith(".avif") - ) { - return ( -
- -
- ); - } - - if (value.endsWith(".mp3")) { - return ( -
- -
- ); - } - if (value.endsWith(".mp4")) { - return ( -
- -
- ); - } - return {value}; -}; - -// Define MIME_COLUMNS as a constant array of column configurations -const MIME_COLUMNS: ColumnsType = [ +// Column +const MIME_COLUMNS: ColumnsType = [ { title: "Name", dataIndex: "name", key: "name", + render: (value) => { + return {value}; + }, }, { title: "Example", dataIndex: "example", key: "example", - render: renderMIMEType, + render: (value) => { + return ( +
+

{value}

+
+ ); + }, }, { title: "Code", dataIndex: "code", key: "code", + width: 200, + render: (value) => { + return ( +
+ +
+ ); + }, }, ]; -// Define MIME_DATA as a constant array of data -const MIME_DATA: MIME_TABLE_TYPE[] = [ - { - key: "1", - name: ".json", - example: `{"x": 1}`, - code: "application/json", - }, - { - key: "2", - name: ".jpeg or .jpg", - example: `/mime/image.jpg`, - code: "image/jpeg", - }, - { - key: "3", - name: ".js", - example: `let x = 10;`, - code: "text/javascript", - }, - { - key: "4", - name: ".mp3", - example: `/mime/applause.mp3`, - code: "audio/mpeg", - }, - { - key: "5", - name: ".mp4", - example: `/mime/video.mp4`, - code: "video/mp4", - }, - { - key: "6", - name: ".avif", - example: `/mime/avif.avif`, - code: "video/mp4", - }, - { - key: "7", - name: ".mp4", - example: `/mime/pdf.png`, - code: "video/mp4", - }, -]; - -export { MIME_COLUMNS, MIME_DATA }; +export { MIME_COLUMNS }; diff --git a/ui/src/pages/info/Mimetype/utils/helper.ts b/ui/src/pages/info/Mimetype/utils/helper.ts new file mode 100644 index 00000000..17f50c6f --- /dev/null +++ b/ui/src/pages/info/Mimetype/utils/helper.ts @@ -0,0 +1,12 @@ +import { MimeTableDataType } from "./types"; + +function filteredMimeType(items: MimeTableDataType[], searchQuery: string) { + const lowercaseSearchQuery = searchQuery.toLowerCase(); + return items.filter( + (item) => + item.name.includes(lowercaseSearchQuery) || + item?.code?.["content-type"]?.includes(lowercaseSearchQuery) + ); +} + +export { filteredMimeType }; diff --git a/ui/src/pages/info/Mimetype/utils/types.ts b/ui/src/pages/info/Mimetype/utils/types.ts index 38f11b10..afe5a723 100644 --- a/ui/src/pages/info/Mimetype/utils/types.ts +++ b/ui/src/pages/info/Mimetype/utils/types.ts @@ -1,8 +1,13 @@ -interface MIME_TABLE_TYPE { - key: string; +interface MimeTableDataType { name: string; example: string; - code: string; + code: { "content-type": string }; } -export type { MIME_TABLE_TYPE }; +interface MimeSearchResultPropsType { + data: MimeTableDataType[]; + isLoading: boolean; + isError: boolean; +} + +export type { MimeTableDataType, MimeSearchResultPropsType };