{"version":3,"mappings":"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","names":["useIsCurrentPageInitial","pathName","usePage","pathStack","setPathStack","useState","useEffect","newPath","BackLink","className","handleGoBack","useCallback","jsxs","Button","jsx","Icon","faChevronLeft","logos","HardcoverLogo","LogoVariant","LogoSymbol","combinedClassName","LogoLink","url","Link","LogoOrBackLink","children","isPageInitial","isDesktopVersionActive","useIsScreenSizeBiggerThanTailwindSize","isHomePage","isLoggedIn","useIsLoggedIn","shouldLogoLinkBeShown","Backlink","MAIN_NAVIGATION_HEIGHT","TAB_LINKS_NAVIGATION_HEIGHT","tagPathRegex","userPathRegex","useTransparentNav","useVerticalScrollPosition","scrollPosition","setScrollPosition","direction","setDirection","prevScrollPosition","useRef","updatePosition","throttledUpdate","throttle","HIDE_NAV_BREAKPOINT_IN_PX","useIsNavVisible","isNavVisible","setIsNavVisible","top","setTop","NavWrapper","isTransparent","classNames","QuickSearchButton","props","dispatch","useDispatch","toggleQuickSearch","searchActions","QuickSearchButtonWrapper","searchText","setSearchText","onKeyDown","e","isHotkey","Fragment","faSearch","OnboardHider","onboarded","useCurrentUser","u","SvgBookCopy","React.createElement","SvgFlask","SvgScroll","SvgChartLineUp","SvgWandSparkles","SvgTrophyStar","MenuItem","icon","text","description","variant","Text","SvgCalendarCheck","labStyles","DiscoverMenu","loggedIn","scroll","trending","faCalendar","wand","flask","chevronDown","yearInBooks","SvgRectangleHistory","SvgHatWizard","SvgCommentSmile","BrowseMenu","thumbsup","lists","wizardhat","moods","SvgLampDesk","Brightness","style","ThemeChanger","theme","toggleTheme","useTheme","faLampDeskDuotone","JulesRocket","PricingLink","SvgBookOpenCover","SvgBackpack","SvgBullseyeArrow","SvgChartMixed","SvgMessageHeart","SvgGear","isUndefined","value","isUndefined_1","getNotificationsCount","gql","POLL_INTERVAL","NotificationsUpdater","userId","useCurrentUserId","data","startPolling","useQuery","currentUserActions","NotificationIndicator","initialNotificationsCount","hasNotifications","setHasNotifications","currentNotificationsCount","CurrentUserAvatar","size","image","Avatar","MenuClass","UserMenuItem","MenuThemeChanger","lamp","SvgRightFromBracket","useSignOut","csrfToken","_a","response","toast","router","MenuSignOut","signOut","signout","SvgBell","MenuNotifications","bell","Badge","UserMenu","username","DropdownIndicator","wanttoread","reading","read","owned","stats","reviews","prompts","goals","settings","SvgArrowRightFromBracket","LogoutLinkActive","active","menuItemTheme","faSignOut","menuIconTheme","UserSpecificMenu","isOnboarded","pro","UserJoinButton","SvgPartyHorn","YearInBooksLink","partyHorn","DesktopNavLinks","hoveredButton","setHoveredButton","lastHoveredButton","setLastHoveredButton","dropdownHovered","setDropdownHovered","isButtonHovered","button","changeHoveredButton","startTransition","sparkles","books","SvgBullhorn","MyLibraryLinkInactive","onClick","loading","LoadingSpinner","faBullhorn","MobileSubscriptionModalActive","lazy","__vitePreload","ExploreLink","clicked","setClicked","Suspense","MobileSubscriptionModalInactive","ToggleSidebarButton","MobileUserNavSidepanelActive","MobileUserNavSidepanel","LogoutLinkInactive","LogoutLink","ShareButton","linkIcon","ShareButtonActive","ShareButtonInactive","MobileNavLinks","MobileSubscriptionModal","Nav","SvgHouse","SvgTelescope","KeyboardStyle","KeyboardResize","Keyboard","registerPlugin","HideIfKeyboardVisible","mounted","useMount","keyboardShowing","setKeyboardShowing","Capacitor","findIfPathMatch","href","currentPath","greedy","ActiveLink","activeClassName","badge","badgeClass","initialPathname","setActive","doesPathnameMatchLinkHref","CountBadge","MobileBottomNavContent","MobileBottomNavLink","ActiveLinkStyle","InactiveLinkStyle","MobileBottomNav","faBookOpen","useNativeSafeArea","safeAreaCssVariable","propName","stylesObject","setStylesObject","sizeAsNumber","setSizeAsNumber","getSizAsNumber","_b","MobileBottomNavWrapper","nativeSafeAreaConditionalPaddingStyles","MobileFooter","faHouse","CurrentUserLibraryLink","faTelescope","faChartUp","SvgInstagram","SvgTiktok","SvgMastodon","SvgAppStoreIos","SvgAndroid","RowingJules","SvgCircleInfo","navigation","faApple","faAndroid","faDiscord","faTiktok","faMastodon","faInstagram","DesktopFooter","Container","TextLink","info","CopyLinkWrapper","link","item","Footer","DefaultLayout","GlobalLayout","DefaultLayoutWrapper","page"],"ignoreList":[37,71,72],"sources":["../../../app/javascript/hooks/useIsCurrentPageInitial.ts","../../../app/javascript/features/Nav/components/Nav/parts/Backlink.tsx","../../../app/javascript/features/Nav/components/Nav/parts/LogoSymbol.tsx","../../../app/javascript/features/Nav/components/Nav/parts/LogoLink.tsx","../../../app/javascript/features/Nav/components/Nav/parts/LogoOrBackLink.tsx","../../../app/javascript/constants/navigation.ts","../../../app/javascript/features/Nav/hooks/useTransparentNav.tsx","../../../app/javascript/hooks/useVerticalScrollPosition.ts","../../../app/javascript/features/Nav/hooks/useIsNavVisible.ts","../../../app/javascript/features/Nav/components/Nav/NavWrapper.tsx","../../../app/javascript/components/search/QuickSearchButton/QuickSearchButton.tsx","../../../app/javascript/features/Nav/components/Nav/DesktopNav/DesktopNavLinks/QuickSearchButtonWrapper.tsx","../../../app/javascript/components/shared/OnboardHider.tsx","../../../app/javascript/icons/solid/book-copy.svg","../../../app/javascript/icons/solid/flask.svg","../../../app/javascript/icons/solid/scroll.svg","../../../app/javascript/icons/solid/chart-line-up.svg","../../../app/javascript/icons/solid/wand-sparkles.svg","../../../app/javascript/icons/solid/trophy-star.svg","../../../app/javascript/features/Nav/components/Nav/DesktopNav/DesktopNavLinks/DropdownMenus/MenuItem.tsx","../../../app/javascript/icons/solid/calendar-check.svg","../../../app/javascript/features/Nav/components/Nav/DesktopNav/DesktopNavLinks/DropdownMenus/DiscoverMenu/DiscoverMenu.tsx","../../../app/javascript/icons/solid/rectangle-history.svg","../../../app/javascript/icons/solid/hat-wizard.svg","../../../app/javascript/icons/solid/comment-smile.svg","../../../app/javascript/features/Nav/components/Nav/DesktopNav/DesktopNavLinks/DropdownMenus/BrowseMenu/BrowseMenu.tsx","../../../app/javascript/icons/duotone/lamp-desk.svg","../../../app/javascript/components/svgs/icons/Brightness.tsx","../../../app/javascript/features/ThemeManager/components/ThemeChanger.tsx","../../../app/javascript/components/marketing/home/svgs/JulesRocket.tsx","../../../app/javascript/features/Nav/components/Nav/UserMenu/PricingLink.tsx","../../../app/javascript/icons/solid/book-open-cover.svg","../../../app/javascript/icons/solid/backpack.svg","../../../app/javascript/icons/solid/bullseye-arrow.svg","../../../app/javascript/icons/solid/chart-mixed.svg","../../../app/javascript/icons/solid/message-heart.svg","../../../app/javascript/icons/solid/gear.svg","../../../node_modules/lodash/isUndefined.js","../../../app/javascript/queries/users/getNotificationsCount.ts","../../../app/javascript/components/background/CurrentUser/NotificationsUpdater.tsx","../../../app/javascript/features/Nav/components/Nav/parts/NotificationIndicator.tsx","../../../app/javascript/components/shared/CurrentUserAvatar.tsx","../../../app/javascript/features/Nav/components/Nav/DesktopNav/UserMenu/parts/UserMenuLink.tsx","../../../app/javascript/icons/solid/lamp-desk.svg","../../../app/javascript/features/Nav/components/Nav/DesktopNav/UserMenu/parts/MenuThemeChanger.tsx","../../../app/javascript/icons/solid/right-from-bracket.svg","../../../app/javascript/hooks/user/useSignOut.ts","../../../app/javascript/features/Nav/components/Nav/DesktopNav/UserMenu/parts/MenuSignOut.tsx","../../../app/javascript/icons/solid/bell.svg","../../../app/javascript/features/Nav/components/Nav/DesktopNav/UserMenu/parts/MenuNotifications.tsx","../../../app/javascript/features/Nav/components/Nav/DesktopNav/UserMenu/UserMenu.tsx","../../../app/javascript/icons/duotone/arrow-right-from-bracket.svg","../../../app/javascript/features/Nav/components/Nav/parts/LogoutLink/LogoutLinkActive.tsx","../../../app/javascript/features/Nav/components/Nav/DesktopNav/UserSpecificMenu.tsx","../../../app/javascript/icons/solid/party-horn.svg","../../../app/javascript/features/Nav/components/Nav/parts/YearInBooksLink.tsx","../../../app/javascript/features/Nav/components/Nav/DesktopNav/DesktopNavLinks.tsx","../../../app/javascript/icons/duotone/bullhorn.svg","../../../app/javascript/features/Nav/components/Nav/MobileNav/MobileSubscriptionModal/MobileSubscriptionModalInactive.tsx","../../../app/javascript/features/Nav/components/Nav/MobileNav/MobileSubscriptionModal/index.tsx","../../../app/javascript/features/Nav/components/Nav/MobileNav/MobileUserNavSidepanel/components/ToggleSidebarButton.tsx","../../../app/javascript/features/Nav/components/Nav/MobileNav/MobileUserNavSidepanel/index.tsx","../../../app/javascript/features/Nav/components/Nav/parts/LogoutLink/LogoutLinkInactive.tsx","../../../app/javascript/features/Nav/components/Nav/parts/LogoutLink/index.tsx","../../../app/javascript/features/Nav/components/Nav/MobileNav/ShareButton/ShareButtonInactive.tsx","../../../app/javascript/features/Nav/components/Nav/MobileNav/ShareButton/ShareButton.tsx","../../../app/javascript/features/Nav/components/Nav/MobileNav/MobileNavLinks.tsx","../../../app/javascript/features/Nav/components/Nav/UserMenu/UserMenu.tsx","../../../app/javascript/features/Nav/components/Nav/Nav.tsx","../../../app/javascript/icons/solid/house.svg","../../../app/javascript/icons/solid/telescope.svg","../../../node_modules/@capacitor/keyboard/dist/esm/definitions.js","../../../node_modules/@capacitor/keyboard/dist/esm/index.js","../../../app/javascript/components/shared/HideIfKeyboardVisible.tsx","../../../app/javascript/components/ActiveLink.tsx","../../../app/javascript/features/Nav/components/Footer/MobileFooter/components/MobileBottomNavContent.tsx","../../../app/javascript/features/Nav/components/Footer/MobileFooter/components/MobileBottomNavLink.tsx","../../../app/javascript/features/Nav/components/Footer/MobileFooter/components/CurrentUserLibraryLink.tsx","../../../app/javascript/hooks/uiSpecific/useNativeSafeArea.ts","../../../app/javascript/features/Nav/components/Footer/MobileFooter/components/MobileBottomNavWrapper.tsx","../../../app/javascript/features/Nav/components/Footer/MobileFooter/MobileFooter.tsx","../../../app/javascript/icons/brands/instagram.svg","../../../app/javascript/icons/brands/tiktok.svg","../../../app/javascript/icons/brands/mastodon.svg","../../../app/javascript/icons/brands/app-store-ios.svg","../../../app/javascript/icons/brands/android.svg","../../../app/javascript/components/svgs/jules/RowingJules.tsx","../../../app/javascript/icons/solid/circle-info.svg","../../../app/javascript/features/Nav/components/Footer/DesktopFooter/DesktopFooter.tsx","../../../app/javascript/features/Nav/components/Footer/Footer.tsx","../../../app/javascript/layouts/DefaultLayout.tsx"],"sourcesContent":["import { usePage } from \"@inertiajs/react\";\nimport { useEffect, useState } from \"react\";\nimport { DefaultPageType } from \"types/DefaultPageType\";\n\n// This custom hook let us know whether current path is\n// initially opened by user from link or external source\nexport const useIsCurrentPageInitial = () => {\n const { pathName } = usePage().props;\n const [pathStack, setPathStack] = useState([]);\n\n useEffect(() => {\n if (pathStack.length === 0) {\n // No other paths saved, this is the first load\n setPathStack([pathName]);\n } else if (pathStack[pathStack.length - 2] === pathName) {\n // Went back, remove last path\n const newPath = [...pathStack];\n newPath.splice(pathStack.length - 1, 1);\n setPathStack(newPath);\n } else {\n // Went forward, add a new path\n setPathStack([...pathStack, pathName]);\n }\n }, [pathName]);\n\n return pathStack.length === 0 || pathStack.length === 1;\n};\n","import { useCallback } from \"react\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport faChevronLeft from \"icons/solid/chevron-left.svg\";\nimport Button from \"hardcover-ui/components/Button\";\n\nexport default function BackLink({ className = \"\" }: { className?: string }) {\n const handleGoBack = useCallback(() => window.history.back(), []);\n\n return (\n \n Back\n \n );\n}\n","import HardcoverLogo from \"components/svgs/icons/HardcoverLogo\";\n\nconst logos = {\n Default: {\n component: HardcoverLogo,\n className: \"w-9\",\n },\n Orange: { path: \"HardcoverLogoOrange\", className: \"w-9\" },\n GuyFawkes: {\n path: \"HardcoverLogoGuyFawkes\",\n className: \"w-9 mr-2\",\n startDate: \"November 5\",\n endDate: \"November 5\",\n },\n Thanksgiving: {\n path: \"HardcoverLogoThanksgiving\",\n className: \"w-9 mr-2\",\n startDate: \"November 22\",\n endDate: \"November 24\",\n },\n Christmas: {\n path: \"HardcoverLogoChristmas\",\n className: \"w-10\",\n startDate: \"December 23\",\n endDate: \"December 27\",\n },\n Valentines: {\n path: \"HardcoverLogoValentines\",\n className: \"w-10\",\n startDate: \"February 13\",\n endDate: \"February 15\",\n },\n};\n\nconst LogoVariant = logos[\"Default\"];\n\n\ninterface Props {\n className?: string;\n}\n\nexport default function LogoSymbol({ className = \"\" }: Props) {\n const defaultClassName = LogoVariant.className || \"\";\n const combinedClassName = `${defaultClassName || \"w-9\"} ${className}`.trim();\n\n return ;\n}\n","import { Link } from \"@inertiajs/react\";\nimport LogoSymbol from \"./LogoSymbol\";\n\ninterface Props {\n url?: string;\n className?: string;\n}\n\nexport default function LogoLink({ url = \"/\", className = \"\" }: Props) {\n return (\n \n
\n \n \n Hardcover\n \n
\n \n );\n}\n","import { ReactElement } from \"react\";\nimport { useIsCurrentPageInitial } from \"hooks/useIsCurrentPageInitial\";\nimport { useIsScreenSizeBiggerThanTailwindSize } from \"hooks/useIsScreenSizeBiggerThanTailwindSize\";\nimport Backlink from \"./Backlink\";\nimport LogoLink from \"./LogoLink\";\nimport useIsLoggedIn from \"hooks/user/useIsLoggedIn\";\nimport { usePage } from \"@inertiajs/react\";\nimport { DefaultPageType } from \"types/DefaultPageType\";\n\nconst LogoOrBackLink = ({ children }: { children: ReactElement }) => {\n const { pathName } = usePage().props;\n const isPageInitial = useIsCurrentPageInitial();\n const isDesktopVersionActive = useIsScreenSizeBiggerThanTailwindSize(\"lg\");\n const isHomePage = pathName && pathName.includes(\"/home\");\n const isLoggedIn = useIsLoggedIn();\n const shouldLogoLinkBeShown =\n isHomePage || isDesktopVersionActive || isPageInitial;\n\n if (shouldLogoLinkBeShown && !isLoggedIn) {\n return children;\n }\n if (shouldLogoLinkBeShown && isLoggedIn) {\n return ;\n }\n return ;\n};\n\nexport default LogoOrBackLink;\n","export const MAIN_NAVIGATION_HEIGHT = 81;\nexport const FULL_HEIGHT_CONTENT_STYLE = {\n height: `calc(100vh - ${MAIN_NAVIGATION_HEIGHT}px)`,\n};\n\nexport const TAB_LINKS_NAVIGATION_HEIGHT = 62;\n","import { usePage } from \"@inertiajs/react\";\nimport { DefaultPageType } from \"types/DefaultPageType\";\n\nconst tagPathRegex = new RegExp(/\\/browse\\/tags\\/.*\\/.*/);\nconst userPathRegex = new RegExp(/\\/@.*/);\n\nexport default function useTransparentNav() {\n const { pathName } = usePage().props;\n\n if (pathName.startsWith(\"/books\")) {\n return true;\n }\n\n return userPathRegex.test(pathName) || tagPathRegex.test(pathName);\n}\n","import { useState, useEffect, useRef } from \"react\";\nimport throttle from \"lodash/throttle\";\n\ntype UseVerticalScrollPositionReturnType = {\n scrollPosition: number;\n direction: \"toTop\" | \"toBottom\";\n};\n\nexport const useVerticalScrollPosition =\n (): UseVerticalScrollPositionReturnType => {\n const [scrollPosition, setScrollPosition] = useState(0);\n const [direction, setDirection] = useState<\n UseVerticalScrollPositionReturnType[\"direction\"] | undefined\n >();\n const prevScrollPosition = useRef(0);\n\n useEffect(() => {\n const updatePosition = () => {\n if (window.pageYOffset > prevScrollPosition.current) {\n setDirection(\"toBottom\");\n } else {\n setDirection(\"toTop\");\n }\n prevScrollPosition.current = window.pageYOffset;\n setScrollPosition(window.pageYOffset);\n };\n\n const throttledUpdate = throttle(updatePosition, 200);\n window.addEventListener(\"scroll\", throttledUpdate);\n updatePosition();\n\n return () => window.removeEventListener(\"scroll\", throttledUpdate);\n }, []);\n\n return { scrollPosition, direction };\n };\n","import { useEffect, useState } from \"react\";\nimport { useVerticalScrollPosition } from \"hooks/useVerticalScrollPosition\";\n\nconst HIDE_NAV_BREAKPOINT_IN_PX = 20;\n\nexport const useIsNavVisible = () => {\n const { scrollPosition, direction } = useVerticalScrollPosition();\n const [isNavVisible, setIsNavVisible] = useState(true);\n const [top, setTop] = useState(scrollPosition === 0);\n\n useEffect(() => {\n setTop(scrollPosition === 0);\n if (scrollPosition < HIDE_NAV_BREAKPOINT_IN_PX || direction === \"toTop\") {\n setIsNavVisible(true);\n } else {\n setIsNavVisible(false);\n }\n }, [scrollPosition, direction]);\n\n return {\n top,\n isNavVisible,\n };\n};\n","import { ReactNode } from \"react\";\nimport classNames from \"lib/classNames\";\nimport { MAIN_NAVIGATION_HEIGHT } from \"constants/navigation\";\nimport useTransparentNav from \"features/Nav/hooks/useTransparentNav\";\nimport { useIsNavVisible } from \"features/Nav/hooks/useIsNavVisible\";\n\nconst NavWrapper = ({ children }: { children: ReactNode }) => {\n const { top, isNavVisible } = useIsNavVisible();\n const isTransparent = useTransparentNav();\n\n return (\n \n \n
\n {children}\n
\n \n \n );\n};\n\nexport default NavWrapper;\n","/* eslint-disable react/jsx-props-no-spreading */\n\nimport { useDispatch } from \"react-redux\";\nimport { searchActions } from \"store/search/searchSlice\";\nimport { ReactElement } from \"react\";\n\nexport default function QuickSearchButton({\n children,\n className,\n ...props\n}: {\n className?: string;\n children: ReactElement;\n}): JSX.Element {\n const dispatch = useDispatch();\n\n const toggleQuickSearch = () => {\n dispatch(searchActions.toggleSearchVisible());\n };\n\n return (\n toggleQuickSearch()}\n {...props}\n >\n {children}\n \n );\n}\n","import { useEffect, useState } from \"react\";\nimport faSearch from \"icons/solid/magnifying-glass.svg\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport isHotkey from \"is-hotkey\";\nimport { useDispatch } from \"react-redux\";\nimport { searchActions } from \"store/search/searchSlice\";\nimport QuickSearchButton from \"components/search/QuickSearchButton/QuickSearchButton\";\nimport { usePage } from \"@inertiajs/react\";\nimport { DefaultPageType } from \"types/DefaultPageType\";\n\nexport default function QuickSearchButtonWrapper(): JSX.Element {\n const { pathName } = usePage().props;\n const dispatch = useDispatch();\n const toggleQuickSearch = () => {\n dispatch(searchActions.toggleSearchVisible());\n };\n\n const [searchText, setSearchText] = useState(\"⌘ K\");\n\n const onKeyDown = (e) => {\n if (isHotkey(\"mod+k\", e)) {\n toggleQuickSearch();\n e.preventDefault();\n }\n };\n\n useEffect(() => {\n window.addEventListener(\"keydown\", onKeyDown);\n if (window.navigator.userAgent.indexOf(\"Mac\") === -1) {\n setSearchText(\"CTRL K\");\n }\n return () => {\n window.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [pathName]);\n\n return (\n \n <>\n
\n \n \n Search\n \n
\n \n {searchText}\n \n \n
\n );\n}\n","import useCurrentUser from \"hooks/fragments/useCurrentUser\";\nimport { ReactElement } from \"react\";\n\nexport default function OnboardHider({\n children,\n}: {\n children: ReactElement;\n}) {\n const { isLoggedIn, onboarded } = useCurrentUser((u) => {\n return {\n onboarded: u?.onboarded || false,\n isLoggedIn: u?.id > 0,\n };\n });\n\n\n if(!isLoggedIn) {\n return children;\n }\n\n // Can see this screen\n if (isLoggedIn && onboarded) {\n return children;\n }\n\n return <>;\n}\n","import * as React from \"react\";\nconst SvgBookCopy = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 576 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M160 96H96c-53 0-96 43-96 96v224c0 53 43 96 96 96h256c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h81.1a127 127 0 0 1-17.1-64zm160 320h224c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H288c-53 0-96 43-96 96v224a95.92 95.92 0 0 0 96 96zm-64-96c0-17.7 14.3-32 32-32h192v64H288c-17.7 0-32-14.3-32-32\" }));\nexport default SvgBookCopy;\n","import * as React from \"react\";\nconst SvgFlask = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2A70 70 0 0 0 0 442.6C0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4a64 64 0 0 1-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1\" }));\nexport default SvgFlask;\n","import * as React from \"react\";\nconst SvgScroll = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 576 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M0 80v48c0 17.7 14.3 32 32 32h64V80a48.01 48.01 0 0 0-96 0m112-48c10 13.4 16 30 16 48v304c0 35.3 28.7 64 64 64s64-28.7 64-64v-5.3c0-32.4 26.3-58.7 58.7-58.7H480V128c0-53-43-96-96-96zm352 448c61.9 0 112-50.1 112-112 0-8.8-7.2-16-16-16H314.7a26.7 26.7 0 0 0-26.7 26.7v5.3c0 53-43 96-96 96h272\" }));\nexport default SvgScroll;\n","import * as React from \"react\";\nconst SvgChartLineUp = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64v336c0 44.2 35.8 80 80 80h400c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16zm375 215c15.1 15.1 41 4.4 41-17V152c0-13.3-10.7-24-24-24H345.9c-21.4 0-32.1 25.9-17 41l32.4 32.4-57.3 57.3-73.4-73.4a32.05 32.05 0 0 0-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l57.4-57.3 73.4 73.4a32.05 32.05 0 0 0 45.3 0l80-80z\" }));\nexport default SvgChartLineUp;\n","import * as React from \"react\";\nconst SvgWandSparkles = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5.9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7V176c0 8.8-7.2 16-16 16h-15.8c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9A33.4 33.4 0 0 1 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9V272c0-8.8 7.2-16 16-16h34.6c3.9 0 7.7-1.5 10.7-4.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8M87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8M208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8a8.02 8.02 0 0 1 0 15.6l-27.3 6.8-6.8 27.3a8.02 8.02 0 0 1-15.6 0l-6.8-27.3-27.3-6.8a8.02 8.02 0 0 1 0-15.6l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1\" }));\nexport default SvgWandSparkles;\n","import * as React from \"react\";\nconst SvgTrophyStar = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 576 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M176 0h224c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8H552c13.3 0 24 10.7 24 24 0 92.6-33.5 157-78.5 200.7-44.3 43.1-98.3 64.8-138.2 75.8-23.4 6.5-39.4 26-39.4 45.6 0 20.9 17 37.9 37.9 37.9H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h26.1c20.9 0 37.9-17 37.9-37.9 0-19.6-15.9-39.2-39.4-45.6-39.9-11-93.9-32.7-138.1-75.8C33.5 245 0 180.6 0 88c0-13.3 10.7-24 24-24h105.6c-.3-5.2-.5-10.4-.7-15.8C127.9 21.8 149.5 0 176 0m-42.8 112H48.9c5.1 66.3 31.1 111.2 63 142.3 22.4 21.8 48.3 37.3 73.2 48.3-22.7-40.3-42.8-100.5-51.9-190.6m257.6 190.6c24.9-11 50.8-26.5 73.2-48.3 32-31.1 58-76 63-142.3h-84.3c-9.1 90.1-29.2 150.3-51.9 190.6M295.2 86.5a7.99 7.99 0 0 0-14.3 0l-19.2 38.9c-1.2 2.4-3.4 4-6 4.4l-43 6.2c-6.6 1-9.2 9-4.4 13.6l31 30.2c1.9 1.8 2.7 4.5 2.3 7.1l-7.3 42.7a7.98 7.98 0 0 0 11.6 8.4l38.4-20c2.3-1.2 5.1-1.2 7.4 0l38.4 20.2a7.98 7.98 0 0 0 11.6-8.4l-7.3-42.8c-.4-2.6.4-5.2 2.3-7.1l31-30.2c4.7-4.6 2.1-12.7-4.4-13.6l-42.9-6.2c-2.6-.4-4.9-2-6-4.4z\" }));\nexport default SvgTrophyStar;\n","import Button from \"hardcover-ui/components/Button\";\nimport Text from \"hardcover-ui/components/Text\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport classNames from \"lib/classNames\";\n\ninterface Props {\n url: string;\n icon: any;\n text: string;\n description: string;\n variant: \"blue\" | \"green\";\n}\n\n// text-blue-500 text-green-500 bg-green-500/40 bg-blue-500/40\nexport default function MenuItem({\n url,\n icon,\n text,\n description,\n variant,\n}: Props) {\n return (\n \n \n \n \n
\n {text}\n \n {description}\n \n
\n \n );\n}\n","import * as React from \"react\";\nconst SvgCalendarCheck = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M128 0c17.7 0 32 14.3 32 32v32h128V32c0-17.7 14.3-32 32-32s32 14.3 32 32v32h48c26.5 0 48 21.5 48 48v48H0v-48c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32M0 192h448v272c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48zm329 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64a23.9 23.9 0 0 0 33.9 0z\" }));\nexport default SvgCalendarCheck;\n","import flask from \"icons/solid/flask.svg\";\nimport Button from \"hardcover-ui/components/Button\";\nimport Text from \"hardcover-ui/components/Text\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport scroll from \"icons/solid/scroll.svg\";\nimport trending from \"icons/solid/chart-line-up.svg\";\nimport wand from \"icons/solid/wand-sparkles.svg\";\nimport yearInBooks from \"icons/solid/trophy-star.svg\";\nimport chevronDown from \"icons/solid/chevron-down.svg\";\nimport MenuItem from \"../MenuItem\";\nimport faCalendar from \"icons/solid/calendar-check.svg\";\nimport useIsLoggedIn from \"hooks/user/useIsLoggedIn\";\n// import home from \"icons/solid/house-chimney.svg\";\n// import calendar from \"icons/solid/calendar-star.svg\";\n\nconst labStyles =\n \"hover:bg-white dark:hover:bg-gray-900 p-1 rounded-md w-full text-sm font-semibold\";\n\nexport default function DiscoverMenu() {\n const loggedIn = useIsLoggedIn();\n return (\n <>\n
\n \n \n \n \n
\n
\n
\n
\n \n \n Archive & Labs\n \n
\n \n
\n
\n \n \n 2023 Year in Books{\" \"}\n The hits\n \n
\n
\n \n );\n}\n","import * as React from \"react\";\nconst SvgRectangleHistory = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M512 224c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v224c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64zM440 80H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h368c13.3 0 24-10.7 24-24s-10.7-24-24-24M392 0H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24S405.3 0 392 0\" }));\nexport default SvgRectangleHistory;\n","import * as React from \"react\";\nconst SvgHatWizard = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m64 416 104.6-235.3c15.3-34.4 40.3-63.5 72-83.7L387.5 3c3-1.9 6.5-2.9 10-2.9A18.4 18.4 0 0 1 416 18.6v1.6c0 2.6-.5 5.1-1.4 7.5l-59.8 149.2c-1.9 4.7-2.8 9.7-2.8 14.7 0 5.5 1.2 11 3.4 16.1L448 416H240.9l11.8-35.4 40.4-13.5a16.04 16.04 0 0 0 0-30.4l-40.4-13.5-13.5-40.4a16.09 16.09 0 0 0-30.4.1l-13.5 40.4-40.4 13.5a16.04 16.04 0 0 0 0 30.4l40.4 13.5 11.8 35.3zm215.6-274.5c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7zM32 448h448c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32\" }));\nexport default SvgHatWizard;\n","import * as React from \"react\";\nconst SvgCommentSmile = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32 0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9-1.9 24.5-11.4 46.3-21.4 62.9a180 180 0 0 1-20.1 27.3c-.6.6-1 1.1-1.3 1.4l-.3.3c-4.6 4.6-5.9 11.4-3.4 17.4a16 16 0 0 0 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3 22.9-10 42.4-21.9 54.3-30.6 31.8 11.5 67 17.9 104.1 17.9zm-64-304a32 32 0 1 1 0 64 32 32 0 1 1 0-64m128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64M150.5 270.1c9.9-8.8 25-8 33.9 1.9 17.6 19.7 43.1 32 71.6 32s53.9-12.3 71.6-32c8.8-9.9 24-10.7 33.9-1.9s10.7 24 1.9 33.9c-26.4 29.4-64.8 48-107.4 48s-81-18.6-107.3-48c-8.8-9.9-8-25 1.9-33.9z\" }));\nexport default SvgCommentSmile;\n","import thumbsup from \"icons/solid/thumbs-up.svg\";\nimport lists from \"icons/solid/rectangle-history.svg\";\nimport wizardhat from \"icons/solid/hat-wizard.svg\";\nimport moods from \"icons/solid/comment-smile.svg\";\nimport yearInBooks from \"icons/solid/trophy-star.svg\";\nimport MenuItem from \"../MenuItem\";\n\nexport default function BrowseMenu() {\n return (\n
\n \n \n \n \n \n
\n );\n}\n","import * as React from \"react\";\nconst SvgLampDesk = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M192 65.9A65.9 65.9 0 0 1 257.9 0c17.5 0 34.3 6.9 46.6 19.3L349.3 64H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-192 192c-9.2 9.2-22.9 11.9-34.9 6.9S256 301 256 288V157.3l-44.7-44.7A66 66 0 0 1 192 65.9M32 448h320c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32\", className: \"fa-primary\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M105.4 233.4 218.7 120l37.3 37.3v16l-92.6 92.6L209 448h-66L97 263.8c-2.7-10.9.5-22.4 8.4-30.4M183.3 512h1.4zm262.9-336.9c11 10.2 17.8 24.8 17.8 40.9 0 30.9-25.1 56-56 56-16.2 0-30.7-6.8-40.9-17.8z\", style: {\n opacity: 0.4\n} }));\nexport default SvgLampDesk;\n","/* eslint-disable react/jsx-props-no-spreading */\nconst Brightness = ({ className = \"\", style = {} }) => {\n return (\n \n \n \n );\n};\nexport default Brightness;\n","import { ReactElement } from \"react\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport faLampDeskDuotone from \"icons/duotone/lamp-desk.svg\";\nimport Button from \"hardcover-ui/components/Button\";\nimport Brightness from \"components/svgs/icons/Brightness\";\nimport useTheme from \"features/ThemeManager/hooks/useTheme\";\n\nexport default function ThemeChanger({\n children,\n}: {\n children?: ReactElement;\n}) {\n const { theme, toggleTheme } = useTheme();\n\n // Basic children button\n if (children) {\n return (\n \n );\n }\n\n return (\n \n Use setting\n {theme === \"light\" ? (\n \n ) : (\n false\n )}\n \n \n );\n}\n","/* eslint-disable react/jsx-props-no-spreading */\n\nconst JulesRocket = (props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\nexport default JulesRocket;\n","import Button from \"hardcover-ui/components/Button\";\nimport JulesRocket from \"components/marketing/home/svgs/JulesRocket\";\n\nexport default function PricingLink() {\n return (\n \n \n Subscribe\n \n );\n}\n","import * as React from \"react\";\nconst SvgBookOpenCover = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 640 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M304 32v376L96 368V34.7c0-19.8 17.8-34.9 37.3-31.6zM89.7 405.1 320 451.2l230.3-46.1c15-3 25.7-16.1 25.7-31.4V28.8l25.7-5.1c19.8-4 38.3 11.1 38.3 31.3v366.8c0 15.3-10.8 28.4-25.7 31.4L320 512 25.7 453.1A31.9 31.9 0 0 1 0 421.8V55c0-20.2 18.5-35.3 38.3-31.3L64 28.8v345c0 15.3 10.8 28.4 25.7 31.4zM336 408V32L506.7 3.1C526.2-.2 544 14.9 544 34.7V368z\" }));\nexport default SvgBookOpenCover;\n","import * as React from \"react\";\nconst SvgBackpack = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M192 48h64c4.4 0 8 3.6 8 8v40h-80V56c0-4.4 3.6-8 8-8m-56 8v40h-8C57.3 96 0 153.3 0 224v224c0 35.3 28.7 64 64 64V352c0-35.3 28.7-64 64-64h192c35.3 0 64 28.7 64 64v160c35.3 0 64-28.7 64-64V224c0-70.7-57.3-128-128-128h-8V56c0-30.9-25.1-56-56-56h-64c-30.9 0-56 25.1-56 56m216 456v-96H96v96zM144 176h160c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16m208 208v-32c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v32z\" }));\nexport default SvgBackpack;\n","import * as React from \"react\";\nconst SvgBullseyeArrow = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M335.2 244.7A79.98 79.98 0 0 1 256 336c-44.2 0-80-35.8-80-80a79.98 79.98 0 0 1 91.3-79.2l31.2-31.2-4.8-28.6c-12-3.3-24.7-5-37.7-5-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144c0-13.1-1.7-25.7-5-37.7l-28.6-4.8zm110.1-20.8q2.7 15.6 2.7 32.1c0 106-86 192-192 192S64 362 64 256 150 64 256 64q16.35 0 32.1 2.7l9.3-9.3 43.1-43.1C314 5 285.6 0 256 0 114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256c0-29.6-5-58-14.3-84.5l-43.1 43.1zm-80.2-43.1 50.7 8.4a32 32 0 0 0 27.9-8.9l51.2-51.2c8.1-8.1 5.3-21.9-5.4-26.2L432 80l-23-57.5c-4.3-10.7-18-13.5-26.2-5.4l-51.2 51.3a32 32 0 0 0-8.9 27.9l8.4 50.7-92.1 92c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l92.1-92.1z\" }));\nexport default SvgBullseyeArrow;\n","import * as React from \"react\";\nconst SvgChartMixed = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M500 89c13.8-11 16-31.2 5-45s-31.2-16-45-5L319.4 151.5 211.2 70.4a32 32 0 0 0-39.2.6L12 199c-13.8 11-16 31.2-5 45s31.2 16 45 5l140.6-112.5 108.2 81.1c11.7 8.8 27.8 8.5 39.2-.6zM160 256v192c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32M32 352v96c0 17.7 14.3 32 32 32s32-14.3 32-32v-96c0-17.7-14.3-32-32-32s-32 14.3-32 32m288-64c-17.7 0-32 14.3-32 32v128c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32m96-32v192c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32\" }));\nexport default SvgChartMixed;\n","import * as React from \"react\";\nconst SvgMessageHeart = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M0 64C0 28.7 28.7 0 64 0h384c35.3 0 64 28.7 64 64v288c0 35.3-28.7 64-64 64H309.3l-123.7 92.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3v-80H64c-35.3 0-64-28.7-64-64zm144 109.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7A61.3 61.3 0 0 0 306.5 112c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4a61.3 61.3 0 0 0-104.6 43.4z\" }));\nexport default SvgMessageHeart;\n","import * as React from \"react\";\nconst SvgGear = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M495.9 166.6c3.2 8.7.5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7a192 192 0 0 1-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4l-55.6 17.8c-8.8 2.8-18.6.3-24.5-6.8-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4c-1.1-8.4-1.7-16.9-1.7-25.5s.6-17.1 1.7-25.4l-43.3-39.4c-6.9-6.2-9.6-15.9-6.4-24.6 4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2 5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8 8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160\" }));\nexport default SvgGear;\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","import { gql } from \"graphql-tag\";\n\nexport const getNotificationsCount = gql`\n query GetNotificationsCount($userId: Int!) {\n notifications: notification_deliveries_aggregate(\n where: {\n channel_id: { _eq: 1 }\n read: { _eq: false }\n user_id: { _eq: $userId }\n }\n ) {\n aggregate {\n count\n }\n }\n }\n`;\n\nexport type GetNotificationCountType = {\n notifications: {\n aggregate: {\n count: number;\n };\n };\n};\n","import { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { currentUserActions } from \"store/currentUser/currentUserSlice\";\nimport { useQuery } from \"lib/apollo/client\";\nimport {\n GetNotificationCountType,\n getNotificationsCount,\n} from \"queries/users/getNotificationsCount\";\nimport useCurrentUserId from \"hooks/user/useCurrentUserId\";\n\nconst POLL_INTERVAL = 1000 * 60 * 5; // Every 5 minutes\n\nexport default function NotificationsUpdater() {\n const dispatch = useDispatch();\n const userId = useCurrentUserId()\n\n const { data, startPolling } = useQuery(getNotificationsCount, {\n variables: {\n userId,\n },\n fetchPolicy: \"no-cache\",\n skip: !userId,\n pollInterval: POLL_INTERVAL,\n });\n\n useEffect(() => {\n setTimeout(() => {\n startPolling(POLL_INTERVAL);\n }, POLL_INTERVAL);\n }, []);\n\n useEffect(() => {\n if (data) {\n dispatch(\n currentUserActions.setNotificationsCount(\n data.notifications.aggregate.count\n )\n );\n }\n }, [data]);\n\n return false;\n}\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { useEffect, useState } from \"react\";\nimport useCurrentUser from \"hooks/fragments/useCurrentUser\";\nimport isUndefined from \"lodash/isUndefined\";\nimport NotificationsUpdater from \"components/background/CurrentUser/NotificationsUpdater\";\n\nexport default function NotificationIndicator({\n initialNotificationsCount = 0,\n}: {\n initialNotificationsCount?: number;\n}) {\n const [hasNotifications, setHasNotifications] = useState(\n initialNotificationsCount > 0\n );\n const currentNotificationsCount: number = useCurrentUser(\n (u) => u.notificationsCount\n );\n\n useEffect(() => {\n if (!isUndefined(currentNotificationsCount)) {\n setHasNotifications(currentNotificationsCount > 0);\n }\n }, [currentNotificationsCount]);\n\n return (\n <>\n \n {hasNotifications ? : <> }\n \n );\n}\n","import Avatar from \"hardcover-ui/components/Avatar\";\nimport { AvatarThemeProps } from \"hardcover-ui/theme/components/avatar\";\nimport useCurrentUser from \"hooks/fragments/useCurrentUser\";\n\nexport default function CurrentUserAvatar({\n size = \"md\",\n}: {\n size: AvatarThemeProps[\"size\"];\n}) {\n const image = useCurrentUser((u) => u.image);\n\n return (\n \n );\n}\n","import Text from \"hardcover-ui/components/Text\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport { Link } from \"@inertiajs/react\";\nimport React from \"react\";\n\ninterface Props {\n url: string;\n icon?: any;\n text?: string;\n children?: React.ReactElement[];\n}\nexport const MenuClass =\n \"flex gap-2 items-center p-1 hover:bg-indigo-100 dark:hover:bg-indigo-700 font-semibold rounded-md group/link\";\nexport default function UserMenuItem({ url, icon, text, children }: Props) {\n return (\n \n {children ? (\n <>{children}\n ) : (\n <>\n \n {text}\n \n )}\n \n );\n}\n","import * as React from \"react\";\nconst SvgLampDesk = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M192 65.9A65.9 65.9 0 0 1 257.9 0c17.5 0 34.3 6.9 46.6 19.3L349.3 64H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-73.5 73.5-45.1 45.1-73.5 73.5c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V173.3l-92.6 92.6L209 448h143c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h111L97 263.8c-2.7-10.9.5-22.4 8.4-30.4L218.7 120l-7.4-7.4A66 66 0 0 1 192 65.9M432 288c-14.7 0-27.8-6.6-36.6-16.9l67.7-67.7A48.01 48.01 0 0 1 432 288\" }));\nexport default SvgLampDesk;\n","import Icon from \"hardcover-ui/components/Icon\";\nimport Button from \"hardcover-ui/components/Button\";\nimport lamp from \"icons/solid/lamp-desk.svg\";\nimport Brightness from \"components/svgs/icons/Brightness\";\nimport Text from \"hardcover-ui/components/Text\";\nimport { useTheme } from \"features/ThemeManager\";\nimport { MenuClass } from \"./UserMenuLink\";\n\nexport default function MenuThemeChanger() {\n const { toggleTheme } = useTheme();\n\n return (\n \n );\n}\n","import * as React from \"react\";\nconst SvgRightFromBracket = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m377.9 105.9 122.8 122.8c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1a33.93 33.93 0 0 1-57.9-24V320H192c-17.7 0-32-14.3-32-32v-64c0-17.7 14.3-32 32-32h128v-62.1a33.93 33.93 0 0 1 57.9-24M160 96H96c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-53 0-96-43-96-96V128c0-53 43-96 96-96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32\" }));\nexport default SvgRightFromBracket;\n","import useCurrentUserId from \"./useCurrentUserId\";\nimport { toast } from 'sonner';\nimport { router } from \"@inertiajs/react\";\n\nexport default function useSignOut() {\n const userId = useCurrentUserId();\n \n return {\n signOut: async (e?: React.MouseEvent) => {\n if (e) e.preventDefault();\n const csrfToken = document.querySelector('meta[name=\"csrf-token\"]')?.getAttribute('content');\n\n try {\n const response = await fetch(\"/users/sign_out\", {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\",\n \"X-CSRF-Token\": csrfToken || '',\n },\n credentials: 'same-origin'\n });\n\n const data = await response.json();\n\n if (response.ok) {\n toast.success(\"Logged out successfully! Redirecting...\");\n // Redirect to home page\n setTimeout(() => {\n router.visit(\"/\");\n }, 2000);\n } else {\n toast.error(data.error || \"Logout failed\");\n }\n } catch {\n toast.error(\"An error occurred during logout\");\n }\n },\n isSignedIn: userId !== null,\n };\n}\n","import Text from \"hardcover-ui/components/Text\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport signout from \"icons/solid/right-from-bracket.svg\";\nimport { MenuClass } from \"./UserMenuLink\";\nimport useSignOut from \"hooks/user/useSignOut\";\n\nexport default function MenuSignOut() {\n const { signOut } = useSignOut();\n\n return (\n \n \n Sign Out\n \n );\n}\n","import * as React from \"react\";\nconst SvgBell = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M224 0c-17.7 0-32 14.3-32 32v19.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416h384c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3A192.3 192.3 0 0 1 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32m45.3 493.3c12-12 18.7-28.3 18.7-45.3H160c0 17 6.7 33.3 18.7 45.3S207 512 224 512s33.3-6.7 45.3-18.7\" }));\nexport default SvgBell;\n","import Icon from \"hardcover-ui/components/Icon\";\nimport Badge from \"hardcover-ui/components/Badge\";\nimport useCurrentUser from \"hooks/fragments/useCurrentUser\";\nimport NotificationIndicator from \"features/Nav/components/Nav/parts/NotificationIndicator\";\nimport bell from \"icons/solid/bell.svg\";\nimport Text from \"hardcover-ui/components/Text\";\nimport UserMenuItem from \"./UserMenuLink\";\n\nexport default function MenuNotifications() {\n const currentNotificationsCount = useCurrentUser(\n (u) => u.notificationsCount || 0\n );\n\n return (\n \n
\n \n \n
\n Notifications\n {currentNotificationsCount > 0 ? (\n \n {currentNotificationsCount.toLocaleString()}\n \n ) : (\n <>\n )}\n
\n );\n}\n","import wanttoread from \"icons/solid/bookmark.svg\";\nimport reading from \"icons/solid/book-open-cover.svg\";\nimport read from \"icons/solid/book-sparkles.svg\";\nimport lists from \"icons/solid/rectangle-history.svg\";\nimport owned from \"icons/solid/backpack.svg\";\nimport goals from \"icons/solid/bullseye-arrow.svg\";\nimport stats from \"icons/solid/chart-mixed.svg\";\nimport reviews from \"icons/solid/message-heart.svg\";\nimport prompts from \"icons/solid/comment-dots.svg\";\nimport settings from \"icons/solid/gear.svg\";\nimport NotificationIndicator from \"features/Nav/components/Nav/parts/NotificationIndicator\";\nimport CurrentUserAvatar from \"components/shared/CurrentUserAvatar\";\nimport Text from \"hardcover-ui/components/Text\";\nimport { Link } from \"@inertiajs/react\";\nimport UserMenuItem from \"./parts/UserMenuLink\";\nimport MenuThemeChanger from \"./parts/MenuThemeChanger\";\nimport MenuSignOut from \"./parts/MenuSignOut\";\nimport DropdownIndicator from \"../DropdownIndicator\";\nimport MenuNotifications from \"./parts/MenuNotifications\";\nimport useCurrentUser from \"hooks/fragments/useCurrentUser\";\n\nexport default function UserMenu() {\n const username = useCurrentUser((u) => u.username);\n return (\n
\n \n Open user menu\n \n \n \n\n \n\n \n
\n );\n}\n","import * as React from \"react\";\nconst SvgArrowRightFromBracket = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M502.6 233.4a32.05 32.05 0 0 1 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l73.4-73.4H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h210.7l-73.4-73.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l128 128z\", className: \"fa-primary\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M192 64c0 17.7-14.3 32-32 32H96c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-53 0-96-43-96-96V128c0-53 43-96 96-96h64c17.7 0 32 14.3 32 32\", style: {\n opacity: 0.4\n} }));\nexport default SvgArrowRightFromBracket;\n","import classNames from \"lib/classNames\";\nimport {\n menuIconTheme,\n menuItemTheme,\n} from \"hardcover-ui/theme/components/menu\";\nimport Button from \"hardcover-ui/components/Button\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport faSignOut from \"icons/duotone/arrow-right-from-bracket.svg\";\nimport { Link } from \"@inertiajs/react\";\nimport useSignOut from \"hooks/user/useSignOut\";\n\ninterface Props {\n active?: boolean;\n}\n\nexport default function LogoutLinkActive({ active = false }: Props) {\n const { signOut } = useSignOut();\n\n return (\n <>\n \n \n Sign out\n \n\n {/* Preload the homepage to make the redirect faster */}\n \n Home\n \n \n );\n}\n","import UserJoinButton from \"components/join/UserJoinButton\";\nimport { ThemeChanger } from \"features/ThemeManager\";\nimport PricingLink from \"../UserMenu/PricingLink\";\nimport UserMenu from \"./UserMenu/UserMenu\";\nimport LogoutLinkActive from \"../parts/LogoutLink/LogoutLinkActive\";\nimport useCurrentUser from \"hooks/fragments/useCurrentUser\";\n\nexport default function UserSpecificMenu() {\n const {\n isLoggedIn,\n isOnboarded,\n pro\n } = useCurrentUser((u) => {\n return {\n isOnboarded: u?.onboarded || false,\n pro: u?.pro || false,\n isLoggedIn: u?.id > 0,\n };\n });\n return (\n <>\n {!isLoggedIn ? (\n <>\n \n \n <>Login\n \n \n ) : (\n <>\n {isOnboarded ? (\n <>\n {!pro && }\n \n \n ) : (\n \n )}\n \n )}\n \n );\n}\n","import * as React from \"react\";\nconst SvgPartyHorn = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M32 32a32 32 0 1 1 64 0 32 32 0 1 1-64 0m416 128a32 32 0 1 1 64 0 32 32 0 1 1-64 0m32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64M167 153a23.9 23.9 0 0 1 0-33.9l8.3-8.3c16.7-16.7 27.2-38.6 29.8-62.1l3-27.4C209.6 8.2 221.5-1.3 234.7.1s22.7 13.3 21.2 26.5l-3 27.4c-3.8 34.3-19.2 66.3-43.6 90.7L201 153a23.9 23.9 0 0 1-33.9 0zm192 158 8.2-8.3c24.4-24.4 56.4-39.8 90.7-43.6l27.4-3c13.2-1.5 25 8 26.5 21.2s-8 25-21.2 26.5l-27.4 3c-23.5 2.6-45.4 13.1-62.1 29.8L393 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM506.3 8.5c8.6 10.1 7.3 25.3-2.8 33.8l-10 8.5a79 79 0 0 1-53 18.6 30.9 30.9 0 0 0-31.6 29l-1.8 30a78.9 78.9 0 0 1-80.8 74.2c-7.6-.2-15 2.4-20.7 7.3l-10 8.5c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l10-8.5a79 79 0 0 1 53-18.6 30.9 30.9 0 0 0 31.6-29l1.8-30a78.9 78.9 0 0 1 80.8-74.2c7.6.2 15-2.4 20.7-7.3l10-8.5c10.1-8.6 25.3-7.3 33.8 2.8M150.6 201.4l160 160c7.7 7.7 11 18.8 8.6 29.4s-9.9 19.4-20 23.2l-39.7 14.9L83.1 252.5 98 212.8c3.8-10.2 12.6-17.7 23.2-20s21.7 1 29.4 8.6M48.2 345.6l22.6-60.2 155.8 155.8-60.2 22.6zm-12.3 32.9 97.6 97.6L43.2 510c-11.7 4.4-25 1.5-33.9-7.3S-2.4 480.5 2 468.8l33.8-90.3z\" }));\nexport default SvgPartyHorn;\n","import Button from \"hardcover-ui/components/Button\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport { ButtonThemeProps } from \"hardcover-ui/theme/components/button\";\nimport partyHorn from \"icons/solid/party-horn.svg\";\n\nexport default function YearInBooksLink({\n size = \"md\",\n variant = \"primary\",\n}: {\n size?: ButtonThemeProps[\"size\"];\n variant?: ButtonThemeProps[\"variant\"];\n}) {\n return (\n \n \n Year in Books\n \n );\n}","import QuickSearchButtonWrapper from \"features/Nav/components/Nav/DesktopNav/DesktopNavLinks/QuickSearchButtonWrapper\";\nimport OnboardHider from \"components/shared/OnboardHider\";\nimport React, { startTransition, useState } from \"react\";\n\nimport Button from \"hardcover-ui/components/Button\";\nimport Icon from \"hardcover-ui/components/Icon\";\n\nimport chevronDown from \"icons/solid/chevron-down.svg\";\nimport sparkles from \"icons/solid/sparkles.svg\";\nimport books from \"icons/solid/book-copy.svg\";\n\nimport classNames from \"lib/classNames\";\nimport DiscoverMenu from \"./DesktopNavLinks/DropdownMenus/DiscoverMenu/DiscoverMenu\";\nimport BrowseMenu from \"./DesktopNavLinks/DropdownMenus/BrowseMenu/BrowseMenu\";\nimport DropdownIndicator from \"./DropdownIndicator\";\nimport UserSpecificMenu from \"./UserSpecificMenu\";\nimport YearInBooksLink from \"../parts/YearInBooksLink\";\n\nexport default function DesktopNavLinks() {\n const [hoveredButton, setHoveredButton] = useState(null);\n const [lastHoveredButton, setLastHoveredButton] = useState(null);\n\n const [dropdownHovered, setDropdownHovered] = useState(false);\n\n const isButtonHovered = (button) =>\n hoveredButton === button || (dropdownHovered && hoveredButton === button);\n\n const changeHoveredButton = (button: \"discover\" | \"browse\" | null) => {\n startTransition(() => {\n setHoveredButton(button);\n setLastHoveredButton(button ? hoveredButton : null);\n });\n };\n\n return (\n
\n \n <>\n \n \n\n {\n if (!dropdownHovered) {\n changeHoveredButton(null);\n }\n }}\n >\n changeHoveredButton(\"discover\")}\n >\n \n \n Discover\n \n \n
\n\n changeHoveredButton(\"browse\")}\n >\n \n Browse\n \n \n \n\n \n\n setDropdownHovered(true)}\n onMouseLeave={() => {\n startTransition(() => {\n setDropdownHovered(false);\n changeHoveredButton(null);\n });\n }}\n className=\"absolute w-full ring-2 ring-gray-200 dark:ring-gray-700 top-10 left-0 mt-2 invisible group-hover/dropdown:visible bg-white dark:bg-gray-900 rounded-lg shadow-lg overflow-hidden\"\n >\n \n
\n \n
\n
\n \n
\n \n \n \n \n \n \n \n );\n}\n","import * as React from \"react\";\nconst SvgBullhorn = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M0 192c0-35.3 28.7-64 64-64h128v352c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352c-35.3 0-64-28.7-64-64zm512 48c0 27.9-13.4 51.6-32 60.4V179.6c18.6 8.8 32 32.5 32 60.4\", className: \"fa-primary\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M480 32c0-12.9-7.8-24.6-19.8-29.6S434.5.2 425.3 9.3L381.7 53c-48 48-113.1 75-181 75H192v224h8.7c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6z\", style: {\n opacity: 0.4\n} }));\nexport default SvgBullhorn;\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport faBullhorn from \"icons/duotone/bullhorn.svg\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport LoadingSpinner from \"hardcover-ui/components/LoadingSpinner\";\n\nexport default function MyLibraryLinkInactive({\n onClick = () => {},\n loading = false,\n}: {\n onClick?: () => void;\n loading?: boolean;\n}) {\n return (\n \n );\n}\n","import { Suspense, lazy, useState } from \"react\";\nimport MobileSubscriptionModalInactive from \"./MobileSubscriptionModalInactive\";\n\nconst MobileSubscriptionModalActive = lazy(\n () => import(\"./MobileSubscriptionModalActive\")\n);\n\nexport default function ExploreLink() {\n const [clicked, setClicked] = useState(false);\n\n // Don't load Headless UI and the entire dropdown component unless it's clicked on\n if (clicked) {\n return (\n }>\n \n \n );\n }\n\n return setClicked(true)} />;\n}\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport Button from \"hardcover-ui/components/Button\";\nimport CurrentUserAvatar from \"components/shared/CurrentUserAvatar\";\nimport NotificationIndicator from \"features/Nav/components/Nav/parts/NotificationIndicator\";\nimport classNames from \"lib/classNames\";\nimport LoadingSpinner from \"hardcover-ui/components/LoadingSpinner\";\n\ntype Props = {\n onClick?: () => void;\n active?: boolean;\n loading?: boolean;\n};\n\nexport default function ToggleSidebarButton({\n onClick = () => {},\n active = false,\n loading = false,\n}: Props) {\n return (\n
\n \n Open user menu\n {loading ? (\n
\n \n
\n ) : (\n false\n )}\n \n \n \n
\n );\n}\n","import { Suspense, lazy, useState } from \"react\";\nimport ToggleSidebarButton from \"./components/ToggleSidebarButton\";\n\nconst MobileUserNavSidepanelActive = lazy(\n () => import(\"./MobileUserNavSidepanelActive\")\n);\n\nexport default function MobileUserNavSidepanel() {\n const [clicked, setClicked] = useState(false);\n\n // Don't load Headless UI and the entire dropdown component unless it's clicked on\n if (clicked) {\n return (\n }>\n \n \n );\n }\n\n return setClicked(true)} />;\n}\n","import classNames from \"lib/classNames\";\nimport {\n menuIconTheme,\n menuItemTheme,\n} from \"hardcover-ui/theme/components/menu\";\nimport Button from \"hardcover-ui/components/Button\";\nimport Icon from \"hardcover-ui/components/Icon\";\nimport faSignOut from \"icons/duotone/arrow-right-from-bracket.svg\";\nimport LoadingSpinner from \"hardcover-ui/components/LoadingSpinner\";\n\ninterface Props {\n active?: boolean;\n loading?: boolean;\n onClick?: () => void;\n}\n\nexport default function LogoutLinkInactive({\n onClick,\n loading,\n active = false,\n}: Props) {\n return (\n \n {loading ? (\n \n ) : (\n \n )}\n Sign out\n \n );\n}\n","import { Suspense, useState } from \"react\";\nimport LogoutLinkInactive from \"./LogoutLinkInactive\";\nimport LogoutLinkActive from \"./LogoutLinkActive\";\n\nexport default function LogoutLink() {\n const [clicked, setClicked] = useState(false);\n\n // Don't load Headless UI and the entire dropdown component unless it's clicked on\n if (clicked) {\n return (\n }>\n \n \n );\n }\n\n return setClicked(true)} />;\n}\n","import Icon from \"hardcover-ui/components/Icon\";\nimport LoadingSpinner from \"hardcover-ui/components/LoadingSpinner\";\nimport linkIcon from \"icons/solid/link.svg\";\n\nexport default function ShareButton({\n onClick,\n loading = false,\n}: {\n onClick?: () => void;\n loading?: boolean;\n}) {\n return (\n \n {loading ? (\n \n ) : (\n \n )}\n \n );\n}\n","import { Suspense, lazy, useState } from \"react\";\nimport ShareButtonInactive from \"./ShareButtonInactive\";\n\nconst ShareButtonActive = lazy(() => import(\"./ShareButtonActive\"));\n\nexport default function ShareButton() {\n const [clicked, setClicked] = useState(false);\n\n // Don't load Headless UI and the entire dropdown component unless it's clicked on\n if (clicked) {\n return (\n }>\n \n \n );\n }\n\n return setClicked(true)} />;\n}\n","import UserJoinButton from \"components/join/UserJoinButton\";\nimport MobileSubscriptionModal from \"./MobileSubscriptionModal\";\nimport MobileUserNavSidepanel from \"./MobileUserNavSidepanel\";\nimport LogoutLink from \"../parts/LogoutLink\";\nimport ShareButton from \"./ShareButton/ShareButton\";\nimport useCurrentUser from \"hooks/fragments/useCurrentUser\";\nimport YearInBooksLink from \"../parts/YearInBooksLink\";\n\nexport default function MobileNavLinks() {\n const {\n isLoggedIn,\n isOnboarded,\n pro\n } = useCurrentUser((u) => {\n return {\n isOnboarded: u?.onboarded || false,\n pro: u?.pro || false,\n isLoggedIn: u?.id > 0,\n };\n });\n\n return (\n
\n \n \n {!isLoggedIn ? (\n <>\n \n <>Login\n \n \n ) : (\n <>\n {isOnboarded ? (\n <>\n {!pro && }\n \n \n ) : (\n \n )}\n \n )}\n
\n );\n}\n","import DesktopNavLinks from \"../DesktopNav/DesktopNavLinks\";\nimport MobileNavLinks from \"../MobileNav/MobileNavLinks\";\n\nexport default function UserMenu() {\n return (\n <>\n \n \n \n );\n}\n","import LogoOrBackLink from \"./parts/LogoOrBackLink\";\nimport NavWrapper from \"./NavWrapper\";\nimport UserMenu from \"./UserMenu/UserMenu\";\nimport LogoLink from \"./parts/LogoLink\";\n\nexport default function Nav() {\n return (\n \n \n \n \n \n \n );\n}\n","import * as React from \"react\";\nconst SvgHouse = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 576 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40h-16c-1.1 0-2.2 0-3.3-.1-1.4.1-2.8.1-4.2.1H392c-22.1 0-40-17.9-40-40v-88c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v88c0 22.1-17.9 40-40 40h-55.9c-1.5 0-3-.1-4.5-.2-1.2.1-2.4.2-3.6.2h-16c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9.1-2.8v-69.6H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7l255.4 224.5c8 7 12 15 11 24\" }));\nexport default SvgHouse;\n","import * as React from \"react\";\nconst SvgTelescope = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 576 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M375.7 40A31.9 31.9 0 0 0 364 83.7L460 250a32 32 0 0 0 43.7 11.7l55.4-32a32 32 0 0 0 11.7-43.7l-96-166.3A32 32 0 0 0 431.1 8zM11.8 343.6a24 24 0 0 0-8.7 32.8L29 421.3a24 24 0 0 0 32.8 8.8l44.1-25.5.8 1.4a31.9 31.9 0 0 0 42.8 12.2l88.4-47.4-44.1 108.1c-5 12.3.9 26.3 13.2 31.3s26.3-.9 31.3-13.2L304 335.6 369.8 497c5 12.3 19 18.2 31.3 13.2s18.2-19 13.2-31.3l-67.9-166.4 86.1-46.2-.2-.3-96-166.3c-1-1.8-2-3.6-2.8-5.4L62.4 268.4c-14.4 9.2-19 28.1-10.4 42.9l4 6.9z\" }));\nexport default SvgTelescope;\n","/// \nexport var KeyboardStyle;\n(function (KeyboardStyle) {\n /**\n * Dark keyboard.\n *\n * @since 1.0.0\n */\n KeyboardStyle[\"Dark\"] = \"DARK\";\n /**\n * Light keyboard.\n *\n * @since 1.0.0\n */\n KeyboardStyle[\"Light\"] = \"LIGHT\";\n /**\n * On iOS 13 and newer the keyboard style is based on the device appearance.\n * If the device is using Dark mode, the keyboard will be dark.\n * If the device is using Light mode, the keyboard will be light.\n * On iOS 12 the keyboard will be light.\n *\n * @since 1.0.0\n */\n KeyboardStyle[\"Default\"] = \"DEFAULT\";\n})(KeyboardStyle || (KeyboardStyle = {}));\nexport var KeyboardResize;\n(function (KeyboardResize) {\n /**\n * Only the `body` HTML element will be resized.\n * Relative units are not affected, because the viewport does not change.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"Body\"] = \"body\";\n /**\n * Only the `ion-app` HTML element will be resized.\n * Use it only for Ionic Framework apps.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"Ionic\"] = \"ionic\";\n /**\n * The whole native Web View will be resized when the keyboard shows/hides.\n * This affects the `vh` relative unit.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"Native\"] = \"native\";\n /**\n * Neither the app nor the Web View are resized.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"None\"] = \"none\";\n})(KeyboardResize || (KeyboardResize = {}));\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst Keyboard = registerPlugin('Keyboard');\nexport * from './definitions';\nexport { Keyboard };\n//# sourceMappingURL=index.js.map","import useMount from \"hooks/useMount\";\nimport { Keyboard } from \"@capacitor/keyboard\";\nimport { ReactElement, useEffect, useState } from \"react\";\nimport { Capacitor } from \"@capacitor/core\";\n\nexport default function HideIfKeyboardVisible({\n children,\n}: {\n children: ReactElement;\n}) {\n const mounted = useMount();\n const [keyboardShowing, setKeyboardShowing] = useState(false);\n\n useEffect(() => {\n if (Capacitor.isNativePlatform()) {\n Keyboard.addListener(\"keyboardDidShow\", () => setKeyboardShowing(true));\n Keyboard.addListener(\"keyboardDidHide\", () => setKeyboardShowing(false));\n return () => {\n Keyboard.removeAllListeners();\n };\n }\n }, []);\n\n if (\n mounted &&\n keyboardShowing &&\n Capacitor.isNativePlatform() &&\n Capacitor.getPlatform() === \"ios\"\n ) {\n return false;\n }\n\n return <>{children};\n}\n","import { useState, useEffect, ReactElement } from \"react\";\nimport { Link, usePage } from \"@inertiajs/react\";\nimport CountBadge from \"./ui/CountBadge\";\nimport { DefaultPageType } from \"types/DefaultPageType\";\n\nfunction findIfPathMatch(\n href: string,\n currentPath: string,\n greedy: boolean | string\n) {\n if (!greedy) {\n return currentPath === href;\n }\n\n if (typeof greedy === \"string\") {\n return currentPath.startsWith(greedy);\n }\n\n return currentPath.startsWith(href);\n}\n\ntype Props = {\n href: string;\n activeClassName: string;\n greedy?: boolean | string;\n className?: string;\n children: ReactElement;\n badge?: number | null;\n badgeClass?: string;\n pathname?: string;\n};\n\nexport default function ActiveLink({\n href,\n activeClassName,\n children,\n className = \"\",\n greedy = false,\n badge = null,\n badgeClass = \"\",\n pathname: initialPathname,\n ...props\n}: Props) {\n const { pathName } = usePage().props;\n const [active, setActive] = useState(\n findIfPathMatch(href, initialPathname, greedy)\n );\n\n useEffect(() => {\n // Ex:\n // href: \"@hardcover/lists\"\n // currentPath: \"@hardcover/lists/10-award-winning-books-by-asian-authors-you-should-read\"\n const doesPathnameMatchLinkHref = findIfPathMatch(href, pathName, greedy);\n\n setActive(doesPathnameMatchLinkHref);\n }, [pathName, href, className, activeClassName, greedy]);\n\n return (\n \n {children}\n\n {badge && (\n \n )}\n \n );\n}\n","import Icon from \"hardcover-ui/components/Icon\";\n\ntype Props = {\n icon: any;\n text: string;\n};\n\nexport default function MobileBottomNavContent({ text, icon }: Props) {\n return (\n

\n \n {text}\n

\n );\n}\n","import ActiveLink from \"components/ActiveLink\";\nimport MobileBottomNavContent from \"./MobileBottomNavContent\";\nimport { ActiveLinkStyle, InactiveLinkStyle } from \"../MobileFooter\";\n\ntype Props = {\n href: string;\n icon: any;\n text: string;\n};\n\nexport default function MobileBottomNavLink({ href, text, icon }: Props) {\n return (\n \n \n \n );\n}\n","/* eslint-disable import/no-cycle */\nimport faBookOpen from \"icons/solid/book-open.svg\";\nimport useCurrentUser from \"hooks/fragments/useCurrentUser\";\nimport MobileBottomNavLink from \"./MobileBottomNavLink\";\nimport useIsLoggedIn from \"hooks/user/useIsLoggedIn\";\n\nexport default function MobileBottomNav(): JSX.Element {\n const isLoggedIn = useIsLoggedIn();\n const username = useCurrentUser((u) => u?.username);\n\n return (\n \n );\n}\n","import { CSSProperties, useEffect, useState } from \"react\";\n\nexport const useNativeSafeArea = (\n safeAreaCssVariable: string,\n propName?: string\n): { stylesObject: CSSProperties; sizeAsNumber?: number } => {\n const [stylesObject, setStylesObject] = useState({});\n const [sizeAsNumber, setSizeAsNumber] = useState(0);\n\n useEffect(() => {\n const getSizAsNumber = (): number | undefined => {\n return (\n Number(\n globalThis\n .getComputedStyle?.(globalThis.document?.documentElement)\n .getPropertyValue(safeAreaCssVariable)\n .replace(/\\D/g, \"\")\n )\n );\n };\n setSizeAsNumber(getSizAsNumber());\n\n if (propName) {\n const getStylesObject = () => {\n return getSizAsNumber() !== 0\n ? {\n [propName]: `var(${safeAreaCssVariable})`,\n }\n : {};\n };\n\n setStylesObject(getStylesObject());\n }\n }, [globalThis, safeAreaCssVariable, propName]);\n\n return { stylesObject, sizeAsNumber };\n};\n","import { useNativeSafeArea } from \"hooks/uiSpecific/useNativeSafeArea\";\nimport { ReactElement } from \"react\";\n\nexport default function MobileBottomNavWrapper({\n children,\n}: {\n children: ReactElement;\n}): JSX.Element {\n const { stylesObject: nativeSafeAreaConditionalPaddingStyles } =\n useNativeSafeArea(\"--safe-area-inset-bottom\", \"paddingBottom\");\n\n return (\n \n {children}\n \n );\n}\n","import faHouse from \"icons/solid/house.svg\";\nimport faSearch from \"icons/solid/magnifying-glass.svg\";\nimport faTelescope from \"icons/solid/telescope.svg\";\nimport faChartUp from \"icons/regular/chart-line-up.svg\";\nimport QuickSearchButton from \"components/search/QuickSearchButton/QuickSearchButton\";\nimport HideIfKeyboardVisible from \"components/shared/HideIfKeyboardVisible\";\nimport CurrentUserLibraryLink from \"./components/CurrentUserLibraryLink\";\nimport MobileBottomNavLink from \"./components/MobileBottomNavLink\";\nimport MobileBottomNavWrapper from \"./components/MobileBottomNavWrapper\";\nimport MobileBottomNavContent from \"./components/MobileBottomNavContent\";\nimport useIsLoggedIn from \"hooks/user/useIsLoggedIn\";\n\nexport const ActiveLinkStyle = \"text-gray-900 dark:text-white font-semibold\";\nexport const InactiveLinkStyle =\n \"text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white font-semibold\";\n\nexport default function MobileFooter(): JSX.Element {\n const isLoggedIn = useIsLoggedIn();\n return (\n \n <>\n
\n \n \n \n );\n}\n","import * as React from \"react\";\nconst SvgInstagram = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141m0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7m146.4-194.3c0 14.9-12 26.8-26.8 26.8a26.8 26.8 0 1 1 26.8-26.8m76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8M398.8 388a75.6 75.6 0 0 1-42.6 42.6c-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9A75.6 75.6 0 0 1 49.4 388c-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1A75.6 75.6 0 0 1 92 81.2c29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9a75.6 75.6 0 0 1 42.6 42.6c11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1\" }));\nexport default SvgInstagram;\n","import * as React from \"react\";\nconst SvgTiktok = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M448 209.91a210 210 0 0 1-122.77-39.25v178.72A162.55 162.55 0 1 1 185 188.31v89.89a74.62 74.62 0 1 0 52.23 71.18V0h88a121 121 0 0 0 1.86 22.17A122.2 122.2 0 0 0 381 102.39a121.4 121.4 0 0 0 67 20.14Z\" }));\nexport default SvgTiktok;\n","import * as React from \"react\";\nconst SvgMastodon = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a103 103 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5m-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\" }));\nexport default SvgMastodon;\n","import * as React from \"react\";\nconst SvgAppStoreIos = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 448 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48M127 384.5a19.97 19.97 0 1 1-34.6-20l14.3-24.7q24.15-7.35 39.6 11.4zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4a19.97 19.97 0 1 1 34.6 20l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40m98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52a20 20 0 1 1 0 40\" }));\nexport default SvgAppStoreIos;\n","import * as React from \"react\";\nconst SvgAndroid = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 576 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M420.55 301.93a24 24 0 1 1 24-24 24 24 0 0 1-24 24m-265.1 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24m273.7-144.48 47.94-83a10 10 0 1 0-17.27-10l-48.54 84.07a301.3 301.3 0 0 0-246.56 0l-48.54-84.07a10 10 0 1 0-17.27 10l47.94 83C64.53 202.22 8.24 285.55 0 384h576c-8.24-98.45-64.54-181.78-146.85-226.55\" }));\nexport default SvgAndroid;\n","/* eslint-disable react/jsx-props-no-spreading */\n\nconst RowingJules = (props) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default RowingJules;\n","import * as React from \"react\";\nconst SvgCircleInfo = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 512 512\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512m-40-176h24v-64h-24c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24s10.7-24 24-24m40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64\" }));\nexport default SvgCircleInfo;\n","import Icon from \"hardcover-ui/components/Icon\";\nimport faInstagram from \"icons/brands/instagram.svg\";\nimport faDiscord from \"icons/brands/discord.svg\";\nimport faTiktok from \"icons/brands/tiktok.svg\";\nimport faMastodon from \"icons/brands/mastodon.svg\";\nimport faApple from \"icons/brands/app-store-ios.svg\";\nimport faAndroid from \"icons/brands/android.svg\";\nimport Container from \"hardcover-ui/components/Container\";\nimport TextLink from \"hardcover-ui/components/TextLink\";\nimport Text from \"hardcover-ui/components/Text\";\nimport CopyLinkWrapper from \"components/shared/CopyLinkWrapper\";\nimport RowingJules from \"components/svgs/jules/RowingJules\";\nimport link from \"icons/solid/link.svg\";\nimport info from \"icons/solid/circle-info.svg\";\n\ninterface LinkType {\n name: string;\n href: string;\n target: string;\n local?: boolean;\n icon?: any;\n props?: any;\n}\n\nconst navigation = {\n social: [\n {\n name: \"iOS\",\n href: \"https://apps.apple.com/us/app/hardcover-app/id1663379893\",\n icon: faApple,\n },\n {\n name: \"Android\",\n href: \"https://play.google.com/store/apps/details?id=hardcover.app\",\n icon: faAndroid,\n },\n {\n name: \"Discord\",\n href: \"https://discord.gg/edGpYN8ym8\",\n icon: faDiscord,\n },\n {\n name: \"TikTok\",\n href: \"https://www.tiktok.com/@hardcoverapp\",\n icon: faTiktok,\n },\n {\n name: \"Mastodon\",\n href: \"https://mastodon.hardcover.app/@hardcover\",\n icon: faMastodon,\n },\n {\n name: \"Instagram\",\n href: \"https://instagram.com/hardcover.app\",\n icon: faInstagram,\n },\n ] as LinkType[],\n};\n\nexport default function DesktopFooter() {\n return (\n \n

\n Footer links\n

\n
\n
\n \n Community\n \n \n Readers & Supporters\n \n
\n \n Join Our Discord\n \n \n \n How to link roles on Discord\n \n
\n \n \n \n
\n\n
\n
\n \n Follow Along\n \n \n Blog\n \n \n Hardcover Live\n \n \n About Hardcover\n \n \n Request a feature\n \n
\n
\n\n
\n \n We're an Open Book\n \n \n Frequently Asked Questions\n \n \n Contact Support\n \n \n Roadmap\n \n \n Our Policies\n \n
\n\n
\n
\n {navigation.social.map((item) => (\n \n {item.name}\n \n \n ))}\n
\n \n
\n
\n \n );\n}\n","import MobileFooter from \"./MobileFooter/MobileFooter\";\nimport DesktopFooter from \"./DesktopFooter/DesktopFooter\";\n\nexport default function Footer() {\n return (\n <>\n \n \n \n );\n}\n","import { ReactNode } from \"react\";\nimport { Footer, Nav } from \"features/Nav\";\nimport GlobalLayout from \"./GlobalLayout\";\n\nexport default function DefaultLayout({\n children,\n}: {\n children: ReactNode;\n}) {\n return (\n \n