mirror of
https://github.com/flarum/framework.git
synced 2024-11-29 12:43:52 +08:00
40a6d77e74
- Extract shared Ember components into a “flarum-common” ember-cli addon. This can be used by both the forum + admin Ember apps, keeping things DRY - Move LESS styles into their own top-level directory and do a similar thing (extract common styles) - Add LESS/JS compilation and versioning to PHP (AssetManager) - Set up admin entry point (Theoretical) upgrade instructions: - Delete everything in [app_root]/public - Set up tooling in forum/admin Ember apps (npm install/update, bower install/update) and then build them (ember build) - php artisan vendor:publish - Upgrade flarum/flarum repo (slight change in a config file) - If you need to trigger a LESS/JS recompile, delete the .css/.js files in [app_root]/public/flarum. I set up LiveReload to do this for me when I change files in less/ or ember/ Todo: - Start writing admin app! - Remove bootstrap/font-awesome from repo and instead depend on their composer packages? Maybe? (Bower is not an option here)
243 lines
4.8 KiB
Plaintext
Executable File
243 lines
4.8 KiB
Plaintext
Executable File
//
|
|
// Navs
|
|
// --------------------------------------------------
|
|
|
|
|
|
// Base class
|
|
// --------------------------------------------------
|
|
|
|
.nav {
|
|
margin-bottom: 0;
|
|
padding-left: 0; // Override default ul/ol
|
|
list-style: none;
|
|
&:extend(.clearfix all);
|
|
|
|
> li {
|
|
position: relative;
|
|
display: block;
|
|
|
|
> a {
|
|
position: relative;
|
|
display: block;
|
|
padding: @nav-link-padding;
|
|
&:hover,
|
|
&:focus {
|
|
text-decoration: none;
|
|
background-color: @nav-link-hover-bg;
|
|
}
|
|
}
|
|
|
|
// Disabled state sets text to gray and nukes hover/tab effects
|
|
&.disabled > a {
|
|
color: @nav-disabled-link-color;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: @nav-disabled-link-hover-color;
|
|
text-decoration: none;
|
|
background-color: transparent;
|
|
cursor: @cursor-disabled;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Open dropdowns
|
|
.open > a {
|
|
&,
|
|
&:hover,
|
|
&:focus {
|
|
background-color: @nav-link-hover-bg;
|
|
border-color: @link-color;
|
|
}
|
|
}
|
|
|
|
// Nav dividers (deprecated with v3.0.1)
|
|
//
|
|
// This should have been removed in v3 with the dropping of `.nav-list`, but
|
|
// we missed it. We don't currently support this anywhere, but in the interest
|
|
// of maintaining backward compatibility in case you use it, it's deprecated.
|
|
.nav-divider {
|
|
.nav-divider();
|
|
}
|
|
|
|
// Prevent IE8 from misplacing imgs
|
|
//
|
|
// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
|
|
> li > a > img {
|
|
max-width: none;
|
|
}
|
|
}
|
|
|
|
|
|
// Tabs
|
|
// -------------------------
|
|
|
|
// Give the tabs something to sit on
|
|
.nav-tabs {
|
|
border-bottom: 1px solid @nav-tabs-border-color;
|
|
> li {
|
|
float: left;
|
|
// Make the list-items overlay the bottom border
|
|
margin-bottom: -1px;
|
|
|
|
// Actual tabs (as links)
|
|
> a {
|
|
margin-right: 2px;
|
|
line-height: @line-height-base;
|
|
border: 1px solid transparent;
|
|
border-radius: @border-radius-base @border-radius-base 0 0;
|
|
&:hover {
|
|
border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
|
|
}
|
|
}
|
|
|
|
// Active state, and its :hover to override normal :hover
|
|
&.active > a {
|
|
&,
|
|
&:hover,
|
|
&:focus {
|
|
color: @nav-tabs-active-link-hover-color;
|
|
background-color: @nav-tabs-active-link-hover-bg;
|
|
border: 1px solid @nav-tabs-active-link-hover-border-color;
|
|
border-bottom-color: transparent;
|
|
cursor: default;
|
|
}
|
|
}
|
|
}
|
|
// pulling this in mainly for less shorthand
|
|
&.nav-justified {
|
|
.nav-justified();
|
|
.nav-tabs-justified();
|
|
}
|
|
}
|
|
|
|
|
|
// Pills
|
|
// -------------------------
|
|
.nav-pills {
|
|
> li {
|
|
float: left;
|
|
|
|
// Links rendered as pills
|
|
> a {
|
|
border-radius: @nav-pills-border-radius;
|
|
}
|
|
+ li {
|
|
margin-left: 2px;
|
|
}
|
|
|
|
// Active state
|
|
&.active > a {
|
|
&,
|
|
&:hover,
|
|
&:focus {
|
|
color: @nav-pills-active-link-hover-color;
|
|
background-color: @nav-pills-active-link-hover-bg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// Stacked pills
|
|
.nav-stacked {
|
|
> li {
|
|
float: none;
|
|
+ li {
|
|
margin-top: 2px;
|
|
margin-left: 0; // no need for this gap between nav items
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// Nav variations
|
|
// --------------------------------------------------
|
|
|
|
// Justified nav links
|
|
// -------------------------
|
|
|
|
.nav-justified {
|
|
width: 100%;
|
|
|
|
> li {
|
|
float: none;
|
|
> a {
|
|
text-align: center;
|
|
margin-bottom: 5px;
|
|
}
|
|
}
|
|
|
|
> .dropdown .dropdown-menu {
|
|
top: auto;
|
|
left: auto;
|
|
}
|
|
|
|
@media (min-width: @screen-sm-min) {
|
|
> li {
|
|
display: table-cell;
|
|
width: 1%;
|
|
> a {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Move borders to anchors instead of bottom of list
|
|
//
|
|
// Mixin for adding on top the shared `.nav-justified` styles for our tabs
|
|
.nav-tabs-justified {
|
|
border-bottom: 0;
|
|
|
|
> li > a {
|
|
// Override margin from .nav-tabs
|
|
margin-right: 0;
|
|
border-radius: @border-radius-base;
|
|
}
|
|
|
|
> .active > a,
|
|
> .active > a:hover,
|
|
> .active > a:focus {
|
|
border: 1px solid @nav-tabs-justified-link-border-color;
|
|
}
|
|
|
|
@media (min-width: @screen-sm-min) {
|
|
> li > a {
|
|
border-bottom: 1px solid @nav-tabs-justified-link-border-color;
|
|
border-radius: @border-radius-base @border-radius-base 0 0;
|
|
}
|
|
> .active > a,
|
|
> .active > a:hover,
|
|
> .active > a:focus {
|
|
border-bottom-color: @nav-tabs-justified-active-link-border-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// Tabbable tabs
|
|
// -------------------------
|
|
|
|
// Hide tabbable panes to start, show them when `.active`
|
|
.tab-content {
|
|
> .tab-pane {
|
|
display: none;
|
|
}
|
|
> .active {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
|
|
// Dropdowns
|
|
// -------------------------
|
|
|
|
// Specific dropdowns
|
|
.nav-tabs .dropdown-menu {
|
|
// make dropdown border overlap tab border
|
|
margin-top: -1px;
|
|
// Remove the top rounded corners here since there is a hard edge above the menu
|
|
.border-top-radius(0);
|
|
}
|