diff --git a/package.json b/package.json
index 50d0450..9b3735e 100644
--- a/package.json
+++ b/package.json
@@ -44,6 +44,7 @@
"express": "^4.17.1",
"fastest-validator": "^1.11.0",
"final-form": "^4.20.2",
+ "html-to-text": "^8.1.0",
"jsdoc": "^3.6.7",
"opds-extra": "^3.0.9",
"pretty-bytes": "^5.6.0",
diff --git a/src/client/assets/scss/App.scss b/src/client/assets/scss/App.scss
index 9fa1857..c4bf6e9 100644
--- a/src/client/assets/scss/App.scss
+++ b/src/client/assets/scss/App.scss
@@ -371,7 +371,7 @@ $size-8: 0.9rem;
left: 1.5rem;
border: 2px dotted #CCC;
width:20px;
- min-height:25px;
+ min-height:35px;
border-color: transparent transparent #F3A22D #F3A22D;
border-bottom-left-radius: 10px;
diff --git a/src/client/components/MatchResult.tsx b/src/client/components/MatchResult.tsx
index 3da6161..9839d72 100644
--- a/src/client/components/MatchResult.tsx
+++ b/src/client/components/MatchResult.tsx
@@ -1,7 +1,9 @@
import React, { useCallback } from "react";
import { useDispatch, useSelector } from "react-redux";
-import { map } from "lodash";
+import { isNil, map } from "lodash";
import { applyComicVineMatch } from "../actions/comicinfo.actions";
+import { convert } from "html-to-text";
+import ellipsize from "ellipsize";
interface MatchResultProps {
matchData: any;
@@ -24,6 +26,14 @@ export const MatchResult = (props: MatchResultProps) => {
return (
<>
{map(props.matchData, (match, idx) => {
+ let issueDescription = "";
+ if (!isNil(match.description)) {
+ issueDescription = convert(match.description, {
+ baseElements: {
+ selectors: ["p"],
+ },
+ });
+ }
return (
@@ -55,7 +65,7 @@ export const MatchResult = (props: MatchResultProps) => {
- {match.deck}
+ {ellipsize(issueDescription, 300)}
@@ -93,11 +103,10 @@ export const MatchResult = (props: MatchResultProps) => {
-
-
-
+
);
diff --git a/src/client/components/RecentlyImported.tsx b/src/client/components/RecentlyImported.tsx
index a02e487..8c7f4c5 100644
--- a/src/client/components/RecentlyImported.tsx
+++ b/src/client/components/RecentlyImported.tsx
@@ -76,11 +76,11 @@ export const RecentlyImported = ({
)}
{/* Issue type */}
{!isUndefined(sourcedMetadata.comicvine) &&
- !isNil(
- detectIssueTypes(
- sourcedMetadata.comicvine.volumeInformation.description,
- ),
- ) ? (
+ !isNil(
+ detectIssueTypes(
+ sourcedMetadata.comicvine.volumeInformation.description,
+ ),
+ ) ? (
{
detectIssueTypes(
diff --git a/src/client/shared/utils/filenameparser.utils.ts b/src/client/shared/utils/filenameparser.utils.ts
index 6e6722b..f375e99 100644
--- a/src/client/shared/utils/filenameparser.utils.ts
+++ b/src/client/shared/utils/filenameparser.utils.ts
@@ -201,7 +201,7 @@ export const refineQuery = (inputString: string) => {
return {
searchParams: {
searchTerms: {
- name: queryObj.comicbook_identifier_tokens.inputString,
+ name: queryObj.comicbook_identifier_tokens.inputString.trim(),
number: queryObj.comicbook_identifier_tokens.parsedIssueNumber,
year: queryObj.years?.toString(),
subtitle: queryObj.comicbook_identifier_tokens.subtitle,
diff --git a/yarn.lock b/yarn.lock
index cc30338..0c83d46 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1672,6 +1672,14 @@
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.0.tgz#6734f8ebc106a0860dff7f92bf90df193f0935d7"
integrity sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==
+"@selderee/plugin-htmlparser2@^0.6.0":
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz#27e994afd1c2cb647ceb5406a185a5574188069d"
+ integrity sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==
+ dependencies:
+ domhandler "^4.2.0"
+ selderee "^0.6.0"
+
"@sindresorhus/is@^0.7.0":
version "0.7.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
@@ -4808,6 +4816,11 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
+discontinuous-range@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
+ integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=
+
dns-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
@@ -6775,6 +6788,18 @@ html-minifier-terser@^5.0.1:
relateurl "^0.2.7"
terser "^4.6.3"
+html-to-text@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-8.1.0.tgz#0c35fc452e6eccb275669adb8bcc61d93ec43ed5"
+ integrity sha512-Z9iYAqYK2c18GswSbnxJSeMs7lyJgwR2oIkDOyOHGBbYsPsG4HvT379jj3Lcbfko8A5ceyyMHAfkmp/BiXA9/Q==
+ dependencies:
+ "@selderee/plugin-htmlparser2" "^0.6.0"
+ deepmerge "^4.2.2"
+ he "^1.2.0"
+ htmlparser2 "^6.1.0"
+ minimist "^1.2.5"
+ selderee "^0.6.0"
+
html-webpack-plugin@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz#7b04bf80b1f6fe84a6d3f66c8b79d64739321b08"
@@ -9208,6 +9233,11 @@ moment@^2.14.1, moment@^2.29.1:
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+moo@^0.5.0, moo@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4"
+ integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==
+
mozjpeg@^7.0.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/mozjpeg/-/mozjpeg-7.1.0.tgz#23f202f3e48e98f02ed84f415358d4cbfab66c19"
@@ -9307,6 +9337,16 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+nearley@^2.20.1:
+ version "2.20.1"
+ resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.20.1.tgz#246cd33eff0d012faf197ff6774d7ac78acdd474"
+ integrity sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==
+ dependencies:
+ commander "^2.19.0"
+ moo "^0.5.0"
+ railroad-diagrams "^1.0.0"
+ randexp "0.4.6"
+
negotiator@0.6.2, negotiator@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
@@ -10205,6 +10245,14 @@ parse5@6.0.1:
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+parseley@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/parseley/-/parseley-0.7.0.tgz#9949e3a0ed05c5072adb04f013c2810cf49171a8"
+ integrity sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==
+ dependencies:
+ moo "^0.5.1"
+ nearley "^2.20.1"
+
parseqs@0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5"
@@ -10962,6 +11010,19 @@ raf@^3.0.0:
dependencies:
performance-now "^2.1.0"
+railroad-diagrams@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
+ integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=
+
+randexp@0.4.6:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
+ integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==
+ dependencies:
+ discontinuous-range "1.0.0"
+ ret "~0.1.10"
+
randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -11977,6 +12038,13 @@ seek-bzip@^1.0.5:
dependencies:
commander "^2.8.1"
+selderee@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/selderee/-/selderee-0.6.0.tgz#f3bee66cfebcb6f33df98e4a1df77388b42a96f7"
+ integrity sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==
+ dependencies:
+ parseley "^0.7.0"
+
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"