1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-17 02:50:54 +01:00
phorge-phorge/webroot/rsrc/css/application/base/main-menu-view.css
epriestley 87ccca32b6 Add printable support to CSS
Summary:
Fixes T2146. This is a really simple approach, you just do:

  !print .rule {
    whatever: blah;
  }

And it transforms it into:

  .printable .rule {
    whatever: blah;
  }

  @media print {
    .rule {
      whatever: blah;
    }
  }

So we end up with these rules twice, but they should compress well and we shouldn't need that many of them, and this fix is way way simpler than all the nonsense I discussed in T2146.

Test Plan:
  - Added a unit test.
  - Added a simple rule to throw away the menubar when printing.
  - Checked the latter with `/?__print__=1`.

Reviewers: chad, btrahan

Reviewed By: chad

CC: chad, aran

Maniphest Tasks: T2146

Differential Revision: https://secure.phabricator.com/D7363
2013-10-19 14:23:19 -07:00

410 lines
8.4 KiB
CSS

/**
* @provides phabricator-main-menu-view
*/
/* - Main Menu -----------------------------------------------------------------
Main menu at the top of every page that has chrome. It reacts to resolution
changes in order to behave reasonably on tablets and phones.
*/
.phabricator-main-menu {
background: #2d3236;
background-image: url(/rsrc/image/texture/phlnx-bg.png);
background-repeat: repeat-x;
position: relative;
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);
min-height: 44px;
}
.device-desktop .phabricator-main-menu {
height: 44px;
}
.phabricator-main-menu a:hover {
text-decoration: none;
}
/* - Logo ----------------------------------------------------------------------
The "Phabricator" logo group in the main menu. On tablet and phone devices,
this shows a "reveal" button to expand/collapse the rest of the menu.
*/
.device-desktop .phabricator-main-menu-group-logo {
float: left;
}
.phabricator-main-menu-logo {
display: inline-block;
width: 149px;
height: 44px;
float: left;
margin-right: 6px;
padding-right: 6px;
padding-left: 6px;
}
.device-desktop .phabricator-main-menu-logo:hover {
background-color: rgba(0,0,0,.6);
}
.phabricator-main-menu-logo-image {
position: absolute;
width: 149px;
height: 26px;
top: 9px;
}
.device-phone .phabricator-main-menu-logo {
margin-left: -45px;
}
.device .phabricator-main-menu-logo:hover {
background-color: transparent;
}
/* - Expand/Collapse Button ----------------------------------------------------
On phones, the menu switches to a vertical layout and uses a button to expand
or collapse the items.
*/
.phabricator-menu-button-icon {
width: 24px;
height: 24px;
float: left;
margin: 10px 10px 0 5px;
}
.phabricator-expand-application-menu,
.phabricator-expand-search-menu {
float: right;
}
.device-desktop .phabricator-main-menu-search-button,
.device-desktop .phabricator-main-menu-expand-button {
display: none;
}
/* - Search --------------------------------------------------------------------
The main search input in the menu bar.
*/
.device-desktop .phabricator-main-menu-search {
width: 220px;
}
.device .phabricator-main-menu-search {
height: 40px;
}
.phabricator-main-menu-search-container {
padding: 9px 0 10px 0;
position: relative;
height: 24px;
margin: 0 8px;
}
.phabricator-main-menu-search-target {
position: absolute;
top: 46px;
}
.device-desktop .phabricator-main-menu-search-target {
width: 320px;
margin-left: -150px;
}
.device .phabricator-main-menu-search-target {
width: 100%;
margin-left: -25px;
}
.device .phabricator-main-menu-search-container {
padding: 4px 0;
}
.phabricator-main-menu .phabricator-main-menu-search input {
outline: 0;
margin: 0;
box-shadow: none;
transition: none;
color: {$lightgreytext};
width: 100%;
right: 0;
position: absolute;
font-size: 13px;
border: 1px solid #333;
border-radius: 12px;
background-color: #555;
height: 26px;
line-height: 12px;
box-shadow: 0px 1px 1px rgba(128, 128, 128, 0.25);
padding: 6px 32px 6px 10px;
}
.device .phabricator-main-menu-search input {
height: 30px;
font-size: 15px;
border-radius: 15px;
}
.phabricator-main-menu .phabricator-main-menu-search input:focus {
background: #fff;
color: #333;
border-color: #e7e7e7;
box-shadow: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
}
.phabricator-main-menu-search input.jx-typeahead-placeholder {
color: {$lightgreytext};
}
.phabricator-main-menu-search button {
position: absolute;
color: transparent;
background: transparent 5px 6px url(/rsrc/image/search.png) no-repeat;
border: none;
outline: none;
box-shadow: none;
text-shadow: none;
min-width: 0;
height: 20px;
width: 20px;
top: 10px;
right: 6px;
}
.device .phabricator-main-menu-search button {
top: 7px;
}
.phabricator-main-menu-search-target div.jx-typeahead-results {
background: #ffffff;
word-wrap: break-word;
overflow-y: auto;
box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.5);
border: 2px solid #33393d;
border-radius: 3px;
margin-left: 40px;
}
.phabricator-main-search-typeahead-result {
display: block;
padding: 1px 4px 1px 38px;
background-position: 4px 4px;
background-size: 25px 25px;
background-repeat: no-repeat;
}
.phabricator-main-search-typeahead-result .result-name {
display: block;
font-size: 12px;
font-weight: bold;
color: #333;
}
.phabricator-main-search-typeahead-result .result-type {
color: {$lightgreytext};
font-size: 11px;
font-weight: normal;
}
.device .phabricator-application-menu-expanded.phabricator-search-menu-expanded
.phabricator-search-menu {
padding: 0;
}
/* - Alert ---------------------------------------------------------------------
Alert menus are like icon menus but don't obey collapse rules.
*/
.phabricator-main-menu-alerts {
display: inline-block;
border-radius: 15px;
float: left;
background: rgba(0,0,0,.5);
height: 20px;
padding: 2px 10px 3px 8px;
margin-top: 10px;
}
.phabricator-main-menu-alert-icon,
.phabricator-main-menu-message-icon {
width: 18px;
height: 18px;
display: block;
float: left;
margin: 2px 0 0 0;
}
.alert-notifications .phabricator-main-menu-message-icon {
margin: 2px 0 0 6px;
}
.phabricator-main-menu-alert-count,
.phabricator-main-menu-message-count {
font-weight: bold;
line-height: 20px;
color: #ffffff;
text-align: center;
display: none;
float: left;
margin-left: 3px;
}
.alert-unread .phabricator-main-menu-alert-count,
.message-unread .phabricator-main-menu-message-count {
display: block;
}
/* - Dark Menu -----------------------------------------------------------------
Styles shared between the "core" menu (left button on mobile) and
"application" menu (right button on mobile). These styles give the menu a
white-on-black appearance.
*/
.device .phabricator-dark-menu,
.device .phabricator-dark-menu a.phui-list-item-href {
color: #fff;
}
.device .phabricator-dark-menu .phui-list-item-type-label {
text-transform: uppercase;
font-size: 12px;
background-color: #151719;
padding: 5px 0;
display: block;
font-weight: bold;
}
.device .phabricator-dark-menu .phui-list-item-href {
border-width: 1px 0;
border-style: solid;
border-color: #34373b transparent #282c2d;
background-image: url(/rsrc/image/texture/dark-menu.png);
padding: 4px 0;
display: block;
}
/* - Core Menu -----------------------------------------------------------------
Styles unique to the core menu (left button on mobile).
*/
.phabricator-core-menu-profile-image {
background-size: 28px 28px;
}
.device .phabricator-search-menu {
display: none;
}
.device-desktop .phabricator-search-menu {
float: right;
}
.device .phabricator-search-menu-expanded .phabricator-search-menu {
display: block;
padding-top: 44px;
}
.device .phabricator-dark-menu .phui-list-item-type-link {
font-size: 15px;
min-height: 30px;
line-height: 28px;
}
.device .phui-list-item-type-link
.phabricator-core-menu-icon + .phui-list-item-name {
margin-left: 30px;
}
.device-desktop .phabricator-application-menu {
float: right;
}
.device-desktop .phabricator-application-menu .phui-list-item-view,
.device-desktop .phabricator-application-menu .phui-list-item-name {
display: none;
}
.device-desktop .phabricator-application-menu .phui-list-item-view.core-menu-item {
display: block;
}
.device-desktop .phabricator-application-menu
.core-menu-item.phui-list-item-view:hover {
background-color: rgba(0,0,0,.6);
}
.device-desktop .phabricator-application-menu .phui-list-item-view {
float: left;
position: relative;
min-width: 40px;
height: 44px;
}
.device-desktop .phabricator-core-menu-icon {
top: 9px;
left: 6px;
}
.device .phabricator-core-menu-icon {
left: 6px;
}
.phabricator-core-menu-icon {
position: absolute;
display: block;
width: 28px;
height: 28px;
}
/* - Application Menu ----------------------------------------------------------
Styles unique to the application menu (right button on mobile).
*/
.device .phabricator-application-menu-expanded .phabricator-application-menu {
display: block;
padding-top: 44px;
}
.device .phabricator-application-menu,
.device-desktop .phabricator-dark-menu .phui-list-item-type-label {
display: none;
}
.phabricator-application-menu .phui-list-item-name {
padding-left: 12px;
}
/* - Print ---------------------------------------------------------------------
*/
!print .phabricator-main-menu {
display: none;
}