Files
Verso/services/web/frontend/stylesheets/pages/error-pages.scss
T
claudeandClaude Sonnet 4.6 8f372d13f8
Build and Deploy Verso / deploy (push) Successful in 14m28s
fix: Lumière layout/navbar on settings+404, drop proxy_request_buffering
- Move min-height:100vh from body to html:has(body[data-lumiere]) so the
  gradient fills the viewport on short pages without inflating document
  height or pushing the footer below the fold
- Remove min-height:60vh from .error-container (was causing scrollbar on
  404 when combined with thin footer)
- Replace Bootstrap 3 navbar selectors (.navbar-nav > li > a) with CSS
  custom property overrides (--navbar-link-color, --navbar-link-hover-*,
  --navbar-bg, etc.) consumed by navbar.scss — fixes header button colours
- Remove position:relative from .navbar-default override; base CSS already
  has position:absolute which provides the stacking context for ::before
- Drop proxy_request_buffering off from upload location: buffered mode +
  global client_body_timeout 15m (nginx.conf.template) is more compatible
  with multer's multipart stream handling on slow connections

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 20:38:00 +00:00

92 lines
1.7 KiB
SCSS

// Lumière-themed overrides for 404 / error pages.
// $lum-* vars are declared in project-list-lumiere.scss which is imported
// earlier in all.scss, so they are available here.
[data-lumiere='true'] {
.error-container {
justify-content: center;
}
.error-details {
background: rgba(255, 255, 255, 0.88);
border-radius: 16px;
padding: 3rem;
box-shadow: 0 4px 24px rgba(42, 157, 143, 0.12);
}
.error-status {
color: #2a9d8f;
}
.error-description {
color: #64748b;
}
.error-btn {
background: #2a9d8f !important;
border-color: #2a9d8f !important;
border-radius: 8px;
&:hover {
background: #21867a !important;
border-color: #21867a !important;
}
}
}
.error-container {
display: flex;
align-items: center;
&.full-height {
margin-top: calc(-1 * ($header-height + var(--spacing-08)) / 2);
}
.error-details {
flex: 1 1 50%;
padding: var(--spacing-08);
max-width: 90%;
@include media-breakpoint-up(sm) {
padding: var(--spacing-11);
}
}
.error-status {
@include heading-lg;
margin-bottom: var(--spacing-08);
color: var(--content-secondary);
}
.error-description {
@include heading-sm;
color: var(--content-disabled-dark);
margin-bottom: var(--spacing-08);
}
.error-box {
background-color: var(--bg-light-tertiary);
padding: var(--spacing-04);
font-family: $font-family-monospace;
margin-bottom: var(--spacing-08);
}
.error-actions {
margin-top: var(--spacing-11);
display: flex;
gap: var(--spacing-06);
}
.error-btn {
@extend .btn;
@extend .btn-primary;
display: block;
@include media-breakpoint-up(sm) {
display: inline-block;
}
}
}