Page MenuHomePhabricator

D9509.diff
No OneTemporary

D9509.diff

diff --git a/src/applications/home/application/PhabricatorApplicationHome.php b/src/applications/home/application/PhabricatorApplicationHome.php
--- a/src/applications/home/application/PhabricatorApplicationHome.php
+++ b/src/applications/home/application/PhabricatorApplicationHome.php
@@ -3,11 +3,11 @@
final class PhabricatorApplicationHome extends PhabricatorApplication {
public function getBaseURI() {
- return '/';
+ return '/home/';
}
public function getShortDescription() {
- return pht('Where the <3 is');
+ return pht('Command Center');
}
public function getIconName() {
@@ -16,7 +16,8 @@
public function getRoutes() {
return array(
- '/(?:(?P<filter>(?:jump))/)?' => 'PhabricatorHomeMainController',
+ '/' => 'PhabricatorHomeMainController',
+ '/(?P<only>home)/' => 'PhabricatorHomeMainController',
'/home/' => array(
'create/' => 'PhabricatorHomeQuickCreateController',
),
diff --git a/src/applications/home/controller/PhabricatorHomeController.php b/src/applications/home/controller/PhabricatorHomeController.php
--- a/src/applications/home/controller/PhabricatorHomeController.php
+++ b/src/applications/home/controller/PhabricatorHomeController.php
@@ -40,6 +40,15 @@
$applications[$meta_app] = PhabricatorApplication::getByClass($meta_app);
$tiles = array();
+
+ $home_app = new PhabricatorApplicationHome();
+
+ $tiles[] = id(new PhabricatorApplicationLaunchView())
+ ->setApplication($home_app)
+ ->setApplicationStatus($home_app->loadStatus($user))
+ ->addClass('phabricator-application-launch-phone-only')
+ ->setUser($user);
+
foreach ($pinned as $pinned_application) {
if (empty($applications[$pinned_application])) {
continue;
diff --git a/src/applications/home/controller/PhabricatorHomeMainController.php b/src/applications/home/controller/PhabricatorHomeMainController.php
--- a/src/applications/home/controller/PhabricatorHomeMainController.php
+++ b/src/applications/home/controller/PhabricatorHomeMainController.php
@@ -3,7 +3,7 @@
final class PhabricatorHomeMainController
extends PhabricatorHomeController {
- private $filter;
+ private $only;
private $minipanels = array();
public function shouldAllowPublic() {
@@ -11,44 +11,49 @@
}
public function willProcessRequest(array $data) {
- $this->filter = idx($data, 'filter');
+ $this->only = idx($data, 'only');
}
public function processRequest() {
$user = $this->getRequest()->getUser();
- $nav = $this->buildNav();
$dashboard = PhabricatorDashboardInstall::getDashboard(
$user,
$user->getPHID(),
get_class($this->getCurrentApplication()));
if ($dashboard) {
- $rendered_dashboard = id(new PhabricatorDashboardRenderingEngine())
+ $content = id(new PhabricatorDashboardRenderingEngine())
->setViewer($user)
->setDashboard($dashboard)
->renderDashboard();
- $nav->appendChild($rendered_dashboard);
} else {
$project_query = new PhabricatorProjectQuery();
$project_query->setViewer($user);
$project_query->withMemberPHIDs(array($user->getPHID()));
$projects = $project_query->execute();
- $nav = $this->buildMainResponse($nav, $projects);
+ $content = $this->buildMainResponse($projects);
}
- $nav->appendChild(id(new PhabricatorGlobalUploadTargetView())
- ->setUser($user));
+ if (!$this->only) {
+ $nav = $this->buildNav();
+ $nav->appendChild(
+ array(
+ $content,
+ id(new PhabricatorGlobalUploadTargetView())->setUser($user),
+ ));
+ $content = $nav;
+ }
return $this->buildApplicationPage(
- $nav,
+ $content,
array(
'title' => 'Phabricator',
'device' => true,
));
}
- private function buildMainResponse($nav, array $projects) {
+ private function buildMainResponse(array $projects) {
assert_instances_of($projects, 'PhabricatorProject');
$viewer = $this->getRequest()->getUser();
@@ -94,7 +99,7 @@
$revision_panel = null;
}
- $content = array(
+ return array(
$welcome_panel,
$unbreak_panel,
$triage_panel,
@@ -104,11 +109,6 @@
$commit_panel,
$this->minipanels,
);
-
- $nav->appendChild($content);
-
- return $nav;
-
}
private function buildUnbreakNowPanel() {
diff --git a/src/applications/meta/view/PhabricatorApplicationLaunchView.php b/src/applications/meta/view/PhabricatorApplicationLaunchView.php
--- a/src/applications/meta/view/PhabricatorApplicationLaunchView.php
+++ b/src/applications/meta/view/PhabricatorApplicationLaunchView.php
@@ -1,6 +1,6 @@
<?php
-final class PhabricatorApplicationLaunchView extends AphrontView {
+final class PhabricatorApplicationLaunchView extends AphrontTagView {
private $application;
private $status;
@@ -15,7 +15,19 @@
return $this;
}
- public function render() {
+ protected function getTagName() {
+ return $this->application ? 'a' : 'div';
+ }
+
+ protected function getTagAttributes() {
+ $application = $this->application;
+ return array(
+ 'class' => array('phabricator-application-launch-container'),
+ 'href' => $application ? $application->getBaseURI() : null,
+ );
+ }
+
+ protected function getTagContent() {
$application = $this->application;
require_celerity_resource('phabricator-application-launch-view-css');
@@ -124,20 +136,10 @@
'');
}
- $classes = array();
- $classes[] = 'phabricator-application-launch-container';
-
- $app_button = phutil_tag(
- $application ? 'a' : 'div',
- array(
- 'class' => implode(' ', $classes),
- 'href' => $application ? $application->getBaseURI() : null,
- ),
- array(
- $icon,
- $content,
- ));
-
- return $app_button;
+ return array(
+ $icon,
+ $content,
+ );
}
+
}
diff --git a/webroot/rsrc/css/application/base/phabricator-application-launch-view.css b/webroot/rsrc/css/application/base/phabricator-application-launch-view.css
--- a/webroot/rsrc/css/application/base/phabricator-application-launch-view.css
+++ b/webroot/rsrc/css/application/base/phabricator-application-launch-view.css
@@ -93,3 +93,11 @@
.phabricator-application-attention-count {
color: {$sky};
}
+
+a.phabricator-application-launch-phone-only {
+ display: none;
+}
+
+.device-phone a.phabricator-application-launch-phone-only {
+ display: block;
+}

File Metadata

Mime Type
text/plain
Expires
Thu, Feb 6, 9:52 AM (21 h, 9 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7095313
Default Alt Text
D9509.diff (6 KB)

Event Timeline