* Fix all stylelint errors For any errors that fixing would require changing the output of the css disable stylelint for that line instead of modifying. * Update quality.py Make stylelint quality check pass when there are no errors * Delete empty selectors
402 lines
8.4 KiB
SCSS
402 lines
8.4 KiB
SCSS
// discussion - elements - navigation
|
|
// ====================
|
|
|
|
// ------
|
|
// Discussion Forums Page Header
|
|
// ------
|
|
.discussion-board > .page-header {
|
|
.has-breadcrumbs .breadcrumbs {
|
|
margin-bottom: ($baseline / 2);
|
|
font-size: font-size(base);
|
|
font-weight: font-weight(semi-bold);
|
|
line-height: $line-height-base;
|
|
}
|
|
}
|
|
|
|
// -----------
|
|
// Browse menu
|
|
// -----------
|
|
.forum-nav-browse-menu-wrapper {
|
|
border-bottom: 1px solid $forum-color-border;
|
|
background: theme-color("light");
|
|
}
|
|
|
|
.forum-nav-browse-filter {
|
|
position: relative;
|
|
border-bottom: 1px solid $forum-color-border;
|
|
padding: ($baseline/4);
|
|
}
|
|
|
|
.forum-nav-browse-filter .icon {
|
|
@include right($baseline/4 + 1px + $baseline / 4); // Wrapper padding + border + input padding
|
|
|
|
font-size: $forum-small-font-size;
|
|
position: absolute;
|
|
margin-top: -6px;
|
|
top: 75%;
|
|
}
|
|
|
|
.forum-nav-browse-filter-input {
|
|
width: 100%;
|
|
}
|
|
|
|
.forum-nav-browse-menu-following {
|
|
.icon {
|
|
@include float(left);
|
|
@include left($baseline / 2);
|
|
|
|
position: relative;
|
|
top: 13px;
|
|
}
|
|
|
|
.forum-nav-browse-title {
|
|
@include padding-left($baseline * 1.5);
|
|
}
|
|
}
|
|
|
|
.forum-nav-browse-menu-item {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.forum-nav-browse-title {
|
|
@include text-align(left);
|
|
|
|
display: block;
|
|
width: 100%;
|
|
border: 0;
|
|
border-radius: 0;
|
|
border-bottom: 1px solid $forum-color-border;
|
|
padding: ($baseline/2);
|
|
background: transparent;
|
|
box-shadow: none;
|
|
background-image: none;
|
|
cursor: pointer;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.is-focused {
|
|
// switched from a to button;
|
|
// need to override button styles
|
|
background-image: none !important;
|
|
box-shadow: none !important;
|
|
background: $forum-color-background !important; /* stylelint-disable-line */
|
|
}
|
|
}
|
|
|
|
.forum-nav-browse-title .icon {
|
|
@include margin-right($baseline/2);
|
|
}
|
|
|
|
.forum-nav-browse-menu {
|
|
@include padding-left(0);
|
|
|
|
margin: 0;
|
|
font-size: $forum-base-font-size;
|
|
overflow-y: scroll;
|
|
list-style: none;
|
|
max-height: 600px;
|
|
}
|
|
|
|
.forum-nav-browse-submenu {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
li {
|
|
.forum-nav-browse-title {
|
|
@include padding-left($baseline);
|
|
}
|
|
}
|
|
}
|
|
|
|
// -------------------
|
|
// Sort and filter bar
|
|
// -------------------
|
|
|
|
.forum-nav-refine-bar {
|
|
@include clearfix();
|
|
@include border-radius($forum-border-radius, $forum-border-radius, 0, 0);
|
|
|
|
font-size: $forum-small-font-size;
|
|
border-bottom: 1px solid $forum-color-border;
|
|
background-color: theme-color("light");
|
|
padding: ($baseline/4) ($baseline/2);
|
|
color: $black;
|
|
}
|
|
|
|
.forum-nav-filter-main {
|
|
@include text-align(left);
|
|
@include float(left);
|
|
|
|
box-sizing: border-box;
|
|
width: 50%;
|
|
}
|
|
|
|
.forum-nav-filter-cohort,
|
|
.forum-nav-sort {
|
|
@include text-align(right);
|
|
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.forum-nav-filter-cohort {
|
|
.discussion-board & {
|
|
@include float(right);
|
|
@include text-align(right);
|
|
|
|
width: 50%;
|
|
}
|
|
}
|
|
|
|
.forum-nav-sort {
|
|
@include float(right);
|
|
}
|
|
|
|
%forum-nav-select {
|
|
border: none;
|
|
max-width: 100%;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.forum-nav-filter-main-control {
|
|
@extend %forum-nav-select;
|
|
}
|
|
|
|
.forum-nav-filter-cohort-control {
|
|
@extend %forum-nav-select;
|
|
|
|
max-width: 60%;
|
|
}
|
|
|
|
.forum-nav-sort-control {
|
|
@extend %forum-nav-select;
|
|
}
|
|
|
|
// -----------
|
|
// Thread list
|
|
// -----------
|
|
.forum-nav-thread-list {
|
|
padding-left: 0 !important; // should *not* be RTLed, see below for explanation
|
|
min-height: 60px; // @TODO: Remove this when we have a real empty state for the discussion thread list
|
|
max-height: 800px;
|
|
border-bottom: 1px solid theme-color("light");
|
|
margin: 0;
|
|
overflow-y: auto;
|
|
list-style: none;
|
|
border-radius: 0 0 3px 3px;
|
|
|
|
.forum-nav-thread-labels {
|
|
margin: 5px 0 0;
|
|
// Overrides overspecific courseware CSS from:
|
|
// https://github.com/edx/edx-platform/blob/master/lms/static/sass/course/courseware/_courseware.scss#L470
|
|
// note this should *not* be RTLed, as the rule it overrides is not RTLed
|
|
padding-left: 0 !important;
|
|
}
|
|
|
|
.thread-preview-body {
|
|
margin-top: $baseline / 4;
|
|
color: $forum-color-response-count;
|
|
font-size: $forum-small-font-size;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
|
|
@include rtl {
|
|
// This is counterintuitive, but when showing a preview of the first part of RTL text, using direction: rtl
|
|
// will actually show the _last_ part of that text.
|
|
direction: ltr;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Overrides underspecific styles from courseware css
|
|
.course-wrapper .course-content .forum-nav-thread-list-wrapper .forum-nav-thread-list {
|
|
@include padding-left(0);
|
|
|
|
list-style: none;
|
|
|
|
.forum-nav-thread {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
.forum-nav-thread {
|
|
border-bottom: 1px solid $forum-color-border;
|
|
background-color: $forum-color-background;
|
|
margin-bottom: 0;
|
|
|
|
&:last-child {
|
|
// Overrides pattern library default li:last-child style
|
|
border-bottom: 1px solid $forum-color-border;
|
|
}
|
|
|
|
.forum-nav-thread-link {
|
|
@include border-left(3px solid transparent);
|
|
|
|
display: flex;
|
|
padding: $baseline / 2;
|
|
transition: none;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
color: $forum-color-read-post;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
text-decoration: none;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: $forum-color-hover-thread;
|
|
}
|
|
|
|
&.is-active {
|
|
background-color: $forum-color-reading-thread;
|
|
}
|
|
|
|
.forum-nav-thread-unread-comments-count {
|
|
display: inline-block;
|
|
font-size: $forum-small-font-size;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
&.never-read {
|
|
.forum-nav-thread-link {
|
|
@include border-left(3px solid $forum-color-never-read-post);
|
|
|
|
color: $forum-color-never-read-post;
|
|
}
|
|
}
|
|
}
|
|
|
|
%forum-nav-thread-wrapper {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.forum-nav-thread-wrapper-0 {
|
|
@extend %forum-nav-thread-wrapper;
|
|
|
|
@include margin-right($baseline/5);
|
|
|
|
align-self: flex-start;
|
|
|
|
.icon {
|
|
font-size: $forum-base-font-size;
|
|
width: 18px;
|
|
text-align: center;
|
|
|
|
&::before {
|
|
@include rtl {
|
|
@include transform(scale(-1, 1)); // RTL for font awesome question mark
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.forum-nav-thread-wrapper-1 {
|
|
@extend %forum-nav-thread-wrapper;
|
|
|
|
margin: 0 ($baseline / 4);
|
|
// 125 is the width we need to save for the "X new" comments indicator - and we want to clip the preview
|
|
// at the same length whether there are unread comments for this story or not.
|
|
max-width: calc(100% - 75px);
|
|
flex-grow: 1; // This column should consume all the available space
|
|
}
|
|
|
|
.forum-nav-thread-wrapper-2 {
|
|
@extend %forum-nav-thread-wrapper;
|
|
|
|
@include text-align(right);
|
|
|
|
min-width: 40px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.forum-nav-thread-title {
|
|
@include margin-left(0);
|
|
|
|
font-size: $forum-base-font-size;
|
|
display: block;
|
|
}
|
|
|
|
%forum-nav-thread-wrapper-2-content {
|
|
@include margin-right($baseline/4);
|
|
|
|
font-size: $forum-small-font-size;
|
|
display: inline-block;
|
|
text-align: center;
|
|
color: $black;
|
|
|
|
&:last-child {
|
|
@include margin-right(0);
|
|
}
|
|
}
|
|
|
|
.forum-nav-thread-votes-count {
|
|
@extend %forum-nav-thread-wrapper-2-content;
|
|
}
|
|
|
|
.forum-nav-thread-comments-count {
|
|
@extend %forum-nav-thread-wrapper-2-content;
|
|
@extend %t-weight4;
|
|
|
|
position: relative;
|
|
|
|
@include margin-left($baseline/4);
|
|
|
|
margin-bottom: ($baseline/4); // Because tail is position: absolute
|
|
border-radius: $forum-border-radius;
|
|
padding: ($baseline/10) ($baseline/5);
|
|
min-width: 2em; // Fit most comment counts but allow expansion if necessary
|
|
background-color: theme-color("light");
|
|
|
|
// Speech bubble tail
|
|
&::after {
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
bottom: (-$baseline/4);
|
|
|
|
@include right($baseline/4);
|
|
|
|
width: 0;
|
|
height: 0;
|
|
border-style: solid;
|
|
|
|
@include border-width(0, ($baseline/4), ($baseline/4), 0);
|
|
@include border-color(transparent, $forum-color-border, transparent, transparent);
|
|
}
|
|
}
|
|
|
|
.forum-nav-load-more {
|
|
border-bottom: 1px solid $forum-color-border;
|
|
background-color: theme-color("light");
|
|
}
|
|
|
|
%forum-nav-load-more-content {
|
|
display: block;
|
|
padding: $baseline 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.forum-nav-load-more-link {
|
|
@extend %forum-nav-load-more-content;
|
|
|
|
color: $link-color;
|
|
width: 100%;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: $forum-color-active-text;
|
|
// !important overrides the one set here:
|
|
// https://github.com/edx/edx-platform/blob/master/lms/static/sass/elements/_controls.scss#L472
|
|
background-color: $forum-color-active-thread !important;
|
|
}
|
|
}
|
|
|
|
.forum-nav-loading {
|
|
@extend %forum-nav-load-more-content;
|
|
}
|