Restore dashboard footer; show navbar logo over title; enlarge login logo
Build and Deploy Verso / deploy (push) Successful in 9m46s
Build and Deploy Verso / deploy (push) Successful in 9m46s
Three follow-ups after the visual-identity deploy: - Footer: restore the React <Footer> on the projects dashboard (both ProjectListDsNav and the legacy DefaultNavbarAndFooter). Removing it earlier was an overcorrection — it now renders the Verso/AGPL thin footer rather than the old "Powered by Overleaf" line. Other pages already kept the pug footer. - Navbar brand: HeaderLogoOrTitle previously hid the logo whenever a nav title was set, so on the dashboard only the "Verso" instance-name text showed and the wired-up Verso logo never appeared. Make a configured logo (custom logo or the Verso brand logo) take precedence over the title text; fall back to the title only when no logo is provided (unchanged for other navbars). - Login: enlarge the hero wordmark (max-width 260px -> 380px, full column width). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -13,7 +13,7 @@ block content
|
||||
img.verso-login-logo(
|
||||
src=buildImgPath('ol-brand/verso-logo.svg')
|
||||
alt='Verso'
|
||||
style='width:260px;max-width:100%;height:auto'
|
||||
style='width:100%;max-width:380px;height:auto'
|
||||
)
|
||||
.page-header
|
||||
if login_support_title
|
||||
|
||||
@@ -16,6 +16,7 @@ import { TableContainer } from '@/shared/components/table'
|
||||
import DashApiError from '@/features/project-list/components/dash-api-error'
|
||||
import getMeta from '@/utils/meta'
|
||||
import DefaultNavbar from '@/shared/components/navbar/default-navbar'
|
||||
import Footer from '@/shared/components/footer/footer'
|
||||
import SidebarDsNav from '@/features/project-list/components/sidebar/sidebar-ds-nav'
|
||||
import SystemMessages from '@/shared/components/system-messages'
|
||||
import overleafLogo from '@/shared/svgs/verso-logo.svg'
|
||||
@@ -26,6 +27,7 @@ import { isSplitTestEnabled } from '@/utils/splitTestUtils'
|
||||
|
||||
export function ProjectListDsNav() {
|
||||
const navbarProps = getMeta('ol-navbar')
|
||||
const footerProps = getMeta('ol-footer')
|
||||
const { t } = useTranslation()
|
||||
const {
|
||||
error,
|
||||
@@ -164,6 +166,7 @@ export function ProjectListDsNav() {
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
<Footer {...footerProps} />
|
||||
</div>
|
||||
<CookieBanner />
|
||||
</div>
|
||||
|
||||
@@ -14,6 +14,7 @@ import withErrorBoundary from '../../../infrastructure/error-boundary'
|
||||
import { GenericErrorBoundaryFallback } from '@/shared/components/generic-error-boundary-fallback'
|
||||
import getMeta from '@/utils/meta'
|
||||
import DefaultNavbar from '@/shared/components/navbar/default-navbar'
|
||||
import Footer from '@/shared/components/footer/footer'
|
||||
import WelcomePageContent from '@/features/project-list/components/welcome-page-content'
|
||||
import { ProjectListDsNav } from '@/features/project-list/components/project-list-ds-nav'
|
||||
import { DsNavStyleProvider } from '@/features/project-list/components/use-is-ds-nav'
|
||||
@@ -50,6 +51,7 @@ export function ProjectListRootInner() {
|
||||
|
||||
function DefaultNavbarAndFooter({ children }: { children: ReactNode }) {
|
||||
const navbarProps = getMeta('ol-navbar')
|
||||
const footerProps = getMeta('ol-footer')
|
||||
|
||||
return (
|
||||
<>
|
||||
@@ -60,6 +62,7 @@ function DefaultNavbarAndFooter({ children }: { children: ReactNode }) {
|
||||
>
|
||||
{children}
|
||||
</main>
|
||||
<Footer {...footerProps} />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -9,19 +9,23 @@ export default function HeaderLogoOrTitle({
|
||||
overleafLogo?: string
|
||||
}) {
|
||||
const { appName } = getMeta('ol-ExposedSettings')
|
||||
// A configured logo (custom logo, or the Verso brand logo passed in by a
|
||||
// page) takes precedence over the text title: the logo already carries the
|
||||
// brand name, so we don't render the title alongside it.
|
||||
const logoUrl = customLogo ?? overleafLogo
|
||||
return (
|
||||
<a href="/" aria-label={appName} className="navbar-brand">
|
||||
{(customLogo || !title) && (
|
||||
{logoUrl ? (
|
||||
<div
|
||||
className="navbar-logo"
|
||||
style={logoUrl ? { backgroundImage: `url("${logoUrl}")` } : {}}
|
||||
style={{ backgroundImage: `url("${logoUrl}")` }}
|
||||
/>
|
||||
)}
|
||||
{title && (
|
||||
) : title ? (
|
||||
<div className="navbar-title">
|
||||
<span>{title}</span>
|
||||
</div>
|
||||
) : (
|
||||
<div className="navbar-logo" />
|
||||
)}
|
||||
</a>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user