{"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 {pageData}\n {book.rating && (\n <>\n {\" \"}\n • {roundRating(book.rating, 1)}{\" \"}\n \n \n )}\n \n );\n}\n","import ContributionsList from \"components/authors/ContributionsList\";\nimport { BookSeriesTag } from \"components/series/BookSeriesTag\";\nimport CoverLink from \"components/Cover/CoverLink\";\nimport TextLink from \"hardcover-ui/components/TextLink\";\nimport { ResizeableBookButton } from \"features/BookButton\";\nimport BookHighlights from \"components/BookRow/BookHighlights\";\nimport { BookSerializersBookByline, EditionSerializersEditionByline } from \"types/serializers\";\nimport BookMatchPercentageForUser from \"components/match/BookMatchPercentage/BookMatchPercentageForUser\";\n\ninterface Props {\n book: BookSerializersBookByline;\n edition?: EditionSerializersEditionByline;\n size: \"sm\" | \"md\" | \"lg\";\n className?: string;\n children?: React.ReactNode;\n referrerUserId?: number;\n settings?: {\n showInfoClass?: string;\n linkContributions?: boolean;\n };\n}\n\nexport default function BookRow({\n book,\n edition,\n size = \"md\",\n className = \"\",\n referrerUserId,\n children,\n settings = {\n showInfoClass: \"\",\n linkContributions: false,\n },\n}: Props) {\n const coverSize = size === \"lg\" ? \"md\" : size === \"md\" ? \"sm\" : \"xs\";\n\n return (\n
\n
\n \n
\n
\n

\n \n \n

\n
\n \n {edition ? edition.title : book.title}\n \n 0 ? edition.contributions : book.contributions}\n link={settings.linkContributions || false}\n size=\"xs\"\n primary\n byLine\n />\n
\n
\n { children ? children : }\n
\n \n
\n
\n
\n
\n );\n}\n"],"names":["BookHighlights","book","edition","settings","pageInfo","dateAsWords","ReadingFormatByID","pluralize","ReadingFormatByFormat","secondsFormat","_a","_b","released","isBookReleased","pageData","jsxs","Text","Fragment","roundRating","jsx","Icon","faStar","BookRow","size","className","referrerUserId","children","coverSize","CoverLink","BookSeriesTag","BookMatchPercentageForUser","TextLink","ContributionsList","ResizeableBookButton"],"mappings":"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"}