{subtitle}
-- - Readest - - · - {tagline} -
-); - const OpenAnnotationLanding = () => { const _ = useTranslation(); const router = useRouter(); diff --git a/apps/readest-app/src/app/reader/components/HeaderBar.tsx b/apps/readest-app/src/app/reader/components/HeaderBar.tsx index 8f714dd1..d5f4700a 100644 --- a/apps/readest-app/src/app/reader/components/HeaderBar.tsx +++ b/apps/readest-app/src/app/reader/components/HeaderBar.tsx @@ -26,6 +26,7 @@ import WindowButtons from '@/components/WindowButtons'; import QuickActionMenu from './annotator/QuickActionMenu'; import SidebarToggler from './SidebarToggler'; import BookmarkToggler from './BookmarkToggler'; +import ShareToggler from './ShareToggler'; import NotebookToggler from './NotebookToggler'; import SettingsToggler from './SettingsToggler'; import TranslationToggler from './TranslationToggler'; @@ -219,6 +220,7 @@ const HeaderBar: React.FC{meta.author}
+ )} ++ {meta.format.toUpperCase()} · {formatBytes(meta.size)} · {expiryLabel} +
+ ++ {importError} +
+ )} + > + ) : ( + <> + {/* Anonymous flow: only 2 actions, so they sit side-by-side + on one row. The 3-action logged-in flow above keeps its + stacked design (primary + 2 secondary). Download stays + `btn-primary` to keep the "main thing" hierarchy clear, + Open in app is ghost. Labels match the logged-in flow's + shorter forms to avoid wrap in the tighter row layout. */} + ++ {_("Don't have Readest?")}{' '} + + {_('Download Readest')} + +
+ > + )} +