{"version":3,"mappings":"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","names":["ReportAuthorContent","lazy","__vitePreload","ReportAuthorButton","author","isLoggedIn","useIsLoggedIn","useMount","jsx","Fragment","Suspense","AuthorBio","bio","pluralize","text","jsxs","Text","TextLink","roundRating","oxfordCommaList","LocalizedDate","AuthorHeader","Avatar","Heading","_a","ExpandingText","Icon","faExternalLink","AuthorTabs","TabsNavContainer","TabLink"],"ignoreList":[],"sources":["../../../app/javascript/components/ReportDropdown/ReportAuthorButton/index.tsx","../../../app/javascript/components/authors/AuthorBio.tsx","../../../app/javascript/components/authors/AuthorHeader.tsx","../../../app/javascript/components/authors/AuthorTabs.tsx"],"sourcesContent":["import useMount from \"hooks/useMount\";\nimport useIsLoggedIn from \"hooks/user/useIsLoggedIn\";\nimport { Suspense, lazy } from \"react\";\nimport { PageSerializersAuthorsLayout } from \"types/serializers\";\n\nconst ReportAuthorContent = lazy(() => import(\"./ReportAuthorContent\"));\n\nexport default function ReportAuthorButton({ author }: { author: PageSerializersAuthorsLayout }) {\n const isLoggedIn = useIsLoggedIn();\n const mounted = useMount();\n\n if (!mounted || !isLoggedIn) {\n return <>;\n }\n\n return (\n \n \n \n );\n}\n","/* eslint-disable prefer-destructuring */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport LocalizedDate from \"components/shared/LocalizedDate\";\nimport Text from \"hardcover-ui/components/Text\";\nimport TextLink from \"hardcover-ui/components/TextLink\";\nimport { oxfordCommaList, topTags } from \"lib/array\";\nimport { roundRating } from \"lib/numberUtils\";\nimport pluralize from \"lib/pluralize\";\nimport { PageSerializersAuthorsLayout } from \"types/serializers\";\n\nexport default function AuthorBio({ author }: { author: PageSerializersAuthorsLayout }) {\n const bio = [];\n\n if (author.bornYear && author.deathYear) {\n bio.push(\n `${author.name} was born in ${author.bornYear} and died in ${author.deathYear}.`\n );\n } else if (author.bornYear) {\n bio.push(`${author.name} was born in ${author.bornYear}`);\n } else if (author.deathYear) {\n bio.push(`${author.name} died in ${author.deathYear}`);\n }\n\n bio.push(\n `${\n author.name\n } has written at least ${author.booksCount.toLocaleString()} ${pluralize(\n \"book\",\n author.booksCount\n )}.`\n );\n\n const text = bio.join(\", \");\n return (\n \n {text}\n {author.popularBook && (\n <>\n {\" \"}\n Their most popular book is{\" \"}\n \n {author.popularBook.title}\n {\" \"}\n with {author.popularBook.usersCount}{\" \"}\n {pluralize(\"save\", author.popularBook.usersCount)} with an average rating of{\" \"}\n {roundRating(author.popularBook.rating, 2)}⭐.\n \n )}\n {author.genres.length > 0 && (\n <>\n
\n
\n They are best known for writing in the{\" \"}\n {pluralize(\"genre\", author.genres.length)} {oxfordCommaList(author.genres)}.\n \n )}\n {author.moods.length > 0 && (\n <>\n
\n
\n {oxfordCommaList(author.moods)} {author.moods.length > 1 ? \"are\" : \"is\"} their most\n common moods.\n \n )}\n {author.nextBook && (\n <>\n {\" \"}\n Their next book,{\" \"}\n \n {author.nextBook.title}\n \n , is scheduled for release on{\" \"}\n .\n \n )}\n
\n );\n}","import ReportAuthorButton from \"components/ReportDropdown/ReportAuthorButton\";\nimport Heading from \"hardcover-ui/components/Heading\";\nimport Avatar from \"hardcover-ui/components/Avatar\";\nimport ExpandingText from \"components/ui/ExpandingText\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport faExternalLink from \"icons/regular/link.svg\";\nimport TextLink from \"hardcover-ui/components/TextLink\";\nimport { PageSerializersAuthorsLayout } from \"types/serializers\";\nimport AuthorBio from \"./AuthorBio\";\n\nexport default function AuthorHeader({ author }: { author: PageSerializersAuthorsLayout }) {\n return (\n <>\n
\n
\n \n \n
\n
\n {author.name}\n \n
\n
\n\n
\n {author.bio?.length > 0 && (\n
\n \n Author Bio\n \n \n
\n )}\n\n {author.links.length > 0 && (\n

\n \n {author.links[0].title}\n \n \n

\n )}\n
\n \n );\n}","import TabsNavContainer from \"components/shared/TabsNavContainer\";\nimport TabLink from \"hardcover-ui/components/TabLink\";\nimport { PageSerializersAuthorsLayout } from \"types/serializers\";\n\nexport default function AuthorTabs({\n author,\n}: {\n author: PageSerializersAuthorsLayout;\n}) {\n return (\n \n \n <>Books\n \n\n {author.seriesCount > 0 ? (\n \n <>Series\n \n ) : (\n false\n )}\n\n {author.compilationsCount > 0 ? (\n \n <>Collections\n \n ) : (\n false\n )}\n \n );\n}"],"file":"assets/AuthorTabs-z9C9qPzh.js"}