diff --git a/resources/celerity/map.php b/resources/celerity/map.php index f020ce521a..db0e057ab2 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -75,7 +75,7 @@ return array( 'rsrc/css/application/diffusion/diffusion-readme.css' => '419dd5b6', 'rsrc/css/application/diffusion/diffusion-repository.css' => 'ee6f20ec', 'rsrc/css/application/diffusion/diffusion-source.css' => '750add59', - 'rsrc/css/application/diffusion/diffusion.css' => '34d507b9', + 'rsrc/css/application/diffusion/diffusion.css' => '58e0704b', 'rsrc/css/application/feed/feed.css' => 'ecd4ec57', 'rsrc/css/application/files/global-drag-and-drop.css' => 'b556a948', 'rsrc/css/application/flag/flag.css' => 'bba8f811', @@ -570,7 +570,7 @@ return array( 'differential-revision-history-css' => '0e8eb855', 'differential-revision-list-css' => 'f3c47d33', 'differential-table-of-contents-css' => 'ae4b7a55', - 'diffusion-css' => '34d507b9', + 'diffusion-css' => '58e0704b', 'diffusion-icons-css' => '0c15255e', 'diffusion-readme-css' => '419dd5b6', 'diffusion-repository-css' => 'ee6f20ec', diff --git a/src/applications/diffusion/controller/DiffusionBranchTableController.php b/src/applications/diffusion/controller/DiffusionBranchTableController.php index 04d00f0306..801b45a450 100644 --- a/src/applications/diffusion/controller/DiffusionBranchTableController.php +++ b/src/applications/diffusion/controller/DiffusionBranchTableController.php @@ -71,6 +71,11 @@ final class DiffusionBranchTableController extends DiffusionController { ->setHeader(pht('Branches')) ->setHeaderIcon('fa-code-fork'); + if (!$repository->isSVN()) { + $branch_tag = $this->renderBranchTag($drequest); + $header->addTag($branch_tag); + } + $tabs = $this->buildTabsView('branch'); $view = id(new PHUITwoColumnView()) diff --git a/src/applications/diffusion/controller/DiffusionBrowseController.php b/src/applications/diffusion/controller/DiffusionBrowseController.php index a9f97d5387..346891cfb2 100644 --- a/src/applications/diffusion/controller/DiffusionBrowseController.php +++ b/src/applications/diffusion/controller/DiffusionBrowseController.php @@ -76,8 +76,11 @@ final class DiffusionBrowseController extends DiffusionController { )); $crumbs->setBorder(true); + $tabs = $this->buildTabsView('code'); + $view = id(new PHUITwoColumnView()) ->setHeader($header) + ->setTabs($tabs) ->setFooter( array( $search_form, @@ -291,9 +294,11 @@ final class DiffusionBrowseController extends DiffusionController { $crumbs->setBorder(true); $basename = basename($this->getDiffusionRequest()->getPath()); + $tabs = $this->buildTabsView('code'); $view = id(new PHUITwoColumnView()) ->setHeader($header) + ->setTabs($tabs) ->setCurtain($curtain) ->setMainColumn(array( $content, @@ -387,9 +392,11 @@ final class DiffusionBrowseController extends DiffusionController { )); $crumbs->setBorder(true); + $tabs = $this->buildTabsView('code'); $view = id(new PHUITwoColumnView()) ->setHeader($header) + ->setTabs($tabs) ->setFooter( array( $branch_panel, @@ -1491,8 +1498,10 @@ final class DiffusionBrowseController extends DiffusionController { protected function buildHeaderView(DiffusionRequest $drequest) { $viewer = $this->getViewer(); + $repository = $drequest->getRepository(); + + $commit_tag = $this->renderCommitHashTag($drequest); - $tag = $this->renderCommitHashTag($drequest); $path = nonempty(basename($drequest->getPath()), '/'); $search = $this->renderSearchForm($path); @@ -1500,9 +1509,14 @@ final class DiffusionBrowseController extends DiffusionController { ->setUser($viewer) ->setHeader($this->renderPathLinks($drequest, $mode = 'browse')) ->addActionItem($search) - ->addTag($tag) + ->addTag($commit_tag) ->addClass('diffusion-browse-header'); + if (!$repository->isSVN()) { + $branch_tag = $this->renderBranchTag($drequest); + $header->addTag($branch_tag); + } + return $header; } diff --git a/src/applications/diffusion/controller/DiffusionController.php b/src/applications/diffusion/controller/DiffusionController.php index 2a52a73269..d79c4fb7eb 100644 --- a/src/applications/diffusion/controller/DiffusionController.php +++ b/src/applications/diffusion/controller/DiffusionController.php @@ -343,6 +343,38 @@ abstract class DiffusionController extends PhabricatorController { return $tag; } + protected function renderBranchTag(DiffusionRequest $drequest) { + $branch = $drequest->getBranch(); + $branch = id(new PhutilUTF8StringTruncator()) + ->setMaximumGlyphs(24) + ->truncateString($branch); + + $tag = id(new PHUITagView()) + ->setName($branch) + ->setColor(PHUITagView::COLOR_INDIGO) + ->setBorder(PHUITagView::BORDER_NONE) + ->setType(PHUITagView::TYPE_OUTLINE) + ->addClass('diffusion-header-branch-tag'); + + return $tag; + } + + protected function renderSymbolicCommit(DiffusionRequest $drequest) { + $symbolic_tag = $drequest->getSymbolicCommit(); + $symbolic_tag = id(new PhutilUTF8StringTruncator()) + ->setMaximumGlyphs(24) + ->truncateString($symbolic_tag); + + $tag = id(new PHUITagView()) + ->setName($symbolic_tag) + ->setIcon('fa-tag') + ->setColor(PHUITagView::COLOR_INDIGO) + ->setBorder(PHUITagView::BORDER_NONE) + ->setType(PHUITagView::TYPE_SHADE); + + return $tag; + } + protected function renderDirectoryReadme(DiffusionBrowseResultSet $browse) { $readme_path = $browse->getReadmePath(); if ($readme_path === null) { @@ -470,15 +502,15 @@ abstract class DiffusionController extends PhabricatorController { $view->addMenuItem( id(new PHUIListItemView()) - ->setKey('home') - ->setName(pht('Home')) - ->setIcon('fa-home') + ->setKey('code') + ->setName(pht('Code')) + ->setIcon('fa-code') ->setHref($drequest->generateURI( array( 'action' => 'branch', 'path' => '/', ))) - ->setSelected($key == 'home')); + ->setSelected($key == 'code')); if (!$repository->isSVN()) { $view->addMenuItem( diff --git a/src/applications/diffusion/controller/DiffusionGraphController.php b/src/applications/diffusion/controller/DiffusionGraphController.php index 8ec909139a..5062fe9765 100644 --- a/src/applications/diffusion/controller/DiffusionGraphController.php +++ b/src/applications/diffusion/controller/DiffusionGraphController.php @@ -11,6 +11,7 @@ final class DiffusionGraphController extends DiffusionController { if ($response) { return $response; } + require_celerity_resource('diffusion-css'); $viewer = $this->getViewer(); $drequest = $this->getDiffusionRequest(); @@ -83,6 +84,7 @@ final class DiffusionGraphController extends DiffusionController { private function buildHeader(DiffusionRequest $drequest) { $viewer = $this->getViewer(); + $repository = $drequest->getRepository(); $no_path = !strlen($drequest->getPath()); if ($no_path) { @@ -96,6 +98,11 @@ final class DiffusionGraphController extends DiffusionController { ->setHeader($header_text) ->setHeaderIcon('fa-code-fork'); + if (!$repository->isSVN()) { + $branch_tag = $this->renderBranchTag($drequest); + $header->addTag($branch_tag); + } + return $header; } diff --git a/src/applications/diffusion/controller/DiffusionHistoryController.php b/src/applications/diffusion/controller/DiffusionHistoryController.php index fde35133cc..f50e73295f 100644 --- a/src/applications/diffusion/controller/DiffusionHistoryController.php +++ b/src/applications/diffusion/controller/DiffusionHistoryController.php @@ -11,6 +11,7 @@ final class DiffusionHistoryController extends DiffusionController { if ($response) { return $response; } + require_celerity_resource('diffusion-css'); $viewer = $this->getViewer(); $drequest = $this->getDiffusionRequest(); @@ -78,6 +79,7 @@ final class DiffusionHistoryController extends DiffusionController { private function buildHeader(DiffusionRequest $drequest) { $viewer = $this->getViewer(); + $repository = $drequest->getRepository(); $no_path = !strlen($drequest->getPath()); if ($no_path) { @@ -91,6 +93,16 @@ final class DiffusionHistoryController extends DiffusionController { ->setHeader($header_text) ->setHeaderIcon('fa-clock-o'); + if (!$repository->isSVN()) { + $branch_tag = $this->renderBranchTag($drequest); + $header->addTag($branch_tag); + } + + if ($drequest->getSymbolicCommit()) { + $symbolic_tag = $this->renderSymbolicCommit($drequest); + $header->addTag($symbolic_tag); + } + return $header; } diff --git a/src/applications/diffusion/controller/DiffusionRepositoryController.php b/src/applications/diffusion/controller/DiffusionRepositoryController.php index 0b2a964ef1..435ee3f71d 100644 --- a/src/applications/diffusion/controller/DiffusionRepositoryController.php +++ b/src/applications/diffusion/controller/DiffusionRepositoryController.php @@ -98,7 +98,7 @@ final class DiffusionRepositoryController extends DiffusionController { ->setErrors(array($empty_message)); } - $tabs = $this->buildTabsView('home'); + $tabs = $this->buildTabsView('code'); $clone_uri = $drequest->generateURI( array( @@ -300,6 +300,7 @@ final class DiffusionRepositoryController extends DiffusionController { private function buildHeaderView(PhabricatorRepository $repository) { $viewer = $this->getViewer(); + $drequest = $this->getDiffusionRequest(); $search = $this->renderSearchForm(); $header = id(new PHUIHeaderView()) @@ -325,6 +326,14 @@ final class DiffusionRepositoryController extends DiffusionController { $header->setStatus('fa-check', 'bluegrey', pht('Active')); } + if (!$repository->isSVN()) { + $default = $repository->getDefaultBranch(); + if ($default != $drequest->getBranch()) { + $branch_tag = $this->renderBranchTag($drequest); + $header->addTag($branch_tag); + } + } + return $header; } diff --git a/src/applications/diffusion/controller/DiffusionTagListController.php b/src/applications/diffusion/controller/DiffusionTagListController.php index f7cd032e1a..15b8dc93ae 100644 --- a/src/applications/diffusion/controller/DiffusionTagListController.php +++ b/src/applications/diffusion/controller/DiffusionTagListController.php @@ -11,6 +11,7 @@ final class DiffusionTagListController extends DiffusionController { if ($response) { return $response; } + require_celerity_resource('diffusion-css'); $viewer = $this->getViewer(); $drequest = $this->getDiffusionRequest(); @@ -50,6 +51,11 @@ final class DiffusionTagListController extends DiffusionController { ->setHeader(pht('Tags')) ->setHeaderIcon('fa-tags'); + if (!$repository->isSVN()) { + $branch_tag = $this->renderBranchTag($drequest); + $header->addTag($branch_tag); + } + if (!$tags) { $content = $this->renderStatusMessage( pht('No Tags'), diff --git a/webroot/rsrc/css/application/diffusion/diffusion.css b/webroot/rsrc/css/application/diffusion/diffusion.css index b9f6c99442..7625e9fb88 100644 --- a/webroot/rsrc/css/application/diffusion/diffusion.css +++ b/webroot/rsrc/css/application/diffusion/diffusion.css @@ -122,6 +122,12 @@ margin-right: 4px; } +.diffusion-header-branch-tag.phui-tag-view.phui-tag-type-outline + .phui-tag-core { + padding: 3px 12px 2px; + font-size: {$normalfontsize}; +} + /* - Browse Styles ----------------------------------------------------------*/ .diffusion-browse-table .commit-detail {