mirror of
https://github.com/flarum/core.git
synced 2025-08-16 05:14:20 +02:00
Major CSS revamp
- Get rid of Bootstrap (except we still rely on some JS) - Use BEM class names - Rework variables/theme config - Fix various bugs, including some on mobile The CSS is still not ideal – it needs to be cleaned up some more. But that can be a focus for after beta.
This commit is contained in:
76
less/forum/ActivityPage.less
Normal file
76
less/forum/ActivityPage.less
Normal file
@@ -0,0 +1,76 @@
|
||||
.ActivityPage-loadMore .LoadingIndicator {
|
||||
height: 46px;
|
||||
}
|
||||
.ActivityPage-list {
|
||||
border-left: 3px solid @control-bg;
|
||||
list-style: none;
|
||||
margin: 0 0 0 16px;
|
||||
padding: 0;
|
||||
|
||||
> li {
|
||||
margin-bottom: 30px;
|
||||
padding-left: 32px;
|
||||
|
||||
@media @phone {
|
||||
padding-left: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.Activity-avatar {
|
||||
.Avatar--size(32px);
|
||||
float: left;
|
||||
margin-left: -50px;
|
||||
.box-shadow(0 0 0 3px @body-bg);
|
||||
margin-top: -5px;
|
||||
|
||||
@media @phone {
|
||||
margin-left: -42px;
|
||||
}
|
||||
}
|
||||
.Activity-header {
|
||||
color: @muted-color;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.Activity-description {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.Activity-content {
|
||||
display: block;
|
||||
padding: 15px;
|
||||
background: @control-bg;
|
||||
border-radius: @border-radius;
|
||||
color: @muted-color;
|
||||
|
||||
&, &:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
.PostedActivity-header {
|
||||
margin: 0 0 5px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
> li {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
|
||||
&, & a {
|
||||
color: @heading-color;
|
||||
}
|
||||
.Activity-content:hover & {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
.PostedActivity-body {
|
||||
color: @muted-color;
|
||||
|
||||
& :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
34
less/forum/AvatarEditor.less
Normal file
34
less/forum/AvatarEditor.less
Normal file
@@ -0,0 +1,34 @@
|
||||
.AvatarEditor {
|
||||
position: relative;
|
||||
|
||||
.Dropdown-toggle {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-radius: 100%;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
border: 0;
|
||||
}
|
||||
&:hover .Dropdown-toggle, &.open .Dropdown-toggle, &.loading .Dropdown-toggle {
|
||||
opacity: 1;
|
||||
}
|
||||
.LoadingIndicator {
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
@media @tablet-up {
|
||||
.Dropdown-menu {
|
||||
left: 35%;
|
||||
top: 65%;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,28 +1,28 @@
|
||||
// ------------------------------------
|
||||
// Composer
|
||||
|
||||
.composer {
|
||||
.Composer {
|
||||
pointer-events: auto;
|
||||
.box-shadow(0 2px 6px @fl-shadow-color);
|
||||
.box-shadow(0 2px 6px @shadow-color);
|
||||
|
||||
&.minimized {
|
||||
height: 50px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.composer-controls {
|
||||
.Composer-controls {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.composer-content {
|
||||
.ComposerBody-content {
|
||||
.minimized & {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
.composer-header {
|
||||
.ComposerBody-header {
|
||||
list-style: none;
|
||||
padding: 1px 0;
|
||||
margin: 0 0 10px;
|
||||
@@ -31,20 +31,20 @@
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
& > li {
|
||||
> li {
|
||||
display: inline-block;
|
||||
margin-right: -4px;
|
||||
}
|
||||
& h3 {
|
||||
h3 {
|
||||
margin: 0;
|
||||
line-height: 1.5em;
|
||||
|
||||
&, & input, & a {
|
||||
color: @fl-secondary-color;
|
||||
&, input, a {
|
||||
color: @secondary-color;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
}
|
||||
& input {
|
||||
input {
|
||||
font-size: 16px;
|
||||
|
||||
&, &[disabled], &:focus {
|
||||
@@ -54,7 +54,7 @@
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
& .fa {
|
||||
.icon {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
@@ -62,7 +62,7 @@
|
||||
.fa-minus.minimize {
|
||||
vertical-align: -5px;
|
||||
}
|
||||
.composer-controls {
|
||||
.Composer-controls {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
@@ -75,16 +75,16 @@
|
||||
top: 7px;
|
||||
}
|
||||
}
|
||||
.composer-loading {
|
||||
.ComposerBody-loading {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
background: fade(@body-bg, 90%);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
border-radius: @border-radius-base @border-radius-base 0 0;
|
||||
border-radius: @border-radius @border-radius 0 0;
|
||||
.transition(opacity 0.2s);
|
||||
|
||||
&.active {
|
||||
@@ -92,7 +92,7 @@
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
.composer-editor {
|
||||
.ComposerBody-editor {
|
||||
.minimized & {
|
||||
visibility: hidden;
|
||||
}
|
||||
@@ -102,22 +102,22 @@
|
||||
// screen. The controls are hidden (except for the 'x', which is the back-
|
||||
// control), and the avatar hidden.
|
||||
@media @phone {
|
||||
.composer {
|
||||
.Composer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: @zindex-composer;
|
||||
background: @fl-body-bg;
|
||||
background: @body-bg;
|
||||
|
||||
&:not(.minimized) {
|
||||
top: 0;
|
||||
height: 100vh !important;
|
||||
padding-top: @mobile-header-height;
|
||||
padding-top: @header-height-phone;
|
||||
|
||||
&:before {
|
||||
content: " ";
|
||||
.toolbar();
|
||||
.header-background();
|
||||
opacity: 0;
|
||||
|
||||
.visible& {
|
||||
@@ -125,29 +125,29 @@
|
||||
}
|
||||
}
|
||||
|
||||
& .composer-controls {
|
||||
z-index: @zindex-navbar-fixed + 1;
|
||||
& .Composer-controls {
|
||||
z-index: @zindex-header + 1;
|
||||
|
||||
& li:not(.back-control) {
|
||||
li:not(.App-backControl) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.composer-content {
|
||||
.ComposerBody-content {
|
||||
.minimized & {
|
||||
margin-right: 50px;
|
||||
}
|
||||
}
|
||||
.composer-avatar {
|
||||
.ComposerBody-avatar {
|
||||
display: none;
|
||||
}
|
||||
.composer-header {
|
||||
.ComposerBody-header {
|
||||
margin-bottom: 0;
|
||||
|
||||
& > li {
|
||||
> li {
|
||||
display: block;
|
||||
border-bottom: 1px solid @fl-body-secondary-color;
|
||||
border-bottom: 1px solid @control-bg;
|
||||
padding: 10px 15px;
|
||||
|
||||
.minimized & {
|
||||
@@ -155,19 +155,19 @@
|
||||
padding: 15px;
|
||||
}
|
||||
}
|
||||
& h3 {
|
||||
&, & a, & input {
|
||||
h3 {
|
||||
&, a, input {
|
||||
font-size: 14px;
|
||||
}
|
||||
& input {
|
||||
input {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.composer-editor {
|
||||
.ComposerBody-editor {
|
||||
padding: 15px;
|
||||
|
||||
& textarea {
|
||||
textarea {
|
||||
height: 50vh !important;
|
||||
}
|
||||
}
|
||||
@@ -175,8 +175,8 @@
|
||||
|
||||
// On larger screens, show the composer as a window at the bottom of the
|
||||
// content area. We hide a lot of the content when the composer is minimized.
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.composer-container {
|
||||
@media @tablet-up {
|
||||
.App-composer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
@@ -185,21 +185,21 @@
|
||||
pointer-events: none;
|
||||
.transition(left 0.2s);
|
||||
}
|
||||
.composer {
|
||||
border-radius: @border-radius-base @border-radius-base 0 0;
|
||||
background: fade(@fl-body-bg, 95%);
|
||||
.Composer {
|
||||
border-radius: @border-radius @border-radius 0 0;
|
||||
background: fade(@body-bg, 95%);
|
||||
transform: translateZ(0); // Fix for Chrome bug where a transparent white background is actually gray
|
||||
position: relative;
|
||||
height: 300px;
|
||||
.transition(~"background 0.2s, box-shadow 0.2s");
|
||||
|
||||
&.active, &.full-screen {
|
||||
background: @fl-body-bg;
|
||||
&.active, &.fullScreen {
|
||||
background: @body-bg;
|
||||
}
|
||||
&.active:not(.full-screen) {
|
||||
box-shadow: 0 0 0 2px @fl-body-primary-color, 0 2px 6px @fl-shadow-color;
|
||||
&.active:not(.fullScreen) {
|
||||
box-shadow: 0 0 0 2px @primary-color, 0 2px 6px @shadow-color;
|
||||
}
|
||||
&.full-screen {
|
||||
&.fullScreen {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
@@ -209,69 +209,70 @@
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.composer-controls {
|
||||
.full-screen & .btn {
|
||||
.Composer-controls {
|
||||
.fullScreen & .Button {
|
||||
padding: 13px;
|
||||
width: auto;
|
||||
|
||||
& .fa {
|
||||
.Button-icon {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.composer-header {
|
||||
.full-screen & {
|
||||
.ComposerBody-header {
|
||||
.fullScreen & {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
.composer-content {
|
||||
.Composer-content {
|
||||
padding: 20px 20px 0;
|
||||
|
||||
.minimized & {
|
||||
padding: 12px 20px;
|
||||
}
|
||||
.full-screen & {
|
||||
.fullScreen & {
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
padding: 30px;
|
||||
}
|
||||
}
|
||||
.composer-handle {
|
||||
.Composer-handle {
|
||||
height: 15px;
|
||||
margin-bottom: -17px;
|
||||
position: relative;
|
||||
|
||||
.minimized &, .full-screen & {
|
||||
.minimized &, .fullScreen & {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.composer-avatar {
|
||||
.ComposerBody-avatar {
|
||||
float: left;
|
||||
.avatar-size(64px);
|
||||
.Avatar--size(64px);
|
||||
|
||||
.minimized &, .full-screen & {
|
||||
.minimized &, .fullScreen & {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.composer-body {
|
||||
.ComposerBody-content {
|
||||
margin-left: 90px;
|
||||
|
||||
.minimized &, .full-screen & {
|
||||
.minimized &, .fullScreen & {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
.composer-editor {
|
||||
.full-screen & textarea {
|
||||
.ComposerBody-editor {
|
||||
.fullScreen & textarea {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media @desktop, @desktop-hd {
|
||||
.composer:not(.full-screen) {
|
||||
@media @desktop-up {
|
||||
.Composer:not(.fullScreen) {
|
||||
margin-left: -20px;
|
||||
margin-right: 180px;
|
||||
|
||||
.index-page & {
|
||||
.App--index & {
|
||||
margin-left: 205px;
|
||||
margin-right: -20px;
|
||||
}
|
||||
@@ -279,21 +280,21 @@
|
||||
}
|
||||
|
||||
@media @desktop-hd {
|
||||
.has-pane.pane-pinned .composer-container {
|
||||
left: @index-pane-width;
|
||||
.hasPane.panePinned .App-composer {
|
||||
left: @pane-width;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Text Editor
|
||||
|
||||
.text-editor {
|
||||
.TextEditor {
|
||||
& textarea {
|
||||
border-radius: 0;
|
||||
padding: 0 0 10px;
|
||||
border: 0;
|
||||
resize: none;
|
||||
color: @fl-body-color;
|
||||
color: @text-color;
|
||||
font-size: 14px;
|
||||
line-height: 1.7;
|
||||
|
||||
@@ -303,7 +304,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.text-editor-controls {
|
||||
.TextEditor-controls {
|
||||
margin: 0;
|
||||
padding: 15px 0;
|
||||
list-style-type: none;
|
||||
@@ -313,19 +314,19 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.text-editor-controls {
|
||||
@media @tablet-up {
|
||||
.TextEditor-controls {
|
||||
margin: 0 -20px 0 -110px;
|
||||
padding: 15px 20px;
|
||||
border-top: 1px solid @fl-body-secondary-color;
|
||||
border-top: 1px solid @control-bg;
|
||||
|
||||
.full-screen & {
|
||||
.fullScreen & {
|
||||
margin: 0;
|
||||
border-top: 0;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
& .btn-primary {
|
||||
& .Button--primary {
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
19
less/forum/DiscussionHero.less
Normal file
19
less/forum/DiscussionHero.less
Normal file
@@ -0,0 +1,19 @@
|
||||
.DiscussionHero {
|
||||
.badges {
|
||||
margin-right: 5px;
|
||||
margin-bottom: -2px;
|
||||
}
|
||||
}
|
||||
.DiscussionHero-items {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
|
||||
& > li {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.DiscussionHero-title {
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
}
|
22
less/forum/DiscussionList.less
Normal file
22
less/forum/DiscussionList.less
Normal file
@@ -0,0 +1,22 @@
|
||||
// ------------------------------------
|
||||
// Discussions List
|
||||
|
||||
.DiscussionList-discussions {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
position: relative;
|
||||
}
|
||||
.DiscussionList-loadMore {
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.DiscussionList-loadMore .LoadingIndicator {
|
||||
height: 46px;
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.DiscussionList {
|
||||
margin: 0 -15px;
|
||||
}
|
||||
}
|
253
less/forum/DiscussionListItem.less
Normal file
253
less/forum/DiscussionListItem.less
Normal file
@@ -0,0 +1,253 @@
|
||||
.DiscussionListItem {
|
||||
.tooltip .tooltip-inner {
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.DiscussionListItem-content {
|
||||
position: relative;
|
||||
color: @muted-color;
|
||||
}
|
||||
.DiscussionListItem-main {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
.DiscussionListItem-author {
|
||||
float: left;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.DiscussionListItem-badges {
|
||||
float: left;
|
||||
margin-top: 10px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
pointer-events: none;
|
||||
|
||||
.badge {
|
||||
margin-left: -15px;
|
||||
position: relative;
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-main {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
padding: 12px 0;
|
||||
}
|
||||
.DiscussionListItem-title {
|
||||
margin: 0 0 5px;
|
||||
line-height: 1.3;
|
||||
color: @heading-color;
|
||||
font-weight: normal;
|
||||
|
||||
.unread & {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-info {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 12px;
|
||||
|
||||
> li {
|
||||
display: inline;
|
||||
}
|
||||
.username {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-count {
|
||||
float: right;
|
||||
margin-top: 12px;
|
||||
text-decoration: none;
|
||||
|
||||
.unread & {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-relevantPosts {
|
||||
padding-bottom: 15px;
|
||||
|
||||
@media @phone {
|
||||
margin-left: -45px;
|
||||
margin-right: -35px;
|
||||
}
|
||||
|
||||
.PostPreview {
|
||||
background: @control-bg;
|
||||
display: block;
|
||||
padding: 10px 15px;
|
||||
border-bottom: 2px dotted @body-bg;
|
||||
color: @muted-color;
|
||||
transition: border-color 0.2s;
|
||||
|
||||
.DiscussionListItem:hover & {
|
||||
border-color: lighten(@control-bg, 3%);
|
||||
}
|
||||
|
||||
.Avatar, time {
|
||||
display: none;
|
||||
}
|
||||
.PostPreview-content {
|
||||
padding-left: 0;
|
||||
}
|
||||
&:first-child {
|
||||
border-radius: @border-radius @border-radius 0 0;
|
||||
}
|
||||
&:hover {
|
||||
background: darken(@control-bg, 3%);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media @phone {
|
||||
.DiscussionListItem-controls {
|
||||
display: none;
|
||||
}
|
||||
.DiscussionListItem-content {
|
||||
padding-left: 15px + 45px;
|
||||
padding-right: 15px + 35px;
|
||||
|
||||
&:active {
|
||||
background: @control-bg;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-author {
|
||||
margin-left: -45px;
|
||||
|
||||
.Avatar {
|
||||
.Avatar--size(32px);
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-badges {
|
||||
margin-left: -45px;
|
||||
width: 38px;
|
||||
|
||||
.badge {
|
||||
.Badge--size(20px);
|
||||
margin-left: -13px;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-main {
|
||||
margin-right: -45px;
|
||||
}
|
||||
.DiscussionListItem-title {
|
||||
font-size: 14px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.DiscussionListItem-count {
|
||||
margin-right: -35px;
|
||||
background: @control-bg;
|
||||
color: @control-color;
|
||||
border-radius: @border-radius;
|
||||
font-size: 12px;
|
||||
padding: 2px 6px;
|
||||
|
||||
.unread& {
|
||||
background: @primary-color;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
|
||||
&:active {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media @tablet-up {
|
||||
.DiscussionListItem {
|
||||
position: relative;
|
||||
margin-right: -15px;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-left: -15px;
|
||||
border-radius: @border-radius;
|
||||
transition: background 0.2s;
|
||||
|
||||
&:hover {
|
||||
background: @control-bg;
|
||||
}
|
||||
&:hover .DiscussionListItem-controls,
|
||||
.DiscussionListItem-controls.open {
|
||||
opacity: 1;
|
||||
}
|
||||
.DiscussionListItem-controls.open {
|
||||
z-index: 3;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-controls {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 15px;
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
|
||||
.Dropdown-toggle {
|
||||
display: block;
|
||||
}
|
||||
.Dropdown-menu {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-content {
|
||||
padding-left: 52px;
|
||||
padding-right: 75px;
|
||||
}
|
||||
.DiscussionListItem-author {
|
||||
margin-left: -52px;
|
||||
|
||||
.Avatar {
|
||||
.Avatar--size(36px);
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-badges {
|
||||
margin-left: -55px;
|
||||
width: 48px;
|
||||
}
|
||||
.DiscussionListItem-main {
|
||||
margin-right: -65px;
|
||||
}
|
||||
.DiscussionListItem-title {
|
||||
font-size: 16px;
|
||||
}
|
||||
.DiscussionListItem-count {
|
||||
margin-top: 21px;
|
||||
margin-right: -65px;
|
||||
width: 55px;
|
||||
color: @muted-color;
|
||||
font-size: 14px;
|
||||
padding-left: 21px;
|
||||
|
||||
&:before {
|
||||
.fa();
|
||||
content: @fa-var-comment-o;
|
||||
float: left;
|
||||
margin-left: -21px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.unread & {
|
||||
color: @heading-color;
|
||||
font-weight: bold;
|
||||
|
||||
&:before {
|
||||
content: @fa-var-comment;
|
||||
}
|
||||
&:hover:before {
|
||||
content: @fa-var-check;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
145
less/forum/DiscussionPage.less
Normal file
145
less/forum/DiscussionPage.less
Normal file
@@ -0,0 +1,145 @@
|
||||
.DiscussionPage-nav {
|
||||
> ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.DiscussionPage-nav {
|
||||
margin: 0 -15px;
|
||||
border-bottom: 1px solid @control-bg;
|
||||
|
||||
> ul > li {
|
||||
margin: 15px;
|
||||
display: inline-block;
|
||||
|
||||
&.item-controls, &.item-scrubber {
|
||||
margin: 0;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media @tablet-up {
|
||||
.DiscussionPage-nav {
|
||||
float: right;
|
||||
|
||||
&, > ul {
|
||||
width: 150px;
|
||||
}
|
||||
> ul {
|
||||
position: fixed;
|
||||
margin-top: 30px;
|
||||
z-index: 1;
|
||||
|
||||
> li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.ButtonGroup, .Button {
|
||||
width: 100%;
|
||||
}
|
||||
.ButtonGroup:not(.itemCount1) {
|
||||
.SplitDropdown-button {
|
||||
width: 77%;
|
||||
}
|
||||
.Dropdown-toggle {
|
||||
width: 22%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet-up {
|
||||
.DiscussionPage-stream {
|
||||
margin-right: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Discussions Pane
|
||||
|
||||
@media @phone {
|
||||
.DiscussionPage-list {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet-up {
|
||||
.DiscussionPage-list {
|
||||
left: -@pane-width;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
z-index: @zindex-pane;
|
||||
overflow: auto;
|
||||
top: @header-height;
|
||||
bottom: 0;
|
||||
width: @pane-width;
|
||||
background: @body-bg;
|
||||
padding-bottom: 40px;
|
||||
border-top: 1px solid @control-bg;
|
||||
.box-shadow(2px 2px 6px -2px @shadow-color);
|
||||
.transition(left 0.2s);
|
||||
|
||||
.paneShowing & {
|
||||
left: 0;
|
||||
}
|
||||
.DiscussionListItem {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
|
||||
&.active {
|
||||
background: @control-bg;
|
||||
}
|
||||
}
|
||||
.DiscussionListItem-controls {
|
||||
top: 5px;
|
||||
}
|
||||
.DiscussionListItem-content {
|
||||
padding-left: 52px + 15px;
|
||||
padding-right: 65px + 15px;
|
||||
}
|
||||
.DiscussionListItem-title {
|
||||
font-size: 14px;
|
||||
}
|
||||
.DiscussionListItem-relevantPosts {
|
||||
margin-left: -52px;
|
||||
margin-right: -65px;
|
||||
}
|
||||
.DiscussionListItem-count {
|
||||
margin-top: 11px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media @desktop-hd {
|
||||
.DiscussionPage-list {
|
||||
.panePinned & {
|
||||
left: 0;
|
||||
z-index: @zindex-composer - 1;
|
||||
.transition(none);
|
||||
}
|
||||
}
|
||||
// When the pane is pinned, move the other page content inwards
|
||||
.App-content, .App-footer {
|
||||
.hasPane.panePinned & {
|
||||
margin-left: @pane-width;
|
||||
|
||||
.container {
|
||||
max-width: 100%;
|
||||
padding-left: 30px;
|
||||
padding-right: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.App-header .container {
|
||||
transition: width 0.2s;
|
||||
|
||||
.hasPane.panePinned & {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
47
less/forum/Hero.less
Normal file
47
less/forum/Hero.less
Normal file
@@ -0,0 +1,47 @@
|
||||
.Hero {
|
||||
margin-top: -1px;
|
||||
background: @hero-bg;
|
||||
text-align: center;
|
||||
color: @hero-color;
|
||||
|
||||
h2 {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
.container {
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
}
|
||||
.Hero-close {
|
||||
float: right;
|
||||
margin-top: -10px;
|
||||
color: inherit;
|
||||
}
|
||||
.Hero-subtitle {
|
||||
margin: 8px 0 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.Hero-close {
|
||||
margin-right: -10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet-up {
|
||||
.Hero {
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
.container {
|
||||
padding-top: 40px;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
}
|
||||
.Hero-subtitle {
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
37
less/forum/IndexPage.less
Normal file
37
less/forum/IndexPage.less
Normal file
@@ -0,0 +1,37 @@
|
||||
// ------------------------------------
|
||||
// Sidebar
|
||||
|
||||
@media @desktop-up {
|
||||
.IndexPage-nav .item-newDiscussion .Button {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Results
|
||||
|
||||
.IndexPage-toolbar {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.IndexPage-toolbar-view, .IndexPage-toolbar-action {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
|
||||
> li {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.IndexPage-toolbar-view > li {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.IndexPage-toolbar-action {
|
||||
float: right;
|
||||
|
||||
> li {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
49
less/forum/NotificationGrid.less
Normal file
49
less/forum/NotificationGrid.less
Normal file
@@ -0,0 +1,49 @@
|
||||
.NotificationGrid {
|
||||
background: @control-bg;
|
||||
border-radius: @border-radius;
|
||||
|
||||
td, th {
|
||||
border-bottom: 1px solid @body-bg;
|
||||
color: @control-color;
|
||||
}
|
||||
td, th, .Checkbox {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
.NotificationGrid-checkbox {
|
||||
padding: 0;
|
||||
}
|
||||
thead {
|
||||
th {
|
||||
text-align: center;
|
||||
padding: 15px 25px;
|
||||
}
|
||||
.icon {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
width: auto;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.NotificationGrid-groupToggle {
|
||||
cursor: pointer;
|
||||
|
||||
.icon {
|
||||
font-size: 14px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
.NotificationGrid-checkbox {
|
||||
.Checkbox {
|
||||
display: block;
|
||||
}
|
||||
.Checkbox-display {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
&.highlighted .Checkbox, .Checkbox:hover {
|
||||
&:not(.disabled) {
|
||||
background: darken(@control-bg, 4%);
|
||||
}
|
||||
}
|
||||
}
|
121
less/forum/NotificationList.less
Normal file
121
less/forum/NotificationList.less
Normal file
@@ -0,0 +1,121 @@
|
||||
|
||||
.NotificationList {
|
||||
& .loading-indicator {
|
||||
height: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
.NotificationList-header {
|
||||
@media @tablet-up {
|
||||
padding: 12px 15px;
|
||||
border-bottom: 1px solid @control-bg;
|
||||
|
||||
h4 {
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
color: @muted-color;
|
||||
}
|
||||
.Button {
|
||||
float: right;
|
||||
margin-top: -11px;
|
||||
margin-right: -11px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.NotificationList-empty {
|
||||
color: @muted-color;
|
||||
text-align: center;
|
||||
padding: 50px 0;
|
||||
font-size: 16px;
|
||||
}
|
||||
.NotificationGroup {
|
||||
border-top: 1px solid @control-bg;
|
||||
margin-top: -1px;
|
||||
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
.NotificationGroup-header {
|
||||
font-weight: bold;
|
||||
color: @heading-color !important;
|
||||
padding: 6px 15px;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.NotificationGroup-badges {
|
||||
margin-left: -2px;
|
||||
margin-right: 18px;
|
||||
vertical-align: 1px;
|
||||
|
||||
.badge {
|
||||
margin-right: -13px;
|
||||
position: relative;
|
||||
.Badge--size(21px);
|
||||
}
|
||||
}
|
||||
.NotificationGroup-content {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.Notification {
|
||||
> a {
|
||||
display: block;
|
||||
padding: 8px 15px 8px 70px;
|
||||
color: @muted-color;
|
||||
overflow: hidden;
|
||||
|
||||
.unread& {
|
||||
background: @control-bg;
|
||||
}
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
background: @control-bg;
|
||||
}
|
||||
}
|
||||
.Avatar {
|
||||
.Avatar--size(24px);
|
||||
float: left;
|
||||
margin: -2px 0 -2px -55px;
|
||||
}
|
||||
time {
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
.Notification-icon {
|
||||
float: left;
|
||||
margin-left: -23px;
|
||||
font-size: 14px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.Notification-content {
|
||||
margin-right: 5px;
|
||||
|
||||
.username {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.drawerToggle.unreadNotifications {
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
background: @primary-color;
|
||||
top: 8px;
|
||||
right: 6px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border-radius: 7px;
|
||||
border: 2px solid @body-bg;
|
||||
}
|
||||
}
|
39
less/forum/NotificationsDropdown.less
Normal file
39
less/forum/NotificationsDropdown.less
Normal file
@@ -0,0 +1,39 @@
|
||||
.NotificationsDropdown {
|
||||
.Dropdown-menu {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
|
||||
.NotificationList-content {
|
||||
max-height: 70vh;
|
||||
overflow: auto;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
& .Dropdown-toggle .Button-label {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
@media @tablet-up {
|
||||
.NotificationsDropdown {
|
||||
.Dropdown-menu {
|
||||
width: 400px;
|
||||
}
|
||||
.Dropdown-toggle {
|
||||
.Button--icon();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.NotificationsDropdown-button.unread .Button-icon {
|
||||
display: inline-block;
|
||||
border-radius: 12px;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
text-align: center;
|
||||
padding: 2px 0;
|
||||
font-weight: bold;
|
||||
margin: -2px 0;
|
||||
background: @primary-color;
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
}
|
398
less/forum/Post.less
Normal file
398
less/forum/Post.less
Normal file
@@ -0,0 +1,398 @@
|
||||
// ------------------------------------
|
||||
// Posts
|
||||
|
||||
.Post {
|
||||
padding: 30px 0;
|
||||
transition: 0.2s box-shadow, top 0.2s, opacity 0.2s;
|
||||
position: relative;
|
||||
top: 0;
|
||||
|
||||
&.editing {
|
||||
top: 5px;
|
||||
opacity: 0.2;
|
||||
}
|
||||
}
|
||||
.Post-controls {
|
||||
float: right;
|
||||
margin-top: -8px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.Post-header {
|
||||
margin-bottom: 10px;
|
||||
color: @muted-color;
|
||||
|
||||
&, a {
|
||||
color: @muted-color;
|
||||
}
|
||||
> ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
> li {
|
||||
display: inline;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.PostUser {
|
||||
margin: 0;
|
||||
display: inline;
|
||||
font-weight: normal;
|
||||
position: relative;
|
||||
|
||||
h3 {
|
||||
display: inline;
|
||||
}
|
||||
h3, h3 a {
|
||||
color: @heading-color;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.UserCard {
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: -100px;
|
||||
z-index: @zindex-dropdown;
|
||||
.transition(~"opacity 0.2s, transform 0.2s");
|
||||
transform: scale(0.95);
|
||||
transform-origin: left top;
|
||||
opacity: 0;
|
||||
|
||||
&.in {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
.PostUser-badges {
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
pointer-events: none;
|
||||
|
||||
.Badge {
|
||||
margin-left: -15px;
|
||||
position: relative;
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.Post-body {
|
||||
font-size: 14px;
|
||||
line-height: 1.7;
|
||||
position: relative;
|
||||
|
||||
p, ul, ol, blockquote {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
a {
|
||||
border-bottom: 1px solid @control-bg;
|
||||
font-weight: 600;
|
||||
|
||||
&:hover, &:focus, &:active {
|
||||
text-decoration: none;
|
||||
border-color: @link-color;
|
||||
}
|
||||
}
|
||||
blockquote {
|
||||
font-size: inherit;
|
||||
border: 0;
|
||||
background: @control-bg;
|
||||
color: @control-color;
|
||||
border-radius: @border-radius;
|
||||
padding: 10px 15px;
|
||||
border-top: 2px dotted @body-bg;
|
||||
border-bottom: 2px dotted @body-bg;
|
||||
margin: 1em 0;
|
||||
}
|
||||
pre {
|
||||
border: 0;
|
||||
padding: 15px;
|
||||
background: darken(@body-bg, 3%);
|
||||
color: #666;
|
||||
font-size: 90%;
|
||||
border-radius: @border-radius;
|
||||
}
|
||||
h1 {
|
||||
font-size: 160%;
|
||||
}
|
||||
h2 {
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
}
|
||||
h3 {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
h4, h5, h6 {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.Post.hidden {
|
||||
.Post-header, .Post-header a, .Post-user h3, .Post-user h3 a {
|
||||
color: @muted-more-color;
|
||||
}
|
||||
.Post-body, .Post-footer, h3 .Avatar, .PostUser-badges {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
margin-top: -5px;
|
||||
.transition(~"margin-top 0.2s, opacity 0.2s");
|
||||
}
|
||||
&.revealContent {
|
||||
.Post-body, .Post-footer, h3 .Avatar, .PostUser-badges {
|
||||
position: static;
|
||||
visibility: visible;
|
||||
opacity: 0.5;
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
.Post-header .Button--more {
|
||||
background: fade(@muted-more-color, 30%);
|
||||
color: @muted-more-color;
|
||||
}
|
||||
}
|
||||
.PostMeta {
|
||||
display: inline;
|
||||
}
|
||||
.PostMeta .Dropdown-menu {
|
||||
width: 400px;
|
||||
padding: 10px;
|
||||
color: @muted-color;
|
||||
|
||||
@media @phone {
|
||||
padding: 15px !important;
|
||||
}
|
||||
}
|
||||
.PostMeta-number {
|
||||
color: @text-color;
|
||||
font-weight: bold;
|
||||
}
|
||||
.PostMeta-time {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.PostMeta-permalink {
|
||||
margin-top: 10px;
|
||||
|
||||
a& {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.EventPost-icon {
|
||||
float: left;
|
||||
}
|
||||
.EventPost {
|
||||
&, a {
|
||||
color: @muted-color;
|
||||
}
|
||||
a {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.EventPost-info {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.DiscussionRenamedPost-old, .DiscussionRenamedPost-new {
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.Post-footer, .Post-actions {
|
||||
> ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
&, a {
|
||||
color: @muted-color;
|
||||
}
|
||||
a {
|
||||
display: inline-block;
|
||||
|
||||
.icon {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.Post-footer {
|
||||
> ul {
|
||||
> li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
.icon {
|
||||
font-size: 14px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.Post-actions {
|
||||
margin-top: 10px;
|
||||
.transition(opacity 0.2s);
|
||||
|
||||
@media @tablet-up {
|
||||
margin-bottom: -10px;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
> ul {
|
||||
> li {
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.Post:hover & {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.PostStream-timeGap {
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
color: @muted-color;
|
||||
padding: 20px 20px 20px 90px;
|
||||
background: @control-bg;
|
||||
font-size: 12px;
|
||||
|
||||
@media @phone {
|
||||
margin: 0 -15px;
|
||||
padding: 20px 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.PostPreview {
|
||||
color: @muted-color;
|
||||
padding-left: 50px;
|
||||
line-height: 1.7em;
|
||||
|
||||
.Avatar {
|
||||
float: left;
|
||||
margin-left: -50px;
|
||||
.Avatar--size(32px);
|
||||
}
|
||||
.username {
|
||||
color: @text-color;
|
||||
font-weight: bold;
|
||||
margin-right: 5px;
|
||||
}
|
||||
time {
|
||||
margin-right: 5px;
|
||||
text-transform: uppercase;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.Post-controls {
|
||||
margin-top: -6px;
|
||||
margin-right: -8px;
|
||||
|
||||
.Dropdown-toggle {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
.Post-header {
|
||||
.Avatar {
|
||||
.Avatar--size(32px);
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.PostUser-badges {
|
||||
position: absolute;
|
||||
top: -12px;
|
||||
left: 6px;
|
||||
width: 32px;
|
||||
|
||||
.Badge {
|
||||
.Badge--size(20px);
|
||||
margin-left: -13px;
|
||||
}
|
||||
}
|
||||
.EventPost {
|
||||
padding-left: 30px;
|
||||
}
|
||||
.EventPost-icon {
|
||||
font-size: 18px;
|
||||
margin-left: -30px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet-up {
|
||||
.Post {
|
||||
padding-left: 90px;
|
||||
|
||||
.Post-controls {
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
&:hover .Post-controls, .Post-controls.open {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.PostUser-avatar {
|
||||
margin-left: -90px;
|
||||
float: left;
|
||||
.Avatar--size(64px);
|
||||
}
|
||||
.PostUser-badges {
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-left: -85px;
|
||||
margin-top: -3px;
|
||||
width: 64px;
|
||||
}
|
||||
.EventPost-icon {
|
||||
text-align: right;
|
||||
margin-left: -90px;
|
||||
width: 64px;
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
.ReplyPlaceholder {
|
||||
font-size: 15px;
|
||||
cursor: text;
|
||||
overflow: hidden;
|
||||
margin-top: 50px;
|
||||
border: 2px dashed @control-bg;
|
||||
color: @muted-color;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
|
||||
.Post-header {
|
||||
margin: 0;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
@media @tablet-up {
|
||||
.ReplyPlaceholder {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
padding-left: 110px;
|
||||
border-color: transparent;
|
||||
transition: border-color 0.2s;
|
||||
|
||||
.Post-header {
|
||||
padding-top: 18px;
|
||||
}
|
||||
.Avatar {
|
||||
margin-top: -18px;
|
||||
}
|
||||
&:hover {
|
||||
border-color: @control-bg;
|
||||
}
|
||||
}
|
||||
}
|
83
less/forum/PostStream.less
Normal file
83
less/forum/PostStream.less
Normal file
@@ -0,0 +1,83 @@
|
||||
// ------------------------------------
|
||||
// Stream
|
||||
|
||||
.PostStream {
|
||||
@media @tablet-up {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
.PostStream-item {
|
||||
&:not(:last-child) {
|
||||
border-bottom: 1px solid @control-bg;
|
||||
|
||||
@media @phone {
|
||||
margin: 0 -15px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0% {opacity: 0.5}
|
||||
50% {opacity: 1}
|
||||
100% {opacity: 0.5}
|
||||
}
|
||||
@-webkit-keyframes blink {
|
||||
0% {opacity: 0.5}
|
||||
50% {opacity: 1}
|
||||
100% {opacity: 0.5}
|
||||
}
|
||||
.LoadingPost {
|
||||
.animation(blink 1s linear);
|
||||
.animation-iteration-count(infinite);
|
||||
}
|
||||
.fakeText {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
background: @control-bg;
|
||||
height: 12px;
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
border-radius: @border-radius;
|
||||
|
||||
.Post-header & {
|
||||
height: 16px;
|
||||
width: 150px;
|
||||
|
||||
@media @phone {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// .item.highlight .post {
|
||||
// &:before {
|
||||
// content: "";
|
||||
// position: absolute;
|
||||
// left: -30px;
|
||||
// top: -5px;
|
||||
// bottom: -5px;
|
||||
// width: 5px;
|
||||
// border-radius: @border-radius;
|
||||
// background: @fl-primary-color;
|
||||
// }
|
||||
// }
|
||||
@-webkit-keyframes pulsate {
|
||||
0% {-webkit-transform: scale(1)}
|
||||
50% {-webkit-transform: scale(1.02)}
|
||||
100% {-webkit-transform: scale(1)}
|
||||
}
|
||||
@keyframes pulsate {
|
||||
0% {transform: scale(1)}
|
||||
50% {transform: scale(1.02)}
|
||||
100% {transform: scale(1)}
|
||||
}
|
||||
.pulsate {
|
||||
.animation(pulsate 1s ease-in-out);
|
||||
.animation-iteration-count(infinite);
|
||||
}
|
||||
.flash {
|
||||
.animation(pulsate 0.2s ease-in-out);
|
||||
.animation-iteration-count(1);
|
||||
}
|
95
less/forum/Scrubber.less
Normal file
95
less/forum/Scrubber.less
Normal file
@@ -0,0 +1,95 @@
|
||||
.Scrubber {
|
||||
& a {
|
||||
margin-left: -5px;
|
||||
color: @muted-color;
|
||||
& .fa {
|
||||
font-size: 14px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
&:hover, &:focus {
|
||||
text-decoration: none;
|
||||
color: @link-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
.Scrubber-scrollbar {
|
||||
margin: 8px 0 8px 3px;
|
||||
height: 300px;
|
||||
min-height: 50px; // JavaScript sets a max-height
|
||||
position: relative;
|
||||
}
|
||||
.Scrubber-before, .Scrubber-after {
|
||||
border-left: 1px solid @control-bg;
|
||||
}
|
||||
.Scrubber-unread {
|
||||
position: absolute;
|
||||
border-left: 1px solid lighten(@muted-color, 10%);
|
||||
width: 100%;
|
||||
background-image: linear-gradient(to right, @control-bg, fade(@control-bg, 0) 10px, fade(@control-bg, 0));
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: @muted-color;
|
||||
text-transform: uppercase;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
padding-left: 13px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.Scrubber-handle {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
background: @body-bg;
|
||||
width: 100%;
|
||||
padding: 5px 0;
|
||||
}
|
||||
.Scrubber-bar {
|
||||
height: 100%;
|
||||
width: 5px;
|
||||
background: @primary-color;
|
||||
border-radius: 4px;
|
||||
float: left;
|
||||
margin-left: -2px;
|
||||
transition: background 0.2s;
|
||||
|
||||
.disabled & {
|
||||
background: @control-bg;
|
||||
}
|
||||
}
|
||||
.Scrubber-info {
|
||||
margin-top: -1.5em;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 100%;
|
||||
left: 15px;
|
||||
|
||||
& strong {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.Scrubber-description {
|
||||
color: @muted-color;
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.PostStreamScrubber {
|
||||
.Dropdown-toggle {
|
||||
font-size: 14px;
|
||||
}
|
||||
.Dropdown-menu {
|
||||
padding: 30px;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
.Scrubber-scrollbar {
|
||||
height: 40vh !important;
|
||||
max-height: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet-up {
|
||||
.PostStreamScrubber {
|
||||
margin: 30px 0 0 0;
|
||||
|
||||
.Dropdown--expanded();
|
||||
}
|
||||
}
|
25
less/forum/SettingsPage.less
Normal file
25
less/forum/SettingsPage.less
Normal file
@@ -0,0 +1,25 @@
|
||||
.SettingsPage {
|
||||
margin-top: 5px;
|
||||
|
||||
> ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
> li {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
}
|
||||
fieldset > ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.Settings-account {
|
||||
li {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
|
@@ -4,18 +4,18 @@
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-radius: @border-radius-base;
|
||||
border-radius: @border-radius;
|
||||
padding: 50px 30px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
|
||||
.inverted-components();
|
||||
.light-contents();
|
||||
|
||||
& .avatar {
|
||||
.avatar-size(96px);
|
||||
border: 4px solid @fl-body-bg;
|
||||
.box-shadow(0 2px 6px @fl-shadow-color);
|
||||
.Avatar--size(96px);
|
||||
border: 4px solid @body-bg;
|
||||
.box-shadow(0 2px 6px @shadow-color);
|
||||
}
|
||||
& h3, & p {
|
||||
margin-bottom: 25px;
|
49
less/forum/Slidable.less
Normal file
49
less/forum/Slidable.less
Normal file
@@ -0,0 +1,49 @@
|
||||
.Slidable-underneath {
|
||||
display: none;
|
||||
}
|
||||
.Slidable {
|
||||
position: relative;
|
||||
|
||||
.DiscussionListItem-controls {
|
||||
display: block;
|
||||
position: static;
|
||||
}
|
||||
.Slidable-underneath {
|
||||
display: none;
|
||||
background: @secondary-color !important;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
z-index: 0;
|
||||
color: #fff !important;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
.box-shadow(none);
|
||||
padding: 20px 0;
|
||||
text-align: right;
|
||||
|
||||
.icon {
|
||||
width: 50px;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
.Slideable-underneath--left {
|
||||
text-align: left;
|
||||
}
|
||||
.Slidable-content {
|
||||
.transition(~"box-shadow 0.2s, border-radius 0.2s");
|
||||
|
||||
.sliding& {
|
||||
position: relative;
|
||||
background: #fff;
|
||||
z-index: 2;
|
||||
border-radius: 2px;
|
||||
.box-shadow(0 2px 6px @shadow-color);
|
||||
}
|
||||
}
|
||||
}
|
131
less/forum/UserCard.less
Normal file
131
less/forum/UserCard.less
Normal file
@@ -0,0 +1,131 @@
|
||||
.UserCard {
|
||||
background: @control-bg;
|
||||
.light-contents();
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.UserCard-controls {
|
||||
float: right;
|
||||
|
||||
.Dropdown-menu {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
.UserCard--popover {
|
||||
width: 500px;
|
||||
.box-shadow(0 2px 6px @shadow-color);
|
||||
|
||||
&, .darkenBackground {
|
||||
border-radius: @border-radius;
|
||||
}
|
||||
.container {
|
||||
width: auto !important;
|
||||
padding: 20px !important;
|
||||
}
|
||||
.UserCard-identity {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
.UserCard-profile {
|
||||
text-align: left;
|
||||
padding-left: 130px;
|
||||
max-width: 800px;
|
||||
|
||||
@media @phone {
|
||||
padding-left: 0;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.UserCard-identity {
|
||||
font-weight: normal;
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.UserCard-avatar {
|
||||
float: left;
|
||||
margin-left: -130px;
|
||||
|
||||
@media @phone {
|
||||
float: none;
|
||||
margin: 0 auto 20px;
|
||||
width: 64px + 8px;
|
||||
}
|
||||
.Dropdown-toggle {
|
||||
margin: 4px;
|
||||
line-height: 96px;
|
||||
font-size: 26px;
|
||||
|
||||
@media @phone {
|
||||
line-height: 64px;
|
||||
}
|
||||
}
|
||||
.Avatar {
|
||||
.Avatar--size(96px);
|
||||
border: 4px solid #fff;
|
||||
.box-shadow(0 2px 6px @shadow-color);
|
||||
|
||||
@media @phone {
|
||||
.Avatar--size(64px);
|
||||
}
|
||||
}
|
||||
}
|
||||
.UserCard-badges {
|
||||
list-style: none;
|
||||
margin: 0 0 0 15px;
|
||||
padding: 0;
|
||||
|
||||
&, > li {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.UserCard-info {
|
||||
margin: 15px 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
font-size: 12px;
|
||||
|
||||
> li {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.item-bio {
|
||||
display: block;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
.UserBio {
|
||||
margin: -10px -10px 10px;
|
||||
border: 1px dashed transparent;
|
||||
border-radius: @border-radius;
|
||||
|
||||
&.editable:not(.editing) {
|
||||
cursor: text;
|
||||
|
||||
&:hover {
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
}
|
||||
&, textarea {
|
||||
font-size: 14px;
|
||||
}
|
||||
textarea {
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
resize: none;
|
||||
}
|
||||
}
|
||||
.UserBio-content {
|
||||
padding: 10px 10px 1px;
|
||||
}
|
||||
.UserBio-placeholder {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.UserCard-lastSeen {
|
||||
& .icon {
|
||||
font-size: 14px;
|
||||
}
|
||||
&.online .icon {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
11
less/forum/UserPage.less
Normal file
11
less/forum/UserPage.less
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
.UserPage {
|
||||
.UserCard-controls {
|
||||
float: right;
|
||||
|
||||
.Dropdown-toggle .Button-icon {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,34 +1,23 @@
|
||||
@lib-path: "../lib";
|
||||
@import "../lib/lib.less";
|
||||
|
||||
@import "@{lib-path}/bootstrap.less";
|
||||
|
||||
// We want to specify the @fa-font-path variable AFTER we import font awesome
|
||||
// so that it overrides the default definition.
|
||||
@import "@{lib-path}/font-awesome/font-awesome.less";
|
||||
@fa-font-path: "/assets/fonts";
|
||||
|
||||
@import url(http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700,600,300);
|
||||
|
||||
// Finally, with our vendor CSS loaded, we can import Flarum-specific stuff.
|
||||
@import "@{lib-path}/components.less";
|
||||
@import "@{lib-path}/buttons.less";
|
||||
@import "@{lib-path}/badges.less";
|
||||
@import "@{lib-path}/dropdowns.less";
|
||||
@import "@{lib-path}/avatars.less";
|
||||
@import "@{lib-path}/forms.less";
|
||||
@import "@{lib-path}/alerts.less";
|
||||
@import "@{lib-path}/modals.less";
|
||||
@import "@{lib-path}/layout.less";
|
||||
@import "@{lib-path}/side-nav.less";
|
||||
@import "@{lib-path}/search.less";
|
||||
|
||||
@import "composer.less";
|
||||
@import "notifications.less";
|
||||
@import "hero.less";
|
||||
|
||||
@import "index.less";
|
||||
@import "discussion.less";
|
||||
@import "user.less";
|
||||
@import "settings.less";
|
||||
@import "login.less";
|
||||
@import "signup.less";
|
||||
@import "ActivityPage.less";
|
||||
@import "AvatarEditor.less";
|
||||
@import "Composer.less";
|
||||
@import "DiscussionHero.less";
|
||||
@import "DiscussionList.less";
|
||||
@import "DiscussionListItem.less";
|
||||
@import "DiscussionPage.less";
|
||||
@import "Hero.less";
|
||||
@import "IndexPage.less";
|
||||
@import "LogInModal.less";
|
||||
@import "NotificationGrid.less";
|
||||
@import "NotificationList.less";
|
||||
@import "NotificationsDropdown.less";
|
||||
@import "Post.less";
|
||||
@import "PostStream.less";
|
||||
@import "Scrubber.less";
|
||||
@import "SettingsPage.less";
|
||||
@import "SignUpModal.less";
|
||||
@import "Slidable.less";
|
||||
@import "UserCard.less";
|
||||
@import "UserPage.less";
|
||||
|
@@ -1,690 +0,0 @@
|
||||
// ------------------------------------
|
||||
// Hero
|
||||
|
||||
.discussion-hero {
|
||||
& .badges {
|
||||
margin-right: 5px;
|
||||
margin-bottom: -2px;
|
||||
}
|
||||
& .discussion-hero-items {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
|
||||
& > li {
|
||||
display: inline-block;
|
||||
}
|
||||
& .block-item {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
.discussion-title {
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Sidebar
|
||||
|
||||
.discussion-nav {
|
||||
& > ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.discussion-nav {
|
||||
margin: 0 -15px;
|
||||
border-bottom: 1px solid @fl-body-secondary-color;
|
||||
|
||||
& > ul > li {
|
||||
margin: 15px;
|
||||
display: inline-block;
|
||||
|
||||
&.item-controls, &.item-scrubber {
|
||||
margin: 0;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.discussion-nav {
|
||||
float: right;
|
||||
|
||||
&, & > ul {
|
||||
width: 150px;
|
||||
}
|
||||
& > ul {
|
||||
position: fixed;
|
||||
margin-top: 30px;
|
||||
z-index: 1;
|
||||
|
||||
& > li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
& .btn-group, & .btn {
|
||||
width: 100%;
|
||||
}
|
||||
& .btn-group:not(.item-count-1) {
|
||||
& .btn {
|
||||
width: 77%;
|
||||
}
|
||||
& .dropdown-toggle {
|
||||
width: 22%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Stream
|
||||
|
||||
.discussion-posts {
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
& .item {
|
||||
&:not(:last-child) {
|
||||
border-bottom: 1px solid @fl-body-secondary-color;
|
||||
|
||||
@media @phone {
|
||||
margin: 0 -15px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0% {opacity: 0.5}
|
||||
50% {opacity: 1}
|
||||
100% {opacity: 0.5}
|
||||
}
|
||||
@-webkit-keyframes blink {
|
||||
0% {opacity: 0.5}
|
||||
50% {opacity: 1}
|
||||
100% {opacity: 0.5}
|
||||
}
|
||||
.loading-post {
|
||||
.animation(blink 1s linear);
|
||||
.animation-iteration-count(infinite);
|
||||
}
|
||||
.fake-text {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
background: @fl-body-secondary-color;
|
||||
height: 12px;
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
border-radius: @border-radius-base;
|
||||
|
||||
.post-header & {
|
||||
height: 16px;
|
||||
width: 150px;
|
||||
|
||||
@media @phone {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.discussion-posts {
|
||||
margin-right: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Posts
|
||||
|
||||
.post {
|
||||
padding: 30px 0;
|
||||
transition: 0.2s box-shadow, top 0.2s, opacity 0.2s;
|
||||
position: relative;
|
||||
top: 0;
|
||||
|
||||
&.editing {
|
||||
top: 5px;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
& .contextual-controls {
|
||||
float: right;
|
||||
margin-top: -8px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
.item.highlight .post {
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: -5px;
|
||||
bottom: -5px;
|
||||
width: 5px;
|
||||
border-radius: @border-radius-base;
|
||||
background: @fl-primary-color;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes pulsate {
|
||||
0% {-webkit-transform: scale(1)}
|
||||
50% {-webkit-transform: scale(1.02)}
|
||||
100% {-webkit-transform: scale(1)}
|
||||
}
|
||||
@keyframes pulsate {
|
||||
0% {transform: scale(1)}
|
||||
50% {transform: scale(1.02)}
|
||||
100% {transform: scale(1)}
|
||||
}
|
||||
.item.pulsate {
|
||||
.animation(pulsate 1s ease-in-out);
|
||||
.animation-iteration-count(infinite);
|
||||
}
|
||||
.item.flash {
|
||||
.animation(pulsate 0.2s ease-in-out);
|
||||
.animation-iteration-count(1);
|
||||
}
|
||||
.post-header {
|
||||
margin-bottom: 10px;
|
||||
color: @fl-body-muted-color;
|
||||
|
||||
&, & a {
|
||||
color: @fl-body-muted-color;
|
||||
}
|
||||
& > ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
& > li {
|
||||
display: inline;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
& .post-user {
|
||||
margin: 0;
|
||||
display: inline;
|
||||
font-weight: normal;
|
||||
position: relative;
|
||||
|
||||
& h3 {
|
||||
display: inline;
|
||||
}
|
||||
& h3, & h3 a {
|
||||
color: @fl-body-heading-color;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
& h3 .badges {
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
pointer-events: none;
|
||||
|
||||
& .badge {
|
||||
margin-left: -15px;
|
||||
position: relative;
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
|
||||
& .user-card {
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: -100px;
|
||||
z-index: @zindex-popover;
|
||||
.transition(~"opacity 0.2s, transform 0.2s");
|
||||
transform: scale(0.95);
|
||||
transform-origin: left top;
|
||||
|
||||
&.in {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.post-body {
|
||||
font-size: 14px;
|
||||
line-height: 1.7;
|
||||
position: relative;
|
||||
|
||||
& p, & ul, & ol, & blockquote {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
& a {
|
||||
border-bottom: 1px solid @fl-body-secondary-color;
|
||||
font-weight: 600;
|
||||
|
||||
&:hover, &:focus, &:active {
|
||||
text-decoration: none;
|
||||
border-color: @link-hover-color;
|
||||
}
|
||||
}
|
||||
& blockquote {
|
||||
font-size: inherit;
|
||||
border: 0;
|
||||
background: @fl-body-control-bg;
|
||||
color: @fl-body-control-color;
|
||||
border-radius: @border-radius-base;
|
||||
padding: 10px 20px;
|
||||
border-top: 2px dotted @fl-body-bg;
|
||||
border-bottom: 2px dotted @fl-body-bg;
|
||||
}
|
||||
& pre {
|
||||
border: 0;
|
||||
padding: 15px;
|
||||
background: #f3f3f3;
|
||||
color: #666;
|
||||
font-size: 90%;
|
||||
}
|
||||
& h1 {
|
||||
font-size: 160%;
|
||||
}
|
||||
& h2 {
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
}
|
||||
& h3 {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
& h4, & h5, & h6 {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
& img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
.post.is-hidden {
|
||||
& .post-header, & .post-header a, & .post-user h3, & .post-user h3 a {
|
||||
color: @fl-body-muted-more-color;
|
||||
}
|
||||
& .post-body, & .post-footer, & h3 .avatar, & .post-header .badges {
|
||||
position: absolute;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
margin-top: -5px;
|
||||
.transition(~"margin-top 0.2s, opacity 0.2s");
|
||||
}
|
||||
&.reveal-content {
|
||||
& .post-body, & .post-footer, & h3 .avatar, & .post-header .badges {
|
||||
position: static;
|
||||
visibility: visible;
|
||||
opacity: 0.5;
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
& .post-header .btn-more {
|
||||
background: #eee;
|
||||
color: @fl-body-muted-more-color;
|
||||
}
|
||||
}
|
||||
.post-meta {
|
||||
width: 400px;
|
||||
padding: 10px;
|
||||
color: @fl-body-muted-color;
|
||||
|
||||
& .number {
|
||||
color: @fl-body-color;
|
||||
font-weight: bold;
|
||||
}
|
||||
& .time {
|
||||
margin-left: 5px;
|
||||
}
|
||||
& .permalink {
|
||||
margin-top: 10px;
|
||||
}
|
||||
& a.permalink {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
padding: 15px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.post-icon {
|
||||
float: left;
|
||||
}
|
||||
.event-post {
|
||||
&, & a {
|
||||
color: @fl-body-muted-color;
|
||||
}
|
||||
& a {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.event-post-info {
|
||||
font-size: 15px;
|
||||
}
|
||||
.discussion-renamed-post {
|
||||
& .old-title, & .new-title {
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
|
||||
.post-footer, .post-actions {
|
||||
& > ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
&, & a {
|
||||
color: @fl-body-muted-color;
|
||||
}
|
||||
& a {
|
||||
display: inline-block;
|
||||
|
||||
& .icon {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.post-footer {
|
||||
& > ul {
|
||||
& > li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
& .fa {
|
||||
font-size: 14px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.post-actions {
|
||||
margin-top: 10px;
|
||||
.transition(opacity 0.2s);
|
||||
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
margin-bottom: -10px;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
& > ul {
|
||||
& > li {
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.post:hover & {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.time-gap {
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
color: @fl-body-muted-color;
|
||||
padding: 20px 20px 20px 90px;
|
||||
background: @fl-body-secondary-color;
|
||||
font-size: 12px;
|
||||
|
||||
@media @phone {
|
||||
margin: 0 -15px;
|
||||
padding: 20px 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.post-preview {
|
||||
color: @fl-body-muted-color;
|
||||
padding-left: 50px;
|
||||
line-height: 1.7em;
|
||||
|
||||
& .avatar {
|
||||
float: left;
|
||||
margin-left: -50px;
|
||||
.avatar-size(32px);
|
||||
}
|
||||
& .username {
|
||||
color: @fl-body-color;
|
||||
font-weight: bold;
|
||||
margin-right: 5px;
|
||||
}
|
||||
& time {
|
||||
margin-right: 5px;
|
||||
text-transform: uppercase;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.post {
|
||||
& .contextual-controls {
|
||||
margin-top: -6px;
|
||||
margin-right: -8px;
|
||||
|
||||
& .dropdown-toggle {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
.post-header {
|
||||
& .avatar {
|
||||
.avatar-size(32px);
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.post-user {
|
||||
position: relative;
|
||||
|
||||
& h3 .badges {
|
||||
position: absolute;
|
||||
top: -12px;
|
||||
left: 6px;
|
||||
width: 32px;
|
||||
|
||||
& .badge {
|
||||
.badge-size(20px);
|
||||
margin-left: -13px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.event-post {
|
||||
padding-left: 30px;
|
||||
}
|
||||
.post-icon {
|
||||
font-size: 18px;
|
||||
margin-left: -30px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.post {
|
||||
padding-left: 90px;
|
||||
|
||||
& .contextual-controls {
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
}
|
||||
&:hover .contextual-controls, & .contextual-controls.open {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.post-header {
|
||||
& .avatar {
|
||||
margin-left: -90px;
|
||||
float: left;
|
||||
.avatar-size(64px);
|
||||
}
|
||||
}
|
||||
.post-user {
|
||||
& h3 .badges {
|
||||
float: left;
|
||||
margin-left: -85px;
|
||||
margin-top: -3px;
|
||||
width: 64px;
|
||||
}
|
||||
}
|
||||
.post-icon {
|
||||
text-align: right;
|
||||
margin-left: -90px;
|
||||
width: 64px;
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
.reply-post {
|
||||
font-size: 15px;
|
||||
cursor: text;
|
||||
overflow: hidden;
|
||||
margin-top: 50px;
|
||||
border: 2px dashed @fl-body-secondary-color;
|
||||
color: @fl-body-muted-color;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
|
||||
& .post-header {
|
||||
margin: 0;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.reply-post {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
padding-left: 110px;
|
||||
border-color: transparent;
|
||||
transition: border-color 0.2s;
|
||||
|
||||
& .post-header {
|
||||
padding-top: 18px;
|
||||
}
|
||||
& .avatar {
|
||||
margin-top: -18px;
|
||||
}
|
||||
&:hover {
|
||||
border-color: @fl-body-secondary-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Scrubber
|
||||
|
||||
.scrubber {
|
||||
& a {
|
||||
margin-left: -5px;
|
||||
color: @fl-body-muted-color;
|
||||
& .fa {
|
||||
font-size: 14px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
&:hover, &:focus {
|
||||
text-decoration: none;
|
||||
color: @link-hover-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
.scrubber-scrollbar {
|
||||
margin: 8px 0 8px 3px;
|
||||
height: 300px;
|
||||
min-height: 50px; // JavaScript sets a max-height
|
||||
position: relative;
|
||||
}
|
||||
.scrubber-before, .scrubber-after {
|
||||
border-left: 1px solid @fl-body-secondary-color;
|
||||
}
|
||||
.scrubber-unread {
|
||||
position: absolute;
|
||||
border-left: 1px solid lighten(@fl-body-muted-color, 10%);
|
||||
width: 100%;
|
||||
background-image: linear-gradient(to right, @fl-body-secondary-color, fade(@fl-body-secondary-color, 0) 10px, fade(@fl-body-secondary-color, 0));
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: @fl-body-muted-color;
|
||||
text-transform: uppercase;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
padding-left: 13px;
|
||||
}
|
||||
.scrubber-slider {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
background: @fl-body-bg;
|
||||
width: 100%;
|
||||
padding: 5px 0;
|
||||
}
|
||||
.scrubber-handle {
|
||||
height: 100%;
|
||||
width: 5px;
|
||||
background: @fl-body-primary-color;
|
||||
border-radius: 4px;
|
||||
float: left;
|
||||
margin-left: -2px;
|
||||
transition: background 0.2s;
|
||||
|
||||
.disabled & {
|
||||
background: @fl-body-secondary-color;
|
||||
}
|
||||
}
|
||||
.scrubber-info {
|
||||
height: (2em * @line-height-base);
|
||||
margin-top: (-1em * @line-height-base);
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 100%;
|
||||
left: 15px;
|
||||
|
||||
& strong {
|
||||
display: block;
|
||||
}
|
||||
& .description {
|
||||
color: @fl-body-muted-color;
|
||||
}
|
||||
}
|
||||
.scrubber-highlights {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
list-style-type: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
.scrubber-highlights li {
|
||||
position: absolute;
|
||||
right: -6px;
|
||||
background: #fc0;
|
||||
height: 8px;
|
||||
width: 13px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
|
||||
opacity: 0.99;
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.stream-scrubber {
|
||||
& .dropdown-toggle {
|
||||
font-size: 14px;
|
||||
}
|
||||
& .dropdown-menu {
|
||||
padding: 30px;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.scrubber-scrollbar {
|
||||
height: 40vh !important;
|
||||
max-height: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.stream-scrubber {
|
||||
margin: 30px 0 0 0;
|
||||
|
||||
.expand-dropdown();
|
||||
}
|
||||
}
|
@@ -1,40 +0,0 @@
|
||||
.hero {
|
||||
margin-top: -1px;
|
||||
background: @fl-body-hero-bg;
|
||||
text-align: center;
|
||||
padding: 20px 0;
|
||||
color: @fl-body-hero-color;
|
||||
|
||||
& .close {
|
||||
float: right;
|
||||
margin-top: -10px;
|
||||
color: inherit;
|
||||
}
|
||||
& h2 {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
& .subtitle {
|
||||
margin: 8px 0 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
}
|
||||
@media @phone {
|
||||
.hero {
|
||||
& .close {
|
||||
margin-right: -10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.hero {
|
||||
padding: 40px 0 30px;
|
||||
font-size: 15px;
|
||||
|
||||
& h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,470 +0,0 @@
|
||||
// ------------------------------------
|
||||
// Sidebar
|
||||
|
||||
@media @desktop, @desktop-hd {
|
||||
.index-nav {
|
||||
& .new-discussion {
|
||||
display: block;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Results
|
||||
|
||||
.index-toolbar {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.index-toolbar-view, .index-toolbar-action {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
|
||||
& > li {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.index-toolbar-view {
|
||||
& > li {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.index-toolbar-action {
|
||||
float: right;
|
||||
|
||||
& > li {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
@media @phone, @tablet {
|
||||
.offset-content {
|
||||
margin-top: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
@media @desktop, @desktop-hd {
|
||||
.offset-content {
|
||||
margin-top: 30px;
|
||||
margin-left: 225px;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Discussions Pane
|
||||
|
||||
@media @phone {
|
||||
.index-area.paned {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.index-area {
|
||||
left: -@index-pane-width;
|
||||
width: 100%;
|
||||
|
||||
&.paned {
|
||||
position: fixed;
|
||||
z-index: @zindex-pane;
|
||||
overflow: auto;
|
||||
top: @header-height;
|
||||
bottom: 0;
|
||||
width: @index-pane-width;
|
||||
background: @fl-body-bg;
|
||||
padding-bottom: 40px;
|
||||
border-top: 1px solid @fl-body-control-bg;
|
||||
.box-shadow(2px 2px 6px -2px @fl-shadow-color);
|
||||
.transition(left 0.2s);
|
||||
|
||||
.pane-showing & {
|
||||
left: 0;
|
||||
}
|
||||
& .container {
|
||||
width: auto;
|
||||
margin: 0;
|
||||
padding: 0 !important;
|
||||
}
|
||||
& .index-results {
|
||||
margin: 0;
|
||||
}
|
||||
& .hero, & .index-nav, & .index-toolbar {
|
||||
display: none;
|
||||
}
|
||||
& .discussion-list-item {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
|
||||
&.active {
|
||||
background: @fl-body-control-bg;
|
||||
}
|
||||
& .contextual-controls {
|
||||
top: 5px;
|
||||
}
|
||||
}
|
||||
& .discussion-summary {
|
||||
padding-left: 52px + 15px;
|
||||
padding-right: 65px + 15px;
|
||||
|
||||
& .title {
|
||||
font-size: 14px;
|
||||
}
|
||||
& .relevant-posts {
|
||||
margin-left: -52px;
|
||||
margin-right: -65px;
|
||||
}
|
||||
& .count {
|
||||
margin-top: 11px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media @desktop-hd {
|
||||
.index-area.paned {
|
||||
.pane-pinned & {
|
||||
left: 0;
|
||||
z-index: @zindex-composer - 1;
|
||||
.transition(none);
|
||||
}
|
||||
}
|
||||
// When the pane is pinned, move the other page content inwards
|
||||
.global-content, .global-footer {
|
||||
.has-pane.pane-pinned & {
|
||||
margin-left: @index-pane-width;
|
||||
|
||||
& .container {
|
||||
max-width: 100%;
|
||||
padding: 0 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.global-header .container {
|
||||
transition: width 0.2s;
|
||||
|
||||
.has-pane.pane-pinned & {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Discussions List
|
||||
|
||||
.discussion-list {
|
||||
& .loading-indicator {
|
||||
height: 46px;
|
||||
}
|
||||
|
||||
& > ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.discussion-list {
|
||||
margin: 0 -15px;
|
||||
}
|
||||
}
|
||||
|
||||
.discussion-summary {
|
||||
position: relative;
|
||||
|
||||
&, & .main {
|
||||
color: @fl-body-muted-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
& .author {
|
||||
float: left;
|
||||
margin-top: 15px;
|
||||
}
|
||||
& .tooltip .tooltip-inner {
|
||||
max-width: none;
|
||||
}
|
||||
& .badges {
|
||||
float: left;
|
||||
margin-top: 10px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
pointer-events: none;
|
||||
|
||||
& .badge {
|
||||
margin-left: -15px;
|
||||
position: relative;
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
& .main {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
padding: 12px 0;
|
||||
}
|
||||
&:hover .title {
|
||||
// text-decoration: underline;
|
||||
}
|
||||
& .title {
|
||||
margin: 0 0 5px;
|
||||
line-height: 1.3;
|
||||
color: @fl-body-heading-color;
|
||||
}
|
||||
&.unread .title {
|
||||
font-weight: bold;
|
||||
}
|
||||
& .info {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 12px;
|
||||
|
||||
& > li {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
& .username {
|
||||
font-weight: bold;
|
||||
}
|
||||
& .count {
|
||||
float: right;
|
||||
margin-top: 12px;
|
||||
text-decoration: none;
|
||||
|
||||
.unread& {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
& .relevant-posts {
|
||||
padding-bottom: 15px;
|
||||
|
||||
@media @phone {
|
||||
margin-left: -45px;
|
||||
margin-right: -35px;
|
||||
}
|
||||
|
||||
& .post-preview {
|
||||
background: @fl-body-secondary-color;
|
||||
display: block;
|
||||
padding: 10px 15px;
|
||||
border-bottom: 2px dotted @fl-body-bg;
|
||||
color: @fl-body-muted-color;
|
||||
transition: border-color 0.2s;
|
||||
|
||||
.discussion-list-item:hover & {
|
||||
border-color: lighten(@fl-body-secondary-color, 3%);
|
||||
}
|
||||
|
||||
& .avatar, & time {
|
||||
display: none;
|
||||
}
|
||||
& .post-preview-content {
|
||||
padding-left: 0;
|
||||
}
|
||||
&:first-child {
|
||||
border-radius: @border-radius-base @border-radius-base 0 0;
|
||||
}
|
||||
&:hover {
|
||||
background: darken(@fl-body-secondary-color, 3%);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.load-more {
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
@media @phone {
|
||||
.discussion-summary {
|
||||
padding-left: 15px + 45px;
|
||||
padding-right: 15px + 35px;
|
||||
|
||||
&:active {
|
||||
background: @fl-body-secondary-color;
|
||||
}
|
||||
|
||||
& .author {
|
||||
margin-left: -45px;
|
||||
}
|
||||
& .badges {
|
||||
margin-left: -45px;
|
||||
width: 38px;
|
||||
|
||||
& .badge {
|
||||
.badge-size(20px);
|
||||
margin-left: -13px;
|
||||
}
|
||||
}
|
||||
& .avatar {
|
||||
.avatar-size(32px);
|
||||
}
|
||||
& .main {
|
||||
margin-right: -45px;
|
||||
}
|
||||
& .title {
|
||||
font-size: 14px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
& .count {
|
||||
margin-right: -35px;
|
||||
background: @fl-body-control-bg;
|
||||
color: @fl-body-control-color;
|
||||
border-radius: @border-radius-base;
|
||||
font-size: 12px;
|
||||
padding: 2px 6px;
|
||||
|
||||
.unread& {
|
||||
background: @fl-body-primary-color;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
|
||||
&:active {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
& .label {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.slidable-underneath {
|
||||
display: none;
|
||||
}
|
||||
.discussion-list-item .contextual-controls {
|
||||
display: block;
|
||||
position: static;
|
||||
}
|
||||
.slidable {
|
||||
position: relative;
|
||||
|
||||
& .slidable-underneath {
|
||||
display: none;
|
||||
background: @fl-secondary-color !important;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
z-index: 0;
|
||||
color: #fff !important;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
.box-shadow(none);
|
||||
padding: 20px 0;
|
||||
text-align: right;
|
||||
|
||||
&.slidable-underneath-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
& .icon {
|
||||
width: 50px;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
& .slidable-slider {
|
||||
.transition(~"box-shadow 0.2s, border-radius 0.2s");
|
||||
|
||||
.sliding& {
|
||||
position: relative;
|
||||
background: #fff;
|
||||
z-index: 2;
|
||||
border-radius: 2px;
|
||||
.box-shadow(0 2px 6px @fl-shadow-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.discussion-list-item {
|
||||
position: relative;
|
||||
margin-right: -15px;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-left: -15px;
|
||||
border-radius: @border-radius-base;
|
||||
transition: background 0.2s;
|
||||
|
||||
& .contextual-controls {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 15px;
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
|
||||
& .dropdown-toggle {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
background: lighten(@fl-body-secondary-color, 3%);
|
||||
}
|
||||
&:hover .contextual-controls, & .contextual-controls.open {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.discussion-summary {
|
||||
padding-left: 52px;
|
||||
padding-right: 75px;
|
||||
|
||||
& .author {
|
||||
margin-left: -52px;
|
||||
}
|
||||
& .badges {
|
||||
margin-left: -55px;
|
||||
width: 48px;
|
||||
}
|
||||
& .avatar {
|
||||
.avatar-size(36px);
|
||||
}
|
||||
& .main {
|
||||
margin-right: -65px;
|
||||
}
|
||||
& .title {
|
||||
font-size: 16px;
|
||||
}
|
||||
& .count {
|
||||
margin-top: 21px;
|
||||
margin-right: -65px;
|
||||
width: 55px;
|
||||
color: @fl-body-muted-color;
|
||||
font-size: 14px;
|
||||
padding-left: 21px;
|
||||
|
||||
&:before {
|
||||
.fa();
|
||||
content: @fa-var-comment-o;
|
||||
float: left;
|
||||
margin-left: -21px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.unread& {
|
||||
color: @fl-body-heading-color;
|
||||
font-weight: bold;
|
||||
|
||||
&:before {
|
||||
content: @fa-var-comment;
|
||||
}
|
||||
&:hover:before {
|
||||
content: @fa-var-check;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,159 +0,0 @@
|
||||
.notifications {
|
||||
& .dropdown-menu {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
|
||||
& .notifications-content {
|
||||
max-height: 70vh;
|
||||
overflow: auto;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
& .dropdown-toggle .label {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
.notification-list {
|
||||
& .loading-indicator {
|
||||
height: 100px;
|
||||
}
|
||||
}
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
.notifications {
|
||||
& .dropdown-menu {
|
||||
width: 400px;
|
||||
}
|
||||
& .dropdown-toggle .label {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.notifications-icon {
|
||||
display: inline-block;
|
||||
border-radius: 12px;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
text-align: center;
|
||||
padding: 2px 0;
|
||||
font-weight: bold;
|
||||
margin: -2px -3px;
|
||||
}
|
||||
&.unread .notifications-icon {
|
||||
background: @fl-body-primary-color;
|
||||
color: #fff;
|
||||
}
|
||||
.notifications-header {
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
padding: 12px 15px;
|
||||
border-bottom: 1px solid @fl-body-secondary-color;
|
||||
|
||||
& h4 {
|
||||
font-size: 12px;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
color: @fl-body-muted-color;
|
||||
}
|
||||
& .btn {
|
||||
float: right;
|
||||
margin-top: -5px;
|
||||
margin-right: -5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.no-notifications {
|
||||
color: @fl-body-muted-color;
|
||||
text-align: center;
|
||||
padding: 50px 0;
|
||||
font-size: 16px;
|
||||
}
|
||||
.notification-group {
|
||||
border-top: 1px solid @fl-body-secondary-color;
|
||||
margin-top: -1px;
|
||||
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
.notification-group-header {
|
||||
font-weight: bold;
|
||||
color: @fl-body-heading-color !important;
|
||||
padding: 6px 15px;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
& .badges {
|
||||
margin-left: -2px;
|
||||
margin-right: 18px;
|
||||
vertical-align: 1px;
|
||||
|
||||
& .badge {
|
||||
margin-right: -13px;
|
||||
position: relative;
|
||||
.badge-size(21px);
|
||||
}
|
||||
}
|
||||
}
|
||||
.notification-group-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.notification {
|
||||
& > a {
|
||||
display: block;
|
||||
padding: 8px 15px 8px 70px;
|
||||
color: @fl-body-muted-color;
|
||||
overflow: hidden;
|
||||
|
||||
.unread& {
|
||||
background: @fl-body-secondary-color;
|
||||
}
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
background: @fl-body-secondary-color;
|
||||
}
|
||||
}
|
||||
& .avatar {
|
||||
.avatar-size(24px);
|
||||
float: left;
|
||||
margin: -2px 0 -2px -55px;
|
||||
}
|
||||
& .icon {
|
||||
float: left;
|
||||
margin-left: -23px;
|
||||
font-size: 14px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
& .username {
|
||||
font-weight: bold;
|
||||
}
|
||||
& .content {
|
||||
margin-right: 5px;
|
||||
}
|
||||
& time {
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
.drawer-toggle.unread-notifications {
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
content: ' ';
|
||||
display: block;
|
||||
position: absolute;
|
||||
background: @fl-body-primary-color;
|
||||
top: 4px;
|
||||
right: 2px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border-radius: 7px;
|
||||
border: 2px solid @fl-body-bg;
|
||||
}
|
||||
}
|
@@ -1,73 +0,0 @@
|
||||
.settings {
|
||||
margin-top: 5px;
|
||||
|
||||
& > ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
& > li {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
}
|
||||
& fieldset > ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.settings-account {
|
||||
& li {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.notification-grid {
|
||||
& table {
|
||||
background: @fl-body-control-bg;
|
||||
border-radius: @border-radius-base;
|
||||
}
|
||||
& table td, & table th {
|
||||
border-bottom: 1px solid @fl-body-bg;
|
||||
color: @fl-body-control-color;
|
||||
}
|
||||
& td, & th, & .yesno {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
& thead {
|
||||
& th {
|
||||
text-align: center;
|
||||
padding: 15px 25px;
|
||||
}
|
||||
& .fa {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
width: auto;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
& .toggle-group {
|
||||
& .fa {
|
||||
font-size: 14px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
& .yesno-cell {
|
||||
padding: 0;
|
||||
}
|
||||
& .yesno-control {
|
||||
display: block;
|
||||
}
|
||||
& .yesno {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
& .yesno-cell.highlighted .yesno, & .yesno:hover {
|
||||
&:not(.disabled) {
|
||||
background: darken(@fl-body-control-bg, 4%);
|
||||
}
|
||||
}
|
||||
& .toggle-group {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
@@ -1,253 +0,0 @@
|
||||
.user-card {
|
||||
.inverted-components();
|
||||
background-size: 100% 100%;
|
||||
|
||||
&, & .container {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
.darken-overlay {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.user-hero {
|
||||
& .contextual-controls {
|
||||
float: right;
|
||||
|
||||
& .dropdown-toggle .icon-glyph {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.user-card-popover {
|
||||
width: 500px;
|
||||
padding: 20px;
|
||||
.box-shadow(0 2px 6px @fl-shadow-color);
|
||||
|
||||
&, & .darken-overlay {
|
||||
border-radius: @border-radius-base;
|
||||
}
|
||||
& .container {
|
||||
width: auto !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
& .user-identity {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
.user-profile {
|
||||
text-align: left;
|
||||
padding-left: 130px;
|
||||
max-width: 800px;
|
||||
|
||||
@media @phone {
|
||||
padding-left: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
& .user-identity {
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
}
|
||||
& .user-avatar {
|
||||
float: left;
|
||||
margin-left: -130px;
|
||||
|
||||
@media @phone {
|
||||
float: none;
|
||||
margin: 0 auto 20px;
|
||||
width: 64px + 8px;
|
||||
}
|
||||
}
|
||||
& .avatar-editor .dropdown-toggle {
|
||||
margin: 4px;
|
||||
line-height: 96px;
|
||||
font-size: 26px;
|
||||
|
||||
@media @phone {
|
||||
line-height: 64px;
|
||||
}
|
||||
}
|
||||
& .avatar {
|
||||
.avatar-size(96px);
|
||||
border: 4px solid @fl-body-bg;
|
||||
.box-shadow(0 2px 6px @fl-shadow-color);
|
||||
|
||||
@media @phone {
|
||||
.avatar-size(64px);
|
||||
}
|
||||
}
|
||||
& .badges {
|
||||
margin-left: 10px;
|
||||
}
|
||||
& .user-info {
|
||||
margin: 15px 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
font-size: 12px;
|
||||
|
||||
& > li {
|
||||
display: inline-block;
|
||||
margin-right: 15px;
|
||||
}
|
||||
& .block-item {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
& .user-bio {
|
||||
margin: -10px -10px 10px;
|
||||
border: 1px dashed transparent;
|
||||
border-radius: @border-radius-base;
|
||||
|
||||
&.editable:not(.editing) {
|
||||
cursor: text;
|
||||
|
||||
&:hover {
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
.bio-content {
|
||||
padding: 10px 10px 1px;
|
||||
}
|
||||
|
||||
&, & textarea {
|
||||
font-size: 14px;
|
||||
}
|
||||
& textarea {
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
resize: none;
|
||||
}
|
||||
& .placeholder {
|
||||
opacity: 0.3;
|
||||
}
|
||||
}
|
||||
& .user-last-seen {
|
||||
& .fa {
|
||||
font-size: 14px;
|
||||
}
|
||||
&.online .fa {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.user-activity .loading-indicator {
|
||||
height: 46px;
|
||||
}
|
||||
.activity-list {
|
||||
border-left: 3px solid @fl-body-secondary-color;
|
||||
list-style: none;
|
||||
margin: 0 0 0 16px;
|
||||
padding: 0;
|
||||
|
||||
& > li {
|
||||
margin-bottom: 30px;
|
||||
padding-left: 32px;
|
||||
|
||||
@media @phone {
|
||||
padding-left: 24px;
|
||||
}
|
||||
}
|
||||
& .activity-icon {
|
||||
.avatar-size(32px);
|
||||
float: left;
|
||||
margin-left: -50px;
|
||||
.box-shadow(0 0 0 3px #fff);
|
||||
margin-top: -5px;
|
||||
|
||||
@media @phone {
|
||||
margin-left: -42px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.activity-info {
|
||||
color: @fl-body-muted-color;
|
||||
margin-bottom: 10px;
|
||||
|
||||
& strong {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.activity-content {
|
||||
display: block;
|
||||
padding: 15px;
|
||||
background: @fl-body-secondary-color;
|
||||
border-radius: @border-radius-base;
|
||||
color: @fl-body-muted-color;
|
||||
|
||||
&, &:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
& .discussion-summary {
|
||||
margin: -20px 0;
|
||||
padding-left: 0;
|
||||
|
||||
& .author {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.post-activity {
|
||||
overflow: hidden;
|
||||
|
||||
& .title {
|
||||
margin: 0 0 5px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
|
||||
&, & a {
|
||||
color: @fl-body-heading-color;
|
||||
}
|
||||
}
|
||||
&:hover .title {
|
||||
text-decoration: underline;
|
||||
}
|
||||
& .body {
|
||||
color: @fl-body-muted-color;
|
||||
line-height: 1.7em;
|
||||
|
||||
& :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.avatar-editor {
|
||||
position: relative;
|
||||
|
||||
& .dropdown-toggle {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-radius: 100%;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
}
|
||||
&:hover .dropdown-toggle, &.open .dropdown-toggle, &.loading .dropdown-toggle {
|
||||
opacity: 1;
|
||||
}
|
||||
& .loading-indicator {
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
@media @tablet, @desktop, @desktop-hd {
|
||||
& .dropdown-menu {
|
||||
left: 35%;
|
||||
top: 65%;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user