Modernize blog UI

Summary:
Cleans up some of the mess I made in D3694. Basically:

  - All blogs have an "internal" view with posts that uses mobile-friendly UIs, etc., so we don't have to do as much work with skins -- they just have to look pretty.
  - Blogs now have a separate "live" view that we use to handle domains / skins.
  - Simplified some views and use IDs in some URLs for consistency.
  - Delete a bunch of edge/blogger/multi-blog code that's now obsolete.

Test Plan: Will attach screenshots.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T1373

Differential Revision: https://secure.phabricator.com/D3695
This commit is contained in:
epriestley
2012-10-15 14:50:12 -07:00
parent a50b8e39b1
commit b072e937b5
23 changed files with 524 additions and 751 deletions

View File

@@ -71,13 +71,16 @@ abstract class PhameController extends PhabricatorController {
return $response->setContent($page->render());
}
private function renderSideNavFilterView($filter) {
protected function renderSideNavFilterView($filter) {
$base_uri = new PhutilURI('/phame/');
$nav = new AphrontSideNavFilterView();
$nav->setBaseURI($base_uri);
$nav->addLabel('Drafts');
$nav->addFilter('post/new',
'New Draft');
$nav->addLabel('Create');
$nav->addFilter('post/new', 'New Draft');
$nav->addFilter('blog/new', 'New Blog');
$nav->addSpacer();
$nav->addLabel('Posts');
$nav->addFilter('draft',
'My Drafts');
foreach ($this->getSideNavExtraDraftFilters() as $draft_filter) {
@@ -85,9 +88,6 @@ abstract class PhameController extends PhabricatorController {
$draft_filter['name'],
idx($draft_filter, 'uri'));
}
$nav->addSpacer();
$nav->addLabel('Posts');
$nav->addFilter('post',
'My Posts');
$nav->addFilter('post/all',
@@ -123,7 +123,7 @@ abstract class PhameController extends PhabricatorController {
protected function getSideNavBlogFilters() {
return array(
array(
'key' => 'blog',
'key' => 'blog/user',
'name' => 'My Blogs',
),
array(
@@ -154,4 +154,24 @@ abstract class PhameController extends PhabricatorController {
->setTitle('Meta thoughts and feelings');
return $notice_view;
}
protected function renderPostList(
array $posts,
PhabricatorUser $user,
$nodata) {
assert_instances_of($posts, 'PhamePost');
$list = id(new PhabricatorObjectItemListView())
->setNoDataString($nodata);
foreach ($posts as $post) {
$item = id(new PhabricatorObjectItemView())
->setHeader($post->getTitle())
->setHref($this->getApplicationURI('post/view/'.$post->getPHID()));
$list->addItem($item);
}
return $list;
}
}