mirror of
https://github.com/flarum/framework.git
synced 2024-12-12 06:03:39 +08:00
74e80ea2df
- Write CSS for everything, update templates. - Refactor discussion view. Stream is split into two components (content and scrubber) which have their own responsibilities. - Extract pane functionality into a mixin. - Implement global “back button” system. You give a “paneable” target to the application controller, the back button will modulate its pane-related properties as necessary, and call an action when the button is clicked. - Extract welcome-hero into its own component. - Lots of other general improvements/refactoring. The code is quite well-commented so take a look!
158 lines
2.5 KiB
Plaintext
158 lines
2.5 KiB
Plaintext
body {
|
|
background: @fl-body-bg;
|
|
color: @fl-body-color;
|
|
padding-top: 56px;
|
|
}
|
|
.container-narrow {
|
|
max-width: 500px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
// ------------------------------------
|
|
// Header
|
|
|
|
.global-header {
|
|
background: fade(@fl-hdr-bg, 98%);
|
|
transform: translateZ(0); // Fix for Chrome bug where a transparent white background is actually gray
|
|
padding: 10px;
|
|
height: 56px;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: @zindex-navbar-fixed;
|
|
.clearfix();
|
|
.transition(box-shadow 0.2s);
|
|
|
|
.scrolled & {
|
|
.box-shadow(0 2px 6px rgba(0, 0, 0, 0.15));
|
|
}
|
|
}
|
|
.header-controls {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style-type: none;
|
|
&, & > li {
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
}
|
|
}
|
|
.header-primary {
|
|
float: left;
|
|
& h1 {
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
}
|
|
}
|
|
.header-title {
|
|
font-size: 18px;
|
|
font-weight: normal;
|
|
margin: 0;
|
|
line-height: 36px;
|
|
&, & a {
|
|
color: @fl-hdr-color;
|
|
}
|
|
}
|
|
.header-secondary {
|
|
float: right;
|
|
}
|
|
|
|
// Back button
|
|
// @todo Lots of !importants in here, could we be more specific?
|
|
.back-button {
|
|
float: left;
|
|
margin-right: 25px;
|
|
|
|
& .back {
|
|
z-index: 3; // z-index of an active .btn-group .btn is 2
|
|
border-radius: @border-radius-base !important;
|
|
.transition(border-radius 0.2s);
|
|
}
|
|
& .pin {
|
|
opacity: 0;
|
|
margin-left: -36px !important;
|
|
.transition(~"opacity 0.2s, margin-left 0.2s");
|
|
|
|
&:not(.active) .fa {
|
|
.rotate(45deg);
|
|
}
|
|
}
|
|
&.active {
|
|
& .back {
|
|
border-radius: @border-radius-base 0 0 @border-radius-base !important;
|
|
}
|
|
& .pin {
|
|
opacity: 1;
|
|
margin-left: 1px !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
// ------------------------------------
|
|
// Main
|
|
|
|
.global-main, .paned {
|
|
border-top: 1px solid @fl-secondary-color;
|
|
}
|
|
|
|
// Hero
|
|
.hero {
|
|
background: @fl-body-hero-bg;
|
|
color: @fl-body-hero-color;
|
|
margin-top: -1px;
|
|
text-align: center;
|
|
padding: 30px 0;
|
|
}
|
|
.hero .close {
|
|
float: right;
|
|
margin-top: -10px;
|
|
color: #fff;
|
|
opacity: 0.5;
|
|
}
|
|
.hero h2 {
|
|
margin: 0;
|
|
font-size: 22px;
|
|
font-weight: normal;
|
|
}
|
|
.hero p {
|
|
margin: 10px 0 0;
|
|
}
|
|
|
|
// ------------------------------------
|
|
// Footer
|
|
|
|
.global-footer {
|
|
margin: 100px 0 20px;
|
|
color: @fl-body-muted-more-color;
|
|
.clearfix();
|
|
}
|
|
.footer-primary, .footer-secondary {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style-type: none;
|
|
|
|
& > li {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
}
|
|
& a {
|
|
color: @fl-body-muted-more-color;
|
|
&:hover,
|
|
&:focus {
|
|
text-decoration: none;
|
|
color: @link-hover-color;
|
|
}
|
|
}
|
|
}
|
|
.footer-primary {
|
|
display: inline-block;
|
|
& > li {
|
|
margin-right: 15px;
|
|
}
|
|
}
|
|
.footer-secondary {
|
|
float: right;
|
|
& > li {
|
|
margin-left: 15px;
|
|
}
|
|
} |