* 🗂️ Added tab icons and styles * 🪑 Styled download panel table * 🪑 Cleaned up the DC++ search results table * 🪑 Many changes to DC++ downloads table * 🏗️ Wired up search with RQ * 🏗️ Changes to ComicDetail section * 🔧 Fixing table styes * 🏗 Fixed the archive ops panel * 🔧 Tweaked Archive ops further * 🃏 Styling the action menu * 🧩 CV Match panel refactor WIP * 🏗️ Refactored the action menu * 🤼 Cleaning up CV match panel * 🏗️ Refactored the scored matches * 🤼 Revamped CV match panel UX * 🖌️ Styling tweaks to the side panel * 🖌️ Cleaned up the form * 🏗️ Refactored the search form * 🤐 Added a uncompress indicator * 🏗️ Fix for encoding # in URIs * 🔧 Fixed # symbol handling in URLs * 🔧 Started work on Edit Metadata panel * 🔎 Added a check for existing uncompressed archives * 🏗️ Settings styling tweaks * 🏗️ Fixed invalidation of archiveOps * 🏗️ Fixed an invalidation query on DC++ download panel * 🏗️ Fixed CV-sourced Volume info panel * 🏗️ Fixed volume group card stacks on Dashboard * 🔍 Fixing CV search page * 🏗️ Refactoring Volume groups and wanted panel * 🏗️ Cleaning up useless files * 🛝 Added keen-slider for pull list * 🏗️ Abstracted heading/subheading into Header * 🏗️ Continued refactoring of PullList, Volumes etc. * 📆 Wired up the datepicker to LoCG pull list
67 lines
2.2 KiB
TypeScript
67 lines
2.2 KiB
TypeScript
import { isUndefined } from "lodash";
|
|
import React, { ReactElement } from "react";
|
|
|
|
export const ComicInfoXML = (data): ReactElement => {
|
|
const { json } = data;
|
|
return (
|
|
<div className="flex md:w-4/5 lg:w-78">
|
|
<dl className="dark:bg-yellow-600 bg-yellow-200 p-3 rounded-lg">
|
|
<dt>
|
|
<p className="text-lg">{json.series[0]}</p>
|
|
</dt>
|
|
<dd className="text-sm">
|
|
published by{" "}
|
|
<span className="underline">
|
|
{json.publisher[0]}
|
|
<i className="icon-[solar--arrow-right-up-outline] w-4 h-4" />
|
|
</span>
|
|
</dd>
|
|
<span className="inline-flex flex-row gap-2">
|
|
{/* Issue number */}
|
|
{!isUndefined(json.number) && (
|
|
<dd className="my-2">
|
|
<span className="inline-flex items-center bg-slate-50 text-sm text-slate-800 font-medium px-2 rounded-md dark:text-slate-900 dark:bg-slate-400">
|
|
<span className="pr-1 pt-1">
|
|
<i className="icon-[solar--hashtag-outline] w-4 h-4"></i>
|
|
</span>
|
|
<span className="text-slate-900 dark:text-slate-900">
|
|
{parseInt(json.number[0], 10)}
|
|
</span>
|
|
</span>
|
|
</dd>
|
|
)}
|
|
<dd className="my-2">
|
|
{/* Genre */}
|
|
<span className="inline-flex items-center bg-slate-50 text-slate-800 text-sm font-medium px-2 rounded-md dark:text-slate-900 dark:bg-slate-400">
|
|
<span className="pr-1 pt-1">
|
|
<i className="icon-[solar--sticker-smile-circle-bold-duotone] w-5 h-5"></i>
|
|
</span>
|
|
|
|
<span className="text-slate-500 dark:text-slate-900">
|
|
{json.genre[0]}
|
|
</span>
|
|
</span>
|
|
</dd>
|
|
</span>
|
|
|
|
<dd className="my-1">
|
|
{/* Summary */}
|
|
{!isUndefined(json.summary) && (
|
|
<span className="text-md text-slate-500 dark:text-slate-900">
|
|
{json.summary[0]}
|
|
</span>
|
|
)}
|
|
</dd>
|
|
<dd>
|
|
{/* Notes */}
|
|
<span className="text-sm text-slate-500 dark:text-slate-900">
|
|
{json.notes[0]}
|
|
</span>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default ComicInfoXML;
|