mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-23 07:12:41 +01:00
Add dates to notifications page
Summary: Fixes T3957, adds timestamps to the notifications page. Test Plan: View my notifications page, see the new time stamps. Uncertain if I set $user correctly. Reviewers: epriestley, btrahan Reviewed By: btrahan CC: Korvin, epriestley, aran Maniphest Tasks: T3957 Differential Revision: https://secure.phabricator.com/D8039
This commit is contained in:
parent
36892cfe10
commit
57f1a83488
5 changed files with 32 additions and 7 deletions
|
@ -7,7 +7,7 @@
|
||||||
return array(
|
return array(
|
||||||
'names' =>
|
'names' =>
|
||||||
array(
|
array(
|
||||||
'core.pkg.css' => '2eafddad',
|
'core.pkg.css' => '6c70dd0e',
|
||||||
'core.pkg.js' => 'c907bd96',
|
'core.pkg.js' => 'c907bd96',
|
||||||
'darkconsole.pkg.js' => 'ca8671ce',
|
'darkconsole.pkg.js' => 'ca8671ce',
|
||||||
'differential.pkg.css' => '5a65a762',
|
'differential.pkg.css' => '5a65a762',
|
||||||
|
@ -40,7 +40,7 @@ return array(
|
||||||
'rsrc/css/aphront/typeahead.css' => '00c9a200',
|
'rsrc/css/aphront/typeahead.css' => '00c9a200',
|
||||||
'rsrc/css/application/auth/auth.css' => '1e655982',
|
'rsrc/css/application/auth/auth.css' => '1e655982',
|
||||||
'rsrc/css/application/base/main-menu-view.css' => 'aba0b7a6',
|
'rsrc/css/application/base/main-menu-view.css' => 'aba0b7a6',
|
||||||
'rsrc/css/application/base/notification-menu.css' => '07433791',
|
'rsrc/css/application/base/notification-menu.css' => 'fc9a363c',
|
||||||
'rsrc/css/application/base/phabricator-application-launch-view.css' => '6f8453d9',
|
'rsrc/css/application/base/phabricator-application-launch-view.css' => '6f8453d9',
|
||||||
'rsrc/css/application/base/standard-page-view.css' => '517cdfb1',
|
'rsrc/css/application/base/standard-page-view.css' => '517cdfb1',
|
||||||
'rsrc/css/application/chatlog/chatlog.css' => '0cd2bc78',
|
'rsrc/css/application/chatlog/chatlog.css' => '0cd2bc78',
|
||||||
|
@ -693,7 +693,7 @@ return array(
|
||||||
'phabricator-nav-view-css' => 'd0d4a509',
|
'phabricator-nav-view-css' => 'd0d4a509',
|
||||||
'phabricator-notification' => '95944043',
|
'phabricator-notification' => '95944043',
|
||||||
'phabricator-notification-css' => '6901121e',
|
'phabricator-notification-css' => '6901121e',
|
||||||
'phabricator-notification-menu-css' => '07433791',
|
'phabricator-notification-menu-css' => 'fc9a363c',
|
||||||
'phabricator-object-list-view-css' => '1a1ea560',
|
'phabricator-object-list-view-css' => '1a1ea560',
|
||||||
'phabricator-object-selector-css' => '029a133d',
|
'phabricator-object-selector-css' => '029a133d',
|
||||||
'phabricator-phtize' => 'd254d646',
|
'phabricator-phtize' => 'd254d646',
|
||||||
|
|
|
@ -3,11 +3,17 @@
|
||||||
final class PhabricatorNotificationBuilder {
|
final class PhabricatorNotificationBuilder {
|
||||||
|
|
||||||
private $stories;
|
private $stories;
|
||||||
|
private $user = null;
|
||||||
|
|
||||||
public function __construct(array $stories) {
|
public function __construct(array $stories) {
|
||||||
$this->stories = $stories;
|
$this->stories = $stories;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setUser($user) {
|
||||||
|
$this->user = $user;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function buildView() {
|
public function buildView() {
|
||||||
|
|
||||||
$stories = $this->stories;
|
$stories = $this->stories;
|
||||||
|
@ -124,8 +130,7 @@ final class PhabricatorNotificationBuilder {
|
||||||
|
|
||||||
foreach ($stories as $story) {
|
foreach ($stories as $story) {
|
||||||
$view = $story->renderView();
|
$view = $story->renderView();
|
||||||
|
$null_view->appendChild($view->renderNotification($this->user));
|
||||||
$null_view->appendChild($view->renderNotification());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $null_view;
|
return $null_view;
|
||||||
|
|
|
@ -43,6 +43,7 @@ final class PhabricatorNotificationListController
|
||||||
|
|
||||||
if ($notifications) {
|
if ($notifications) {
|
||||||
$builder = new PhabricatorNotificationBuilder($notifications);
|
$builder = new PhabricatorNotificationBuilder($notifications);
|
||||||
|
$builder->setUser($user);
|
||||||
$view = $builder->buildView()->render();
|
$view = $builder->buildView()->render();
|
||||||
} else {
|
} else {
|
||||||
$view = phutil_tag_div(
|
$view = phutil_tag_div(
|
||||||
|
|
|
@ -99,7 +99,7 @@ final class PHUIFeedStoryView extends AphrontView {
|
||||||
return $this->href;
|
return $this->href;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function renderNotification() {
|
public function renderNotification($user) {
|
||||||
$classes = array(
|
$classes = array(
|
||||||
'phabricator-notification',
|
'phabricator-notification',
|
||||||
);
|
);
|
||||||
|
@ -107,6 +107,20 @@ final class PHUIFeedStoryView extends AphrontView {
|
||||||
if (!$this->viewed) {
|
if (!$this->viewed) {
|
||||||
$classes[] = 'phabricator-notification-unread';
|
$classes[] = 'phabricator-notification-unread';
|
||||||
}
|
}
|
||||||
|
if ($this->epoch) {
|
||||||
|
if ($user) {
|
||||||
|
$foot = phabricator_datetime($this->epoch, $user);
|
||||||
|
$foot = phutil_tag(
|
||||||
|
'span',
|
||||||
|
array(
|
||||||
|
'class' => 'phabricator-notification-date'),
|
||||||
|
$foot);
|
||||||
|
} else {
|
||||||
|
$foot = null;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$foot = pht('No time specified.');
|
||||||
|
}
|
||||||
|
|
||||||
return javelin_tag(
|
return javelin_tag(
|
||||||
'div',
|
'div',
|
||||||
|
@ -117,7 +131,7 @@ final class PHUIFeedStoryView extends AphrontView {
|
||||||
'href' => $this->getHref(),
|
'href' => $this->getHref(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
$this->title);
|
array($this->title, $foot));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function render() {
|
public function render() {
|
||||||
|
|
|
@ -13,6 +13,11 @@
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phabricator-notification .phabricator-notification-date {
|
||||||
|
margin-left: 8px;
|
||||||
|
color: {$lightgreytext};
|
||||||
|
}
|
||||||
|
|
||||||
.phabricator-notification-menu-loading {
|
.phabricator-notification-menu-loading {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
|
|
Loading…
Reference in a new issue