@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

[Redesign] Uh... Add back gradient headers?

Summary: Ref T8099, hashtag#yolo. Adds back the original gradients plus a 'light' theme. Unclear which should be default, but we can play with it until a decision needs to be made.

Test Plan: Change colors a lot, turn on durable column.

Reviewers: btrahan, epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T8099

Differential Revision: https://secure.phabricator.com/D13146

+360 -182
+35 -27
resources/celerity/map.php
··· 7 7 */ 8 8 return array( 9 9 'names' => array( 10 - 'core.pkg.css' => '1dd87664', 11 - 'core.pkg.js' => 'fbf1d615', 10 + 'core.pkg.css' => '996cd7ca', 11 + 'core.pkg.js' => '125d168c', 12 12 'darkconsole.pkg.js' => 'e7393ebb', 13 13 'differential.pkg.css' => 'f89b49b6', 14 14 'differential.pkg.js' => '8c98ce21', ··· 33 33 'rsrc/css/aphront/typeahead.css' => '0e403212', 34 34 'rsrc/css/application/almanac/almanac.css' => 'dbb9b3af', 35 35 'rsrc/css/application/auth/auth.css' => '44975d4b', 36 - 'rsrc/css/application/base/main-menu-view.css' => '1d2f0ad0', 36 + 'rsrc/css/application/base/main-menu-view.css' => '5e8c1ab7', 37 37 'rsrc/css/application/base/notification-menu.css' => '713df25a', 38 38 'rsrc/css/application/base/phabricator-application-launch-view.css' => '9a233ed6', 39 + 'rsrc/css/application/base/phui-theme.css' => '1ccdcc84', 39 40 'rsrc/css/application/base/standard-page-view.css' => '43045fb4', 40 41 'rsrc/css/application/calendar/calendar-icon.css' => '98ce946d', 41 42 'rsrc/css/application/chatlog/chatlog.css' => 'f1971c1c', ··· 45 46 'rsrc/css/application/config/config-welcome.css' => '6abd79be', 46 47 'rsrc/css/application/config/setup-issue.css' => '631c4e92', 47 48 'rsrc/css/application/config/unhandled-exception.css' => '4c96257a', 48 - 'rsrc/css/application/conpherence/durable-column.css' => '4cb8c197', 49 + 'rsrc/css/application/conpherence/durable-column.css' => '418234d3', 49 50 'rsrc/css/application/conpherence/menu.css' => 'f9f1d143', 50 51 'rsrc/css/application/conpherence/message-pane.css' => '7cbf4cbb', 51 52 'rsrc/css/application/conpherence/notification.css' => '919974b6', ··· 112 113 'rsrc/css/core/z-index.css' => '63689f49', 113 114 'rsrc/css/diviner/diviner-shared.css' => '38813222', 114 115 'rsrc/css/font/font-awesome.css' => 'e2e712fe', 115 - 'rsrc/css/font/font-oswald.css' => '608d6059', 116 + 'rsrc/css/font/font-oswald.css' => 'd5e48ef7', 116 117 'rsrc/css/font/font-source-sans-pro.css' => '8906c07b', 117 118 'rsrc/css/font/phui-font-icon-base.css' => '3dad2ae3', 118 119 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', ··· 153 154 'rsrc/css/phui/phui-workboard-view.css' => '0cac51a4', 154 155 'rsrc/css/phui/phui-workpanel-view.css' => '4bdc2562', 155 156 'rsrc/css/sprite-login.css' => 'a3526809', 156 - 'rsrc/css/sprite-menu.css' => 'ab8f6356', 157 + 'rsrc/css/sprite-main-header.css' => '37e05e50', 158 + 'rsrc/css/sprite-menu.css' => 'fba663c3', 157 159 'rsrc/css/sprite-projects.css' => 'b0d9e24f', 158 160 'rsrc/css/sprite-tokens.css' => '1706b943', 159 161 'rsrc/externals/font/fontawesome/fontawesome-webfont.eot' => '5fb6fb0e', ··· 310 312 'rsrc/image/phrequent_inactive.png' => 'bfc15a69', 311 313 'rsrc/image/sprite-login-X2.png' => 'a15918f0', 312 314 'rsrc/image/sprite-login.png' => '8cee4f6e', 313 - 'rsrc/image/sprite-menu-X2.png' => 'dc41efa4', 314 - 'rsrc/image/sprite-menu.png' => '8848c09a', 315 + 'rsrc/image/sprite-main-header.png' => 'f9008250', 316 + 'rsrc/image/sprite-menu-X2.png' => '1c25965b', 317 + 'rsrc/image/sprite-menu.png' => '76373b62', 315 318 'rsrc/image/sprite-projects-X2.png' => '8c91c839', 316 319 'rsrc/image/sprite-projects.png' => 'ef9dc9b5', 317 320 'rsrc/image/sprite-tokens-X2.png' => 'b4776580', ··· 327 330 'rsrc/image/texture/table_header_hover.png' => '038ec3b9', 328 331 'rsrc/image/texture/table_header_tall.png' => 'd56b434f', 329 332 'rsrc/js/application/aphlict/Aphlict.js' => '5359e785', 330 - 'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => 'e09f6208', 333 + 'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => '031cee25', 331 334 'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => 'b1a59974', 332 335 'rsrc/js/application/aphlict/behavior-aphlict-status.js' => 'ea681761', 333 336 'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18', ··· 499 502 'conduit-api-css' => '7bc725c4', 500 503 'config-options-css' => '7fedf08b', 501 504 'config-welcome-css' => '6abd79be', 502 - 'conpherence-durable-column-view' => '4cb8c197', 505 + 'conpherence-durable-column-view' => '418234d3', 503 506 'conpherence-menu-css' => 'f9f1d143', 504 507 'conpherence-message-pane-css' => '7cbf4cbb', 505 508 'conpherence-notification-css' => '919974b6', ··· 521 524 'diffusion-source-css' => '66fdf661', 522 525 'diviner-shared-css' => '38813222', 523 526 'font-fontawesome' => 'e2e712fe', 524 - 'font-oswald' => '608d6059', 527 + 'font-oswald' => 'd5e48ef7', 525 528 'font-source-sans-pro' => '8906c07b', 526 529 'global-drag-and-drop-css' => '697324ad', 527 530 'harbormaster-css' => '49d64eb4', ··· 531 534 'inline-comment-summary-css' => 'eb5f8e8c', 532 535 'javelin-aphlict' => '5359e785', 533 536 'javelin-behavior' => '61cbc29a', 534 - 'javelin-behavior-aphlict-dropdown' => 'e09f6208', 537 + 'javelin-behavior-aphlict-dropdown' => '031cee25', 535 538 'javelin-behavior-aphlict-listen' => 'b1a59974', 536 539 'javelin-behavior-aphlict-status' => 'ea681761', 537 540 'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884', ··· 721 724 'phabricator-hovercard-view-css' => '0d665853', 722 725 'phabricator-keyboard-shortcut' => '1ae869f2', 723 726 'phabricator-keyboard-shortcut-manager' => 'c1700f6f', 724 - 'phabricator-main-menu-view' => '1d2f0ad0', 727 + 'phabricator-main-menu-view' => '5e8c1ab7', 725 728 'phabricator-nav-view-css' => '0ecd30a1', 726 729 'phabricator-notification' => '0c6946e7', 727 730 'phabricator-notification-css' => '9c279160', ··· 791 794 'phui-status-list-view-css' => '888cedb8', 792 795 'phui-tag-view-css' => '402691cc', 793 796 'phui-text-css' => 'cf019f54', 797 + 'phui-theme-css' => '1ccdcc84', 794 798 'phui-timeline-view-css' => '07a1bd0f', 795 799 'phui-workboard-view-css' => '0cac51a4', 796 800 'phui-workpanel-view-css' => '4bdc2562', ··· 814 818 'releeph-request-typeahead-css' => '667a48ae', 815 819 'setup-issue-css' => '631c4e92', 816 820 'sprite-login-css' => 'a3526809', 817 - 'sprite-menu-css' => 'ab8f6356', 821 + 'sprite-main-header-css' => '37e05e50', 822 + 'sprite-menu-css' => 'fba663c3', 818 823 'sprite-projects-css' => 'b0d9e24f', 819 824 'sprite-tokens-css' => '1706b943', 820 825 'syntax-highlighting-css' => '6b7b24d9', ··· 836 841 ), 837 842 '029a133d' => array( 838 843 'aphront-dialog-view-css', 844 + ), 845 + '031cee25' => array( 846 + 'javelin-behavior', 847 + 'javelin-request', 848 + 'javelin-stratcom', 849 + 'javelin-vector', 850 + 'javelin-dom', 851 + 'javelin-uri', 852 + 'javelin-behavior-device', 853 + 'phabricator-title', 839 854 ), 840 855 '037b59eb' => array( 841 856 'javelin-behavior', ··· 1267 1282 'javelin-stratcom', 1268 1283 'javelin-dom', 1269 1284 ), 1285 + '5e8c1ab7' => array( 1286 + 'phui-theme-css', 1287 + ), 1270 1288 '5e9f347c' => array( 1271 1289 'javelin-behavior', 1272 1290 'multirow-row-manager', ··· 1289 1307 'javelin-behavior', 1290 1308 'javelin-stratcom', 1291 1309 'javelin-dom', 1292 - ), 1293 - '608d6059' => array( 1294 - 'phui-fontkit-css', 1295 1310 ), 1296 1311 '6153c708' => array( 1297 1312 'javelin-behavior', ··· 1843 1858 'javelin-dom', 1844 1859 'javelin-stratcom', 1845 1860 ), 1861 + 'd5e48ef7' => array( 1862 + 'phui-fontkit-css', 1863 + ), 1846 1864 'd75709e6' => array( 1847 1865 'javelin-behavior', 1848 1866 'javelin-workflow', ··· 1871 1889 ), 1872 1890 'df5e11d2' => array( 1873 1891 'javelin-install', 1874 - ), 1875 - 'e09f6208' => array( 1876 - 'javelin-behavior', 1877 - 'javelin-request', 1878 - 'javelin-stratcom', 1879 - 'javelin-vector', 1880 - 'javelin-dom', 1881 - 'javelin-uri', 1882 - 'javelin-behavior-device', 1883 - 'phabricator-title', 1884 1892 ), 1885 1893 'e10f8e18' => array( 1886 1894 'javelin-behavior',
resources/sprite/main_header/applebloom.png

This is a binary file and will not be displayed.

resources/sprite/main_header/blindigo.png

This is a binary file and will not be displayed.

resources/sprite/main_header/blue.png

This is a binary file and will not be displayed.

resources/sprite/main_header/dark.png

This is a binary file and will not be displayed.

resources/sprite/main_header/fluttershy.png

This is a binary file and will not be displayed.

resources/sprite/main_header/green.png

This is a binary file and will not be displayed.

resources/sprite/main_header/indigo.png

This is a binary file and will not be displayed.

resources/sprite/main_header/light.png

This is a binary file and will not be displayed.

resources/sprite/main_header/nightmaremoon.png

This is a binary file and will not be displayed.

resources/sprite/main_header/red.png

This is a binary file and will not be displayed.

resources/sprite/main_header/scootaloo.png

This is a binary file and will not be displayed.

resources/sprite/main_header/yellow.png

This is a binary file and will not be displayed.

+70
resources/sprite/manifest/main-header.json
··· 1 + { 2 + "version": 1, 3 + "sprites": { 4 + "main-header-applebloom": { 5 + "name": "main-header-applebloom", 6 + "rule": ".phui-theme-applebloom .phabricator-main-menu-background", 7 + "hash": "64822776b129e724709983db1ac5a712" 8 + }, 9 + "main-header-blindigo": { 10 + "name": "main-header-blindigo", 11 + "rule": ".phui-theme-blindigo .phabricator-main-menu-background", 12 + "hash": "8c4f5b1f1f3faceb6ca6e8278a1b082f" 13 + }, 14 + "main-header-blue": { 15 + "name": "main-header-blue", 16 + "rule": ".phui-theme-blue .phabricator-main-menu-background", 17 + "hash": "b5dd317b7bd35e0592b3f4b66267437c" 18 + }, 19 + "main-header-dark": { 20 + "name": "main-header-dark", 21 + "rule": ".phui-theme-dark .phabricator-main-menu-background", 22 + "hash": "817815d84c0c935b4875f6ecc7dbb526" 23 + }, 24 + "main-header-fluttershy": { 25 + "name": "main-header-fluttershy", 26 + "rule": ".phui-theme-fluttershy .phabricator-main-menu-background", 27 + "hash": "55d4e9f813cf354693290105cf83cf78" 28 + }, 29 + "main-header-green": { 30 + "name": "main-header-green", 31 + "rule": ".phui-theme-green .phabricator-main-menu-background", 32 + "hash": "c230f09e307d167fab3ea0d8c3b33755" 33 + }, 34 + "main-header-indigo": { 35 + "name": "main-header-indigo", 36 + "rule": ".phui-theme-indigo .phabricator-main-menu-background", 37 + "hash": "a27394ff1eff4d24398ec57e54d7f5fd" 38 + }, 39 + "main-header-light": { 40 + "name": "main-header-light", 41 + "rule": ".phui-theme-light .phabricator-main-menu-background", 42 + "hash": "3c41fbfbe13cae2451467a1e307115aa" 43 + }, 44 + "main-header-nightmaremoon": { 45 + "name": "main-header-nightmaremoon", 46 + "rule": ".phui-theme-nightmaremoon .phabricator-main-menu-background", 47 + "hash": "9e7cc7b18d2132d2dd47586ba0cd6400" 48 + }, 49 + "main-header-red": { 50 + "name": "main-header-red", 51 + "rule": ".phui-theme-red .phabricator-main-menu-background", 52 + "hash": "3f12cc098afddb8e6c830ef761dcaa61" 53 + }, 54 + "main-header-scootaloo": { 55 + "name": "main-header-scootaloo", 56 + "rule": ".phui-theme-scootaloo .phabricator-main-menu-background", 57 + "hash": "8cedc359dccab1bbd49cbc69940f566a" 58 + }, 59 + "main-header-yellow": { 60 + "name": "main-header-yellow", 61 + "rule": ".phui-theme-yellow .phabricator-main-menu-background", 62 + "hash": "d920e70a6d2662cfb83e1d7e4b4000fd" 63 + } 64 + }, 65 + "scales": [ 66 + 1 67 + ], 68 + "header": "\/**\n * @provides sprite-main-header-css\n * @generated\n *\/\n\n.sprite-main-header {\n background-image: url(\/rsrc\/image\/sprite-main-header.png);\n background-repeat: repeat-x;\n}\n\n\n", 69 + "type": "repeat-x" 70 + }
+8 -48
resources/sprite/manifest/menu.json
··· 1 1 { 2 2 "version": 1, 3 3 "sprites": { 4 - "blindigo-eye": { 5 - "name": "blindigo-eye", 6 - "rule": ".blindigo-eye", 7 - "hash": "fcd3eb2a8d2d8babf59a952b62783282" 8 - }, 9 - "blindigo-logo": { 10 - "name": "blindigo-logo", 11 - "rule": ".blindigo-logo", 12 - "hash": "a22978e621df5126471576510303222f" 13 - }, 14 - "blue-eye": { 15 - "name": "blue-eye", 16 - "rule": ".blue-eye", 17 - "hash": "f7505e56e452c5922f1a275a736d5326" 18 - }, 19 - "blue-logo": { 20 - "name": "blue-logo", 21 - "rule": ".blue-logo", 22 - "hash": "4c6240f153245d56a6bf02bb6796404f" 23 - }, 24 4 "dark-eye": { 25 5 "name": "dark-eye", 26 6 "rule": ".dark-eye", ··· 31 11 "rule": ".dark-logo", 32 12 "hash": "e3425da87e8f6737d8db0063d064cd7d" 33 13 }, 34 - "indigo-eye": { 35 - "name": "indigo-eye", 36 - "rule": ".indigo-eye", 37 - "hash": "497b57bc1709a88fa68b14dc88a2a253" 38 - }, 39 - "indigo-logo": { 40 - "name": "indigo-logo", 41 - "rule": ".indigo-logo", 42 - "hash": "c7223567a77c46fbab571170f0a76ae6" 43 - }, 44 - "rainbow-eye": { 45 - "name": "rainbow-eye", 46 - "rule": ".rainbow-eye", 47 - "hash": "2c63171eeb8ba6acb645219fdf2585b1" 48 - }, 49 - "rainbow-logo": { 50 - "name": "rainbow-logo", 51 - "rule": ".rainbow-logo", 52 - "hash": "eca0c685cb9524bff513a5f7eab7c6e5" 53 - }, 54 - "red-eye": { 55 - "name": "red-eye", 56 - "rule": ".red-eye", 57 - "hash": "97a9a11ecbeee1fbb8a7c8ea406e4be4" 14 + "light-eye": { 15 + "name": "light-eye", 16 + "rule": ".light-eye", 17 + "hash": "5b6bf7c8c10d4f7414d976f6e79ae2ff" 58 18 }, 59 - "red-logo": { 60 - "name": "red-logo", 61 - "rule": ".red-logo", 62 - "hash": "1126a79154d24242d3f72e868b95a445" 19 + "light-logo": { 20 + "name": "light-logo", 21 + "rule": ".light-logo", 22 + "hash": "bee37c0a86825ec7ded38936b1ba7b65" 63 23 } 64 24 }, 65 25 "scales": [
resources/sprite/menu_1x/blindigo-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/blindigo-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/blue-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/blue-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/indigo-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/indigo-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/light-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/light-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/rainbow-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/rainbow-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/red-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/red-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/blindigo-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/blindigo-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/blue-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/blue-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/indigo-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/indigo-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/light-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/light-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/rainbow-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/rainbow-logo.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/red-eye.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/red-logo.png

This is a binary file and will not be displayed.

+1
scripts/celerity/generate_sprites.php
··· 29 29 $sheets = array( 30 30 'menu' => $generator->buildMenuSheet(), 31 31 'tokens' => $generator->buildTokenSheet(), 32 + 'main-header' => $generator->buildMainHeaderSheet(), 32 33 'login' => $generator->buildLoginSheet(), 33 34 'projects' => $generator->buildProjectsSheet(), 34 35 );
+1
src/applications/celerity/CelerityResourceTransformer.php
··· 207 207 'lightviolet' => '#ecdff1', 208 208 'charcoal' => '#4b4d51', 209 209 'backdrop' => '#dadee7', 210 + 'hoverwhite' => 'rgba(255,255,255,.75)', 210 211 'hovergrey' => '#c5cbcf', 211 212 'hoverblue' => '#eceff5', 212 213 'hoverborder' => '#dfe1e9',
+28 -5
src/applications/celerity/CeleritySpriteGenerator.php
··· 7 7 8 8 $colors = array( 9 9 'dark', 10 - 'red', 11 - 'blue', 12 - 'indigo', 13 - 'blindigo', 14 - 'rainbow', 10 + 'light', 15 11 ); 16 12 17 13 $sources = array(); ··· 147 143 148 144 $sheet = $this->buildSheet('login', true); 149 145 $sheet->setScales($scales); 146 + foreach ($sprites as $sprite) { 147 + $sheet->addSprite($sprite); 148 + } 149 + 150 + return $sheet; 151 + } 152 + 153 + public function buildMainHeaderSheet() { 154 + $gradients = $this->getDirectoryList('main_header'); 155 + $template = new PhutilSprite(); 156 + 157 + $sprites = array(); 158 + foreach ($gradients as $gradient) { 159 + $path = $this->getPath('main_header/'.$gradient.'.png'); 160 + $sprite = id(clone $template) 161 + ->setName('main-header-'.$gradient) 162 + ->setSourceFile($path) 163 + ->setTargetCSS('.phui-theme-'.$gradient. 164 + ' .phabricator-main-menu-background'); 165 + $sprite->setSourceSize(6, 44); 166 + $sprites[] = $sprite; 167 + } 168 + 169 + $sheet = $this->buildSheet('main-header', 170 + false, 171 + PhutilSpriteSheet::TYPE_REPEAT_X); 172 + 150 173 foreach ($sprites as $sprite) { 151 174 $sheet->addSprite($sprite); 152 175 }
+6 -9
src/applications/config/option/PhabricatorUIConfigOptions.php
··· 20 20 } 21 21 22 22 public function getOptions() { 23 + $manifest = PHUIIconView::getSheetManifest('main-header'); 23 24 $custom_header_example = 24 25 PhabricatorCustomHeaderConfigType::getExampleConfig(); 25 26 $experimental_link = 'https://secure.phabricator.com/T4214'; 26 - 27 - $options = array( 28 - 'blindigo' => 'blindigo', 29 - 'blue' => 'blue', 30 - 'dark' => 'dark', 31 - 'indigo' => 'indigo', 32 - 'red' => 'red', 33 - 'rainbow' => 'rainbow', 34 - ); 27 + $options = array(); 28 + foreach (array_keys($manifest) as $sprite_name) { 29 + $key = substr($sprite_name, strlen('main-header-')); 30 + $options[$key] = $key; 31 + } 35 32 36 33 $example = <<<EOJSON 37 34 [
+1
src/applications/conpherence/view/ConpherenceDurableColumnView.php
··· 139 139 $classes = array(); 140 140 $classes[] = 'conpherence-durable-column-header'; 141 141 $classes[] = 'phabricator-main-menu-background'; 142 + $classes[] = 'sprite-main-header'; 142 143 143 144 $loading_mask = phutil_tag( 144 145 'div',
+1
src/view/page/PhabricatorStandardPageView.php
··· 349 349 350 350 $classes = array(); 351 351 $classes[] = 'main-page-frame'; 352 + $classes[] = 'phui-theme-'.PhabricatorEnv::getEnvConfig('ui.header-color'); 352 353 $developer_warning = null; 353 354 if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode') && 354 355 DarkConsoleErrorLogPluginAPI::getErrors()) {
+11 -5
src/view/page/menu/PhabricatorMainMenuView.php
··· 27 27 $user = $this->user; 28 28 29 29 require_celerity_resource('phabricator-main-menu-view'); 30 + require_celerity_resource('sprite-main-header-css'); 30 31 31 32 $header_id = celerity_generate_unique_node_id(); 32 33 $menus = array(); ··· 80 81 81 82 $application_menu = $this->renderApplicationMenu(); 82 83 $classes = array(); 83 - $classes[] = 'phabricator-main-menu'; 84 + $classes[] = 'phabricator-main-menu sprite-main-header'; 84 85 $classes[] = 'phabricator-main-menu-background'; 85 86 86 87 return phutil_tag( ··· 159 160 'meta' => array( 160 161 'map' => array( 161 162 $header_id => 'phabricator-application-menu-expanded', 162 - $button_id => 'sky', 163 + $button_id => 'menu-icon-selected', 163 164 ), 164 165 ), 165 166 ), ··· 222 223 'meta' => array( 223 224 'map' => array( 224 225 $header_id => 'phabricator-search-menu-expanded', 225 - $button_id => 'sky', 226 + $button_id => 'menu-icon-selected', 226 227 ), 227 228 ), 228 229 ), ··· 273 274 'background-position: 0px 0px; '. 274 275 'background-image: url('.$logo_uri.');'; 275 276 } 277 + } else { 278 + $color = PhabricatorEnv::getEnvConfig('ui.header-color'); 279 + if ($color == 'light') { 280 + $color = 'dark'; 281 + } else { 282 + $color = 'light'; 283 + } 276 284 } 277 - 278 - $color = PhabricatorEnv::getEnvConfig('ui.header-color'); 279 285 280 286 return phutil_tag( 281 287 'a',
+54 -45
webroot/rsrc/css/application/base/main-menu-view.css
··· 1 1 /** 2 2 * @provides phabricator-main-menu-view 3 + * @requires phui-theme-css 3 4 */ 4 5 5 6 ··· 17 18 .phabricator-main-menu-background { 18 19 min-height: 43px; 19 20 background: #ebecee; 20 - border-bottom: 1px solid {$hovergrey}; 21 + border-bottom: 1px solid rgba(0,0,0,.1); 21 22 } 22 23 23 24 .device-desktop .phabricator-main-menu { ··· 88 89 font-size: 20px; 89 90 height: 20px; 90 91 width: 20px; 91 - color: {$bluetext}; 92 + color: {$hoverwhite}; 92 93 text-align: center; 93 94 vertical-align: middle; 94 95 line-height: 24px; 95 - text-shadow: {$whitetextshadow}; 96 96 } 97 97 98 98 .phabricator-expand-application-menu, ··· 161 161 border-color: {$blueborder}; 162 162 border-radius: 3px; 163 163 background-color: #fff; 164 - opacity: .8; 165 164 height: 28px; 166 165 padding: 3px 30px 3px 6px; 167 166 float: left; ··· 190 189 .phabricator-main-menu-search button { 191 190 color: {$bluetext}; 192 191 position: absolute; 193 - background: {$lightgreybackground}; 192 + background: {$greybackground}; 194 193 border: none; 195 194 outline: none; 196 195 box-shadow: none; ··· 221 220 222 221 .device-desktop .phabricator-main-menu-search 223 222 button.phabricator-main-menu-search-dropdown:hover .phui-icon-view { 224 - color: {$darkbluetext}; 223 + color: #fff; 225 224 } 226 225 227 - .device-desktop .phabricator-main-menu-search 228 - button.phabricator-main-menu-search-dropdown:hover { 229 - background-color: rgba(55,55,55,0.08); 230 - border-radius: 3px; 231 - } 232 - 233 226 .device .phabricator-main-menu-search 234 227 button.phabricator-main-menu-search-dropdown { 235 228 left: 2px; 236 - background: {$lightgreybackground}; 229 + background: {$greybackground}; 237 230 } 238 231 239 232 button.phabricator-main-menu-search-dropdown .caret:before { 240 233 content: "\f107"; 241 234 font-family: FontAwesome; 242 - color: {$lightbluetext}; 235 + color: {$hoverwhite}; 243 236 } 244 237 245 238 .phabricator-main-menu-search button.phabricator-main-menu-search-dropdown 246 239 .phui-icon-view { 247 - color: {$lightbluetext}; 240 + color: {$hoverwhite}; 248 241 font-size: 15px; 249 242 top: 6px; 250 243 left: 8px; 251 - text-shadow: {$whitetextshadow}; 244 + } 245 + 246 + .device 247 + .phabricator-main-menu-search button.phabricator-main-menu-search-dropdown 248 + .phui-icon-view { 249 + color: {$bluetext}; 250 + } 251 + 252 + .device button.phabricator-main-menu-search-dropdown .caret:before { 253 + color: {$bluetext}; 252 254 } 253 255 254 256 .phabricator-main-menu-search-dropdown .caret { ··· 335 337 line-height: 18px; 336 338 } 337 339 340 + 341 + 338 342 /* - Alert --------------------------------------------------------------------- 339 343 340 344 Alert menus are like icon menus but don't obey collapse rules. ··· 352 356 } 353 357 354 358 .alert-notifications .phui-icon-view { 355 - color: {$lightbluetext}; 356 - text-shadow: {$whitetextshadow}; 359 + color: {$hoverwhite}; 357 360 } 358 361 359 362 .device-desktop .alert-notifications:hover { ··· 362 365 } 363 366 364 367 .device-desktop .alert-notifications:hover .phui-icon-view { 365 - color: {$sky}; 368 + color: #fff; 366 369 } 367 370 368 371 .phabricator-main-menu-alert-icon, ··· 371 374 height: 18px; 372 375 float: left; 373 376 padding: 8px 6px 8px 4px; 374 - color: {$sky}; 377 + color: #fff; 375 378 font-size: 18px; 376 379 line-height: 20px; 377 380 text-align: right; 378 381 } 379 382 383 + .phui-icon-view.menu-icon-selected { 384 + color: #fff; 385 + } 386 + 380 387 .phabricator-main-menu-alert-icon { 381 388 font-size: 16px; 382 389 margin-top: 2px; ··· 384 391 385 392 .phabricator-main-menu-alert-count, 386 393 .phabricator-main-menu-message-count { 387 - color: {$sky}; 394 + color: #fff; 388 395 text-align: center; 389 396 display: none; 390 397 float: left; 391 398 margin: 11px 6px 0 -2px; 392 399 font-size: 12px; 393 - text-shadow: {$whitetextshadow}; 394 400 } 395 401 396 402 .device-phone .alert-unread .phabricator-main-menu-alert-count, ··· 400 406 401 407 .alert-unread .phabricator-main-menu-alert-icon, 402 408 .message-unread .phabricator-main-menu-message-icon { 403 - color: {$sky}; 409 + color: #fff; 404 410 } 405 411 406 412 .alert-unread .phabricator-main-menu-alert-count, ··· 423 429 } 424 430 425 431 .device .phabricator-dark-menu .phui-list-item-type-label { 426 - border-top: 1px solid {$thinblueborder}; 427 432 text-transform: uppercase; 428 433 font-size: 13px; 429 434 background-color: #fff; 430 435 padding: 6px 0 6px 12px; 431 436 display: block; 432 437 font-weight: bold; 433 - color: {$blue}; 438 + color: #000; 434 439 } 435 440 436 441 .device .phabricator-dark-menu .phui-list-item-href { 437 - border-top: 1px solid {$thinblueborder}; 438 442 background-color: #fff; 439 443 padding: 4px 0 4px 20px; 440 444 display: block; ··· 461 465 462 466 .device .phabricator-search-menu-expanded .phabricator-search-menu { 463 467 display: block; 464 - padding-top: 44px; 468 + position: absolute; 469 + top: 38px; 470 + left: 8px; 471 + right: 8px; 472 + border: 1px solid {$lightblueborder}; 473 + border-radius: 3px; 474 + box-shadow: {$dropshadow}; 465 475 } 466 476 467 477 .device .phabricator-dark-menu .phui-list-item-type-link { 468 - font-size: 15px; 469 - min-height: 30px; 470 - line-height: 28px; 478 + min-height: 24px; 479 + line-height: 20px; 471 480 background: #fff; 472 - } 473 - 474 - .device .phui-list-item-type-link 475 - .phabricator-core-menu-icon + .phui-list-item-name { 476 - margin-left: 32px; 477 481 } 478 482 479 483 .device-desktop .phabricator-application-menu { ··· 493 497 font-size: 20px; 494 498 height: 20px; 495 499 width: 20px; 496 - color: {$lightbluetext}; 500 + color: {$hoverwhite}; 497 501 margin: 8px; 498 502 text-align: center; 499 503 vertical-align: middle; 500 - text-shadow: {$whitetextshadow}; 504 + } 505 + 506 + .device .phabricator-dark-menu.phabricator-application-menu 507 + .phui-list-item-icon.phui-font-fa, 508 + .device .phabricator-dark-menu .phabricator-core-menu-icon { 509 + display: none; 501 510 } 502 511 503 512 .device .phabricator-application-menu .phui-list-item-icon.phui-font-fa { ··· 511 520 .device-desktop .phabricator-application-menu 512 521 .core-menu-item.phui-list-item-view:hover 513 522 .phui-list-item-icon.phui-font-fa { 514 - color: {$darkbluetext}; 523 + color: #fff; 515 524 } 516 525 517 526 .device-desktop .phabricator-application-menu 518 527 .phui-list-item-view.core-menu-item { 519 528 display: block; 520 - } 521 - 522 - .device-desktop .phabricator-application-menu 523 - .core-menu-item.phui-list-item-view:hover { 524 - background-color: rgba(55,55,55,.08); 525 - border-radius: 3px; 526 529 } 527 530 528 531 .device-desktop .phabricator-application-menu .phui-list-item-view { ··· 572 575 573 576 .device .phabricator-application-menu-expanded .phabricator-application-menu { 574 577 display: block; 575 - padding-top: 44px; 578 + position: absolute; 579 + border: 1px solid {$lightblueborder}; 580 + border-radius: 3px; 581 + box-shadow: {$dropshadow}; 582 + top: 38px; 583 + right: 8px; 584 + width: 240px; 576 585 } 577 586 578 587 .device .phabricator-application-menu,
+73
webroot/rsrc/css/application/base/phui-theme.css
··· 1 + /** 2 + * @provides phui-theme-css 3 + */ 4 + 5 + .phui-theme-light button.phabricator-main-menu-search-dropdown .caret:before { 6 + color: {$lightbluetext}; 7 + } 8 + 9 + .phui-theme-light .phabricator-main-menu-search 10 + button.phabricator-main-menu-search-dropdown .phui-icon-view { 11 + color: {$lightbluetext}; 12 + text-shadow: {$whitetextshadow}; 13 + } 14 + 15 + .phui-theme-light .alert-notifications .phui-icon-view { 16 + color: {$lightbluetext}; 17 + text-shadow: {$whitetextshadow}; 18 + } 19 + 20 + .phui-theme-light .phabricator-application-menu 21 + .phui-list-item-icon.phui-font-fa { 22 + color: {$lightbluetext}; 23 + text-shadow: {$whitetextshadow}; 24 + } 25 + 26 + .device-desktop .phui-theme-light .phabricator-main-menu-search 27 + button.phabricator-main-menu-search-dropdown:hover .phui-icon-view { 28 + color: {$sky}; 29 + } 30 + 31 + .device-desktop .phui-theme-light .phabricator-application-menu 32 + .core-menu-item.phui-list-item-view:hover 33 + .phui-list-item-icon.phui-font-fa { 34 + color: {$sky}; 35 + } 36 + 37 + .phui-theme-light .phabricator-menu-button-icon.phui-icon-view { 38 + color: {$bluetext}; 39 + text-shadow: {$whitetextshadow}; 40 + } 41 + 42 + .phui-theme-light .sprite-main-header { 43 + background-image: none; 44 + } 45 + 46 + /*--- Messages / Notifications -----------------------------------------------*/ 47 + 48 + .device-desktop .phui-theme-light .alert-notifications:hover .phui-icon-view { 49 + color: {$sky}; 50 + } 51 + 52 + .phui-theme-light .alert-unread .phabricator-main-menu-alert-icon, 53 + .phui-theme-light .message-unread .phabricator-main-menu-message-icon { 54 + color: {$sky}; 55 + } 56 + 57 + .phui-theme-light .phabricator-main-menu-alert-count, 58 + .phui-theme-light .phabricator-main-menu-message-count, 59 + .phui-theme-light .phui-icon-view.menu-icon-selected { 60 + color: {$sky}; 61 + } 62 + 63 + /*--- Durable Column ---------------------------------------------------------*/ 64 + 65 + .phui-theme-light .conpherence-durable-column-header-text, 66 + .phui-theme-light .conpherence-durable-column-header-text .phui-icon-view { 67 + color: {$bluetext}; 68 + } 69 + 70 + .phui-theme-light .conpherence-durable-column-header { 71 + border-left: 1px solid {$lightblueborder}; 72 + border-right: 1px solid {$lightblueborder}; 73 + }
+5 -5
webroot/rsrc/css/application/conpherence/durable-column.css
··· 108 108 } 109 109 110 110 .conpherence-durable-column-header { 111 - border-left: 1px solid {$lightblueborder}; 112 - border-right: 1px solid {$lightblueborder}; 111 + border-left: 1px solid rgba(0,0,0,.1); 112 + border-right: 1px solid rgba(0,0,0,.1); 113 113 } 114 114 115 115 .conpherence-durable-column-header-text { 116 116 float: left; 117 117 padding: 13px 0 12px 12px; 118 118 font-size: 15px; 119 - color: {$darkbluetext}; 120 - font-weight: 500; 119 + color: {$hoverwhite}; 120 + font-weight: 400; 121 121 width: 230px; 122 122 text-overflow: ellipsis; 123 123 overflow: hidden; ··· 125 125 } 126 126 127 127 .conpherence-durable-column-header-text .phui-icon-view { 128 - color: {$bluetext}; 128 + color: {$hoverwhite}; 129 129 } 130 130 131 131 .conpherence-durable-column-icon-bar {
+60
webroot/rsrc/css/sprite-main-header.css
··· 1 + /** 2 + * @provides sprite-main-header-css 3 + * @generated 4 + */ 5 + 6 + .sprite-main-header { 7 + background-image: url(/rsrc/image/sprite-main-header.png); 8 + background-repeat: repeat-x; 9 + } 10 + 11 + 12 + 13 + 14 + .phui-theme-applebloom .phabricator-main-menu-background { 15 + background-position: 0px 0px; 16 + } 17 + 18 + .phui-theme-blindigo .phabricator-main-menu-background { 19 + background-position: 0px -45px; 20 + } 21 + 22 + .phui-theme-blue .phabricator-main-menu-background { 23 + background-position: 0px -90px; 24 + } 25 + 26 + .phui-theme-dark .phabricator-main-menu-background { 27 + background-position: 0px -135px; 28 + } 29 + 30 + .phui-theme-fluttershy .phabricator-main-menu-background { 31 + background-position: 0px -180px; 32 + } 33 + 34 + .phui-theme-green .phabricator-main-menu-background { 35 + background-position: 0px -225px; 36 + } 37 + 38 + .phui-theme-indigo .phabricator-main-menu-background { 39 + background-position: 0px -270px; 40 + } 41 + 42 + .phui-theme-light .phabricator-main-menu-background { 43 + background-position: 0px -315px; 44 + } 45 + 46 + .phui-theme-nightmaremoon .phabricator-main-menu-background { 47 + background-position: 0px -360px; 48 + } 49 + 50 + .phui-theme-red .phabricator-main-menu-background { 51 + background-position: 0px -405px; 52 + } 53 + 54 + .phui-theme-scootaloo .phabricator-main-menu-background { 55 + background-position: 0px -450px; 56 + } 57 + 58 + .phui-theme-yellow .phabricator-main-menu-background { 59 + background-position: 0px -495px; 60 + }
+4 -36
webroot/rsrc/css/sprite-menu.css
··· 13 13 only screen and (-webkit-min-device-pixel-ratio: 1.5) { 14 14 .sprite-menu { 15 15 background-image: url(/rsrc/image/sprite-menu-X2.png); 16 - background-size: 194px 205px; 16 + background-size: 97px 123px; 17 17 } 18 18 } 19 19 ··· 26 26 background-position: 0px -82px; 27 27 } 28 28 29 - .red-logo { 30 - background-position: -97px 0px; 31 - } 32 - 33 - .red-eye { 34 - background-position: -41px -82px; 35 - } 36 - 37 - .blue-logo { 29 + .light-logo { 38 30 background-position: 0px -41px; 39 31 } 40 32 41 - .blue-eye { 42 - background-position: -82px -82px; 43 - } 44 - 45 - .indigo-logo { 46 - background-position: -97px -41px; 47 - } 48 - 49 - .indigo-eye { 50 - background-position: -123px -82px; 51 - } 52 - 53 - .blindigo-logo { 54 - background-position: 0px -123px; 55 - } 56 - 57 - .blindigo-eye { 58 - background-position: -97px -123px; 59 - } 60 - 61 - .rainbow-logo { 62 - background-position: 0px -164px; 63 - } 64 - 65 - .rainbow-eye { 66 - background-position: -97px -164px; 33 + .light-eye { 34 + background-position: -41px -82px; 67 35 }
webroot/rsrc/image/sprite-main-header.png

This is a binary file and will not be displayed.

webroot/rsrc/image/sprite-menu-X2.png

This is a binary file and will not be displayed.

webroot/rsrc/image/sprite-menu.png

This is a binary file and will not be displayed.

+2 -2
webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js
··· 125 125 if (menu) { 126 126 statics.visible = {menu: menu, icon: icon}; 127 127 if (icon) { 128 - JX.DOM.alterClass(icon, 'sky', true); 128 + JX.DOM.alterClass(icon, 'menu-icon-selected', true); 129 129 } 130 130 } else { 131 131 if (statics.visible) { 132 132 JX.DOM.hide(statics.visible.menu); 133 133 if (statics.visible.icon) { 134 - JX.DOM.alterClass(statics.visible.icon, 'sky', false); 134 + JX.DOM.alterClass(statics.visible.icon, 'menu-icon-selected', false); 135 135 } 136 136 } 137 137 statics.visible = null;