Files
flights_web/src/ui/layout/PageLayout.scss
T
gnezim 4aa0bbe5e6 Stack breadcrumb above page title (Angular parity)
Angular renders the breadcrumb trail on its own row above the H1 title.
React had them in the same flex row with justify-content:space-between,
which squeezed the breadcrumb column and forced 'Главная / Онлайн-Табло'
to wrap onto two lines. Switch the header-right container to column
layout so breadcrumbs and title stack vertically regardless of width.
2026-04-18 21:38:40 +03:00

140 lines
2.4 KiB
SCSS

@use "../../styles/variables" as vars;
@use "../../styles/screen" as screen;
.page-layout {
&__row {
position: relative;
display: flex;
flex-flow: row nowrap;
align-items: flex-start;
margin: 0 auto;
width: 100%;
max-width: vars.$site-width;
@include screen.print {
width: 100% !important;
padding: 0 !important;
margin: 0 !important;
max-width: 100% !important;
}
@include screen.smTablet {
flex-flow: column wrap;
}
}
&__column-left {
position: sticky;
top: 20px;
bottom: 20px;
z-index: 1001;
flex-shrink: 0;
margin-left: 0;
margin-right: 1.5%;
width: vars.$left-aside-width;
@media (max-width: vars.$media-breakpoint-desktop) {
width: vars.$left-aside-width-desktop;
}
@media (max-width: vars.$media-breakpoint-tablet) {
position: relative;
top: 0;
width: 100%;
margin-right: 0;
}
}
&__column-right {
position: relative;
width: calc(100% - #{vars.$left-aside-width} - #{vars.$column-spacing});
@include screen.print {
width: 100% !important;
margin-top: 20px !important;
}
@media (max-width: vars.$media-breakpoint-desktop) {
width: calc(100% - #{vars.$left-aside-width-desktop} - 1.5%);
}
@media (max-width: vars.$media-breakpoint-tablet) {
width: 100%;
}
}
&__header-right {
margin-top: auto;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
@include screen.smTablet {
order: 1;
}
}
&__header-left {
margin-top: auto;
@include screen.smTablet {
order: 2;
}
}
&__title-row {
display: flex;
align-items: center;
width: 100%;
}
&__title {
width: calc(100% - 120px);
}
&__title--fullwidth {
width: 100%;
}
&__header {
position: relative;
z-index: 1001;
padding-top: vars.$space-top-site;
margin-bottom: vars.$space-xl;
@include screen.mobile {
margin-bottom: vars.$space-m;
}
}
&__content &__column-left {
@include screen.smTablet {
margin-bottom: vars.$space-xl;
}
@include screen.mobile {
margin-bottom: vars.$space-m;
}
}
&__content &__column-left:empty {
@include screen.smTablet {
margin-bottom: 0;
}
}
&__sticky-content {
@include screen.gt-mobile {
position: sticky;
z-index: 1000;
top: 60px;
}
}
}