@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.

Update message and notification icons to use fonts

Summary: Cleans up spacing, updates to fonts instead of images. Fixed some mobile issues.

Test Plan:
Test with and without counts on desktop, tablet, mobile. Test layout in FF, Chrome, IE.

{F246745}

{F246746}

Reviewers: btrahan, epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

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

+55 -128
+7 -7
resources/celerity/map.php
··· 7 7 */ 8 8 return array( 9 9 'names' => array( 10 - 'core.pkg.css' => '78e368d3', 10 + 'core.pkg.css' => 'a82ffdea', 11 11 'core.pkg.js' => 'ef8f73ee', 12 12 'darkconsole.pkg.js' => 'df001cab', 13 13 'differential.pkg.css' => '8af45893', ··· 35 35 'rsrc/css/aphront/two-column.css' => '16ab3ad2', 36 36 'rsrc/css/aphront/typeahead.css' => 'a989b5b3', 37 37 'rsrc/css/application/auth/auth.css' => '1e655982', 38 - 'rsrc/css/application/base/main-menu-view.css' => 'b2d8b1f8', 38 + 'rsrc/css/application/base/main-menu-view.css' => 'de453b7c', 39 39 'rsrc/css/application/base/notification-menu.css' => '6aa0a74b', 40 40 'rsrc/css/application/base/phabricator-application-launch-view.css' => '5d71008f', 41 41 'rsrc/css/application/base/standard-page-view.css' => '3f5b9311', ··· 152 152 'rsrc/css/sprite-gradient.css' => '4bdb98a7', 153 153 'rsrc/css/sprite-login.css' => 'a355d921', 154 154 'rsrc/css/sprite-main-header.css' => '92720ee2', 155 - 'rsrc/css/sprite-menu.css' => 'afaf676d', 155 + 'rsrc/css/sprite-menu.css' => '0ca5a908', 156 156 'rsrc/css/sprite-payments.css' => 'cc085d44', 157 157 'rsrc/css/sprite-projects.css' => '7578fa56', 158 158 'rsrc/css/sprite-tokens.css' => '1706b943', ··· 330 330 'rsrc/image/sprite-login-X2.png' => '5ae6de3a', 331 331 'rsrc/image/sprite-login.png' => '07f2c67c', 332 332 'rsrc/image/sprite-main-header.png' => '83521873', 333 - 'rsrc/image/sprite-menu-X2.png' => 'a54606dd', 334 - 'rsrc/image/sprite-menu.png' => '34048681', 333 + 'rsrc/image/sprite-menu-X2.png' => '89ae35f1', 334 + 'rsrc/image/sprite-menu.png' => 'b912a047', 335 335 'rsrc/image/sprite-payments.png' => 'd8576309', 336 336 'rsrc/image/sprite-projects-X2.png' => '218fdc8b', 337 337 'rsrc/image/sprite-projects.png' => '631ff9a7', ··· 723 723 'phabricator-hovercard-view-css' => '893f4783', 724 724 'phabricator-keyboard-shortcut' => '1ae869f2', 725 725 'phabricator-keyboard-shortcut-manager' => 'ad7a69ca', 726 - 'phabricator-main-menu-view' => 'b2d8b1f8', 726 + 'phabricator-main-menu-view' => 'de453b7c', 727 727 'phabricator-nav-view-css' => '9283c2df', 728 728 'phabricator-notification' => '0c6946e7', 729 729 'phabricator-notification-css' => '9c279160', ··· 820 820 'sprite-gradient-css' => '4bdb98a7', 821 821 'sprite-login-css' => 'a355d921', 822 822 'sprite-main-header-css' => '92720ee2', 823 - 'sprite-menu-css' => 'afaf676d', 823 + 'sprite-menu-css' => '0ca5a908', 824 824 'sprite-payments-css' => 'cc085d44', 825 825 'sprite-projects-css' => '7578fa56', 826 826 'sprite-tokens-css' => '1706b943',
+3 -33
resources/sprite/manifest/menu.json
··· 1 1 { 2 2 "version" : 1, 3 3 "sprites" : { 4 - "arrow-right" : { 4 + "arrow-right" : { 5 5 "name" : "arrow-right", 6 6 "rule" : ".phabricator-crumb-divider", 7 7 "hash" : "87affa58adbe8da437a1cea6ffc5d8a4" 8 8 }, 9 - "conf-hover" : { 10 - "name" : "conf-hover", 11 - "rule" : ".alert-notifications:hover .phabricator-main-menu-message-icon", 12 - "hash" : "78795fbf2345fd8f54e66a3b3dea7bcd" 13 - }, 14 - "conf-off" : { 15 - "name" : "conf-off", 16 - "rule" : ".alert-notifications .phabricator-main-menu-message-icon", 17 - "hash" : "85e76a1e5d717d7d7f0a4e4e92a0b543" 18 - }, 19 - "conf-unseen" : { 20 - "name" : "conf-unseen", 21 - "rule" : ".alert-notifications.message-unread .phabricator-main-menu-message-icon", 22 - "hash" : "7edd6d68b36f2f46133eb3118f966c6b" 23 - }, 24 - "eye" : { 9 + "eye" : { 25 10 "name" : "eye", 26 11 "rule" : ".phabricator-main-menu-eye", 27 12 "hash" : "35f24014f23142275574136a63dcb73f" 28 13 }, 29 - "logo" : { 14 + "logo" : { 30 15 "name" : "logo", 31 16 "rule" : ".phabricator-main-menu-logo", 32 17 "hash" : "668b04729a4b9460b0c89cb6ef6db4d4" 33 - }, 34 - "seen_have_unread" : { 35 - "name" : "seen_have_unread", 36 - "rule" : ".alert-notifications:hover .phabricator-main-menu-alert-icon", 37 - "hash" : "7742f97d26f025542d6f162346557871" 38 - }, 39 - "seen_read_all" : { 40 - "name" : "seen_read_all", 41 - "rule" : ".alert-notifications .phabricator-main-menu-alert-icon", 42 - "hash" : "94d4fea01dbb666bb794feec56f783e5" 43 - }, 44 - "unseen_any" : { 45 - "name" : "unseen_any", 46 - "rule" : ".alert-notifications.alert-unread .phabricator-main-menu-alert-icon", 47 - "hash" : "6c577a4c2207f9e2250ca3f09fb4fac3" 48 18 } 49 19 }, 50 20 "scales" : [
resources/sprite/menu_1x/conf-hover.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/conf-off.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/conf-unseen.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/seen_have_unread.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/seen_read_all.png

This is a binary file and will not be displayed.

resources/sprite/menu_1x/unseen_any.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/conf-hover.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/conf-off.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/conf-unseen.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/seen_have_unread.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/seen_read_all.png

This is a binary file and will not be displayed.

resources/sprite/menu_2x/unseen_any.png

This is a binary file and will not be displayed.

-37
src/applications/celerity/CeleritySpriteGenerator.php
··· 6 6 $sprites = array(); 7 7 8 8 $sources = array( 9 - 'seen_read_all' => array( 10 - 'x' => 18, 11 - 'y' => 18, 12 - 'css' => 13 - '.alert-notifications .phabricator-main-menu-alert-icon', 14 - ), 15 - 'seen_have_unread' => array( 16 - 'x' => 18, 17 - 'y' => 18, 18 - 'css' => 19 - '.alert-notifications:hover .phabricator-main-menu-alert-icon', 20 - ), 21 - 'unseen_any' => array( 22 - 'x' => 18, 23 - 'y' => 18, 24 - 'css' => 25 - '.alert-notifications.alert-unread .phabricator-main-menu-alert-icon', 26 - ), 27 9 'arrow-right' => array( 28 10 'x' => 9, 29 11 'y' => 31, ··· 38 20 'x' => 40, 39 21 'y' => 40, 40 22 'css' => '.phabricator-main-menu-eye', 41 - ), 42 - 'conf-off' => array( 43 - 'x' => 18, 44 - 'y' => 18, 45 - 'css' => 46 - '.alert-notifications .phabricator-main-menu-message-icon', 47 - ), 48 - 'conf-hover' => array( 49 - 'x' => 18, 50 - 'y' => 18, 51 - 'css' => 52 - '.alert-notifications:hover .phabricator-main-menu-message-icon', 53 - ), 54 - 'conf-unseen' => array( 55 - 'x' => 18, 56 - 'y' => 18, 57 - 'css' => 58 - '.alert-notifications.message-unread '. 59 - '.phabricator-main-menu-message-icon', 60 23 ), 61 24 ); 62 25
+5 -8
src/view/page/menu/PhabricatorMainMenuView.php
··· 270 270 271 271 require_celerity_resource('phabricator-notification-css'); 272 272 require_celerity_resource('phabricator-notification-menu-css'); 273 - require_celerity_resource('sprite-menu-css'); 274 273 275 - $container_classes = array( 276 - 'sprite-menu', 277 - 'alert-notifications', 278 - ); 279 - 274 + $container_classes = array('alert-notifications'); 280 275 $aural = array(); 281 276 282 277 $message_tag = ''; ··· 324 319 $message_icon_tag = phutil_tag( 325 320 'span', 326 321 array( 327 - 'class' => 'sprite-menu phabricator-main-menu-message-icon', 322 + 'class' => 'phabricator-main-menu-message-icon phui-icon-view '. 323 + 'phui-font-fa fa-comments', 328 324 ), 329 325 ''); 330 326 ··· 408 404 $icon_tag = phutil_tag( 409 405 'span', 410 406 array( 411 - 'class' => 'sprite-menu phabricator-main-menu-alert-icon', 407 + 'class' => 'phabricator-main-menu-alert-icon phui-icon-view '. 408 + 'phui-font-fa fa-bell', 412 409 ), 413 410 ''); 414 411
+36 -15
webroot/rsrc/css/application/base/main-menu-view.css
··· 43 43 width: 148px; 44 44 height: 44px; 45 45 float: left; 46 - margin-right: 6px; 47 - padding-right: 4px; 46 + margin-right: 4px; 48 47 padding-left: 6px; 49 48 } 50 49 ··· 271 270 272 271 .phabricator-main-menu-alerts { 273 272 display: inline-block; 274 - border-radius: 15px; 275 273 float: left; 276 - background: rgba(0,0,0,.5); 277 - height: 20px; 278 - padding: 2px 10px 3px 8px; 279 - margin-top: 10px; 274 + padding: 4px 0; 275 + } 276 + 277 + .alert-notifications { 278 + float: left; 279 + } 280 + 281 + .alert-notifications:hover .phui-icon-view { 282 + color: #fff; 283 + } 284 + 285 + .alert-unread:hover .phabricator-main-menu-alert-icon.phui-icon-view, 286 + .message-unread:hover .phabricator-main-menu-message-icon.phui-icon-view { 287 + color: {$sky}; 280 288 } 281 289 282 290 .phabricator-main-menu-alert-icon, 283 291 .phabricator-main-menu-message-icon { 284 292 width: 18px; 285 293 height: 18px; 286 - display: block; 287 294 float: left; 288 - margin: 2px 0 0 0; 295 + padding: 9px 6px 9px 4px; 296 + color: white; 297 + font-size: 18px; 298 + line-height: 20px; 299 + text-align: right; 289 300 } 290 301 291 - .alert-notifications .phabricator-main-menu-message-icon { 292 - margin: 2px 0 0 6px; 302 + .phabricator-main-menu-alert-icon { 303 + font-size: 16px; 304 + margin-top: 2px; 293 305 } 294 306 295 307 .phabricator-main-menu-alert-count, 296 308 .phabricator-main-menu-message-count { 297 - font-weight: bold; 298 - line-height: 20px; 299 - color: #ffffff; 309 + color: #fff; 300 310 text-align: center; 301 311 display: none; 302 312 float: left; 303 - margin-left: 3px; 313 + margin: 11px 6px 0 -2px; 314 + font-size: 12px; 315 + } 316 + 317 + .device-phone .alert-unread .phabricator-main-menu-alert-count, 318 + .device-phone .message-unread .phabricator-main-menu-message-count { 319 + display: none; 320 + } 321 + 322 + .alert-unread .phabricator-main-menu-alert-icon, 323 + .message-unread .phabricator-main-menu-message-icon { 324 + color: {$sky}; 304 325 } 305 326 306 327 .alert-unread .phabricator-main-menu-alert-count,
+4 -28
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: 97px 138px; 16 + background-size: 97px 100px; 17 17 } 18 18 } 19 19 20 20 21 - .alert-notifications .phabricator-main-menu-alert-icon { 22 - background-position: 0px 0px; 23 - } 24 - 25 - .alert-notifications:hover .phabricator-main-menu-alert-icon { 26 - background-position: -19px 0px; 27 - } 28 - 29 - .alert-notifications.alert-unread .phabricator-main-menu-alert-icon { 30 - background-position: -38px 0px; 31 - } 32 - 33 21 .phabricator-crumb-divider { 34 - background-position: 0px -65px; 22 + background-position: 0px -27px; 35 23 } 36 24 37 25 .phabricator-main-menu-logo { 38 - background-position: 0px -38px; 26 + background-position: 0px 0px; 39 27 } 40 28 41 29 .phabricator-main-menu-eye { 42 - background-position: 0px -97px; 43 - } 44 - 45 - .alert-notifications .phabricator-main-menu-message-icon { 46 - background-position: 0px -19px; 47 - } 48 - 49 - .alert-notifications:hover .phabricator-main-menu-message-icon { 50 - background-position: -19px -19px; 51 - } 52 - 53 - .alert-notifications.message-unread .phabricator-main-menu-message-icon { 54 - background-position: -38px -19px; 30 + background-position: 0px -59px; 55 31 }
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.