{"version":3,"file":"BookRow-ByqVNOgO.js","sources":["../../../app/javascript/components/BookRow/BookHighlights.tsx","../../../app/javascript/components/Bookcards/BookRow/BookRow.tsx"],"sourcesContent":["import Icon from \"hardcover-ui/components/Icon\";\nimport Text from \"hardcover-ui/components/Text\";\nimport { isBookReleased, secondsFormat } from \"lib/bookUtils\";\nimport { roundRating } from \"lib/numberUtils\";\nimport pluralize from \"lib/pluralize\";\nimport BookType from \"types/BookType\";\nimport faStar from \"icons/solid/star.svg\";\nimport { dateAsWords } from \"lib/dateFormat\";\nimport {\n BookSerializersBookByline,\n EditionSerializersEditionByline,\n LetterbooksSerializersBook,\n} from \"types/serializers\";\nimport {\n ReadingFormatByFormat,\n ReadingFormatByID,\n} from \"types/ReadingFormatType\";\n\ninterface Props {\n book: BookType | LetterbooksSerializersBook | BookSerializersBookByline;\n edition?: EditionSerializersEditionByline;\n settings?: {\n showInfoClass: string;\n };\n}\n\nexport default function BookHighlights({\n book,\n edition,\n settings = {\n showInfoClass: \"\",\n },\n}: Props) {\n const pageInfo = [];\n\n if (edition) {\n if (edition.releaseYear) {\n pageInfo.push(edition.releaseYear);\n } else if (edition.releaseDate) {\n pageInfo.push(dateAsWords(edition.releaseDate));\n }\n pageInfo.push(ReadingFormatByID[edition.readingFormatId].format);\n\n if (edition.usersCount > 0) {\n pageInfo.push(\n `${edition.usersCount.toLocaleString()} ${pluralize(\n \"Reader\",\n edition.usersCount\n )}`\n );\n }\n\n if (edition.readingFormatId === ReadingFormatByFormat.audio) {\n if (edition.audioSeconds > 0) {\n pageInfo.push(secondsFormat(edition.audioSeconds));\n }\n } else {\n if (edition.pages > 0) {\n pageInfo.push(\n `${edition.pages.toLocaleString()} ${pluralize(\"page\", edition.pages)}`\n );\n }\n }\n\n if (edition.editionFormat?.length > 0) {\n pageInfo.push(`Format ${edition.editionFormat}`);\n }\n if (edition.editionInformation?.length > 0) {\n pageInfo.push(`Info ${edition.editionInformation}`);\n }\n if (edition.asin) {\n pageInfo.push(edition.asin);\n }\n } else {\n const released = isBookReleased(book as BookType);\n if (book.releaseYear) {\n if (released) {\n pageInfo.push(book.releaseYear);\n } else if (book.releaseDate) {\n pageInfo.push(`Available ${dateAsWords(book.releaseDate)}`);\n } else {\n pageInfo.push(`Available in ${book.releaseYear}`);\n }\n }\n if (book.usersCount > 0) {\n pageInfo.push(\n `${book.usersCount.toLocaleString()} ${pluralize(\n \"Reader\",\n book.usersCount\n )}`\n );\n }\n\n if (book.pages > 0) {\n pageInfo.push(\n `${book.pages.toLocaleString()} ${pluralize(\"page\", book.pages)}`\n );\n }\n if (book.audioSeconds > 0) {\n pageInfo.push(secondsFormat(book.audioSeconds));\n }\n }\n const pageData = pageInfo.join(\" • \");\n\n return (\n
\n