From f6650fc18dba24a109991a9e394f9fed26e99c3d Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Fri, 20 Aug 2021 09:17:27 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=84=20Beautified=20metadata=20tabs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/components/ComicDetail.tsx | 82 ++++++++++++++++++++++----- src/client/components/Library.tsx | 9 ++- 2 files changed, 77 insertions(+), 14 deletions(-) diff --git a/src/client/components/ComicDetail.tsx b/src/client/components/ComicDetail.tsx index 836f126..2be84cf 100644 --- a/src/client/components/ComicDetail.tsx +++ b/src/client/components/ComicDetail.tsx @@ -35,6 +35,7 @@ type ComicDetailProps = {}; export const ComicDetail = ({}: ComicDetailProps): ReactElement => { const [page, setPage] = useState(1); const [visible, setVisible] = useState(false); + const [isActionDropdownCollapsed, collapseActionDropdown] = useState(false); const comicVineSearchResults = useSelector( (state: RootState) => state.comicInfo.searchResults, @@ -50,6 +51,8 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { ); const { comicObjectId } = useParams<{ comicObjectId: string }>(); const dispatch = useDispatch(); + const toggleActionDropdown = () => + collapseActionDropdown(!isActionDropdownCollapsed); useEffect(() => { dispatch(getComicBookDetailById(comicObjectId)); @@ -77,6 +80,7 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { { id: 1, name: "Volume Information", + icon: , content: isComicBookMetadataAvailable ? ( <>
@@ -135,6 +139,7 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { }, { id: 2, + icon: , name: "Other Metadata", content:
bastard
, }, @@ -144,13 +149,16 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { <>
@@ -212,13 +220,13 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { let imagePath = ""; let comicBookTitle = ""; - if (!isNil(comicBookDetailData.rawFilDetails)) { + if (!isNil(comicBookDetailData.rawFileDetails)) { const encodedFilePath = encodeURI( "http://localhost:3000" + - removeLeadingPeriod(comicBookDetailData.rawFilDetails.path), + removeLeadingPeriod(comicBookDetailData.rawFileDetails.path), ); imagePath = escapePoundSymbol(encodedFilePath); - comicBookTitle = comicBookDetailData.rawFilDetails.name; + comicBookTitle = comicBookDetailData.rawFileDetails.name; } else if ( !isNil(comicBookDetailData.sourcedMetadata) && !isNil(comicBookDetailData.sourcedMetadata.comicvine) @@ -240,6 +248,7 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { hasDetails={false} />
+ {/* raw file details */}
{!isNil(comicBookDetailData.rawFileDetails) && ( <> @@ -247,21 +256,68 @@ export const ComicDetail = ({}: ComicDetailProps): ReactElement => { )} + {/* comic vine scraped metadata */} {!isNil(comicBookDetailData.sourcedMetadata.comicvine) && ( )} - +
+ +
+ +
diff --git a/src/client/components/Library.tsx b/src/client/components/Library.tsx index 9cc3ae5..a17f8f4 100644 --- a/src/client/components/Library.tsx +++ b/src/client/components/Library.tsx @@ -257,7 +257,6 @@ export const Library = ({}: IComicBookLibraryProps): ReactElement => { }), ); }, [pageIndex, pageSize]); - const comicBookLibraryItems = React.useMemo(() => {}); return (
@@ -307,15 +306,19 @@ export const Library = ({}: IComicBookLibraryProps): ReactElement => { + {/* pagination controls */}