aboutsummaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2016-07-28 02:10:45 -0400
committerPaul Duncan <pabs@pablotron.org>2016-07-28 02:10:45 -0400
commitbff93d5b6a46e6c996e43dc4d669a4514da87cc6 (patch)
tree981b5a4157643656a1f7cd2d49edae6ad76215c4 /src/views
parenteaa2aa3cefdf2bc544d000048659968acc1afe2a (diff)
downloadguff-bff93d5b6a46e6c996e43dc4d669a4514da87cc6.tar.bz2
guff-bff93d5b6a46e6c996e43dc4d669a4514da87cc6.zip
refactor dialog and pane templates
Diffstat (limited to 'src/views')
-rw-r--r--src/views/admin-page.ecr268
-rw-r--r--src/views/admin/page.ecr588
-rw-r--r--src/views/dialogs/admin/blog-edit.ecr (renamed from src/views/admin/dialogs/blog-edit.ecr)0
-rw-r--r--src/views/dialogs/admin/page-edit.ecr (renamed from src/views/admin/dialogs/page-edit.ecr)0
-rw-r--r--src/views/dialogs/admin/project-edit.ecr (renamed from src/views/admin/dialogs/project-edit.ecr)0
-rw-r--r--src/views/dialogs/admin/user-add.ecr (renamed from src/views/admin/dialogs/user-add.ecr)0
-rw-r--r--src/views/dialogs/admin/user-edit.ecr (renamed from src/views/admin/dialogs/user-edit.ecr)0
-rw-r--r--src/views/panes/admin/files.ecr124
-rw-r--r--src/views/panes/admin/home.ecr21
-rw-r--r--src/views/panes/admin/posts.ecr175
10 files changed, 588 insertions, 588 deletions
diff --git a/src/views/admin-page.ecr b/src/views/admin-page.ecr
new file mode 100644
index 0000000..5b9f352
--- /dev/null
+++ b/src/views/admin-page.ecr
@@ -0,0 +1,268 @@
+<!DOCTYPE html>
+<html lang='en-US'>
+ <head>
+ <meta charset="utf-8"/>
+ <title><%= h(TITLE) %></title>
+
+ <%=
+ styles %w{
+ assets/font-awesome-4.5.0/css/font-awesome.min.css
+ assets/bootstrap-3.3.6/css/bootstrap.min.css
+ assets/bootstrap-3.3.6/css/bootstrap-theme.min.css
+ assets/css/admin.css
+ }
+ %>
+ </head>
+
+ <body>
+ <div
+ class='navbar navbar-inverse navbar-static-top'
+ role='navigation'
+ >
+ <div class='container-fluid'>
+ <div class='navbar-header'>
+ <a
+ href='admin.html'
+ class='navbar-brand'
+ >
+ <i class='fa fa-bomb'></i>
+ <%= h(TITLE) %>
+ </a><!-- navbar-brand -->
+ </div><!-- navbar-default -->
+
+ <ul class='nav navbar-nav navbar-right'>
+ <li>
+ <a
+ href='logout.html'
+ title='Log out.'
+ >
+ <i class='fa fa-power-off'></i>
+ Log Out
+ </a>
+ </li>
+ </ul><!-- nav -->
+ </div><!-- container-fluid -->
+ </div><!-- navbar -->
+
+ <div class='container'>
+ <div class='col-md-12'>
+ <ul class='nav nav-tabs nav-justified' role='tablist'><%=
+ tabs("admin")
+ %></ul><!-- nav -->
+
+ <div class='tab-content'>
+ <%= admin_panes %>
+
+ <div
+ id='admin-pane-settings'
+ class='tab-pane'
+ role='tabpanel'
+ >
+ <div class='panel panel-default'>
+ <div class='panel-body'>
+ <div class='row'>
+ <div class='col-md-3'>
+ <ul class='nav nav-pills nav-stacked' role='tablist'><%=
+ tabs("settings")
+ %></ul><!-- nav -->
+ </div><!-- col-md-3 -->
+
+ <div class='col-md-9'>
+ <div class='tab-content'>
+ <div
+ id='settings-pane-general'
+ class='tab-pane active'
+ role='tabpanel'
+ >
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ </div><!-- panel-heading -->
+
+ <div class='panel-body'>
+ <p>
+ TODO: general settings
+ </p>
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+ </div><!-- tab-pane -->
+
+ <div
+ id='settings-pane-users'
+ class='tab-pane'
+ role='tabpanel'
+ >
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ <div class='btn-toolbar'>
+ <div class='btn-group btn-group-sm'>
+ <a
+ href='#'
+ class='btn btn-primary'
+ title='Create new user.'
+ data-toggle='modal'
+ data-target='#user-add-dialog'
+ >
+ <i class='fa fa-user-plus'></i>
+ New User
+ </a><!-- btn -->
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm pull-right'>
+ <a
+ href='#'
+ class='btn btn-default search-toggle'
+ title='Toggle search field.'
+ >
+ <i class='fa fa-fw fa-search'></i>
+ </a><!-- btn-->
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm pull-right'>
+ <a
+ href='#'
+ id='users-reload'
+ class='btn btn-default'
+ title='Reload users.'
+ >
+ <span class='loading'>
+ <i class='fa fa-fw fa-refresh'></i>
+ </span>
+
+ <span class='loading hidden'>
+ <i class='fa fa-fw fa-spinner fa-spin'></i>
+ </span>
+ </a><!-- #reload -->
+ </div><!-- btn-group -->
+ </div><!-- btn-toolbar -->
+ </div><!-- panel-heading -->
+
+ <div class='panel-heading hidden search-toggle'>
+ <div class='input-group input-group-sm'>
+ <span class='input-group-addon'>
+ <i class='fa fa-search'></i>
+ </span>
+
+ <input
+ type='text'
+ id='users-q'
+ class='form-control'
+ title='Enter search terms'
+ />
+ </div><!-- input-group -->
+ </div><!-- panel-heading -->
+
+ <div id='users' class='list-group'>
+ <span class='list-group-item disabled'>
+ <i class='fa fa-spinner fa-spin'></i>
+ Loading...
+ </span><!-- list-group-item -->
+ </div><!-- list-group -->
+ </div><!-- panel -->
+ </div><!-- tab-pane -->
+
+ <div
+ id='settings-pane-themes'
+ class='tab-pane'
+ role='tabpanel'
+ >
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ </div><!-- panel-heading -->
+
+ <div id='themes' class='panel-body'>
+ <p>
+ TODO: themes
+ </p>
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+ </div><!-- tab-pane -->
+
+ <div
+ id='settings-pane-sites'
+ class='tab-pane'
+ role='tabpanel'
+ >
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ </div><!-- panel-heading -->
+
+ <div id='sites' class='panel-body'>
+ <p>
+ TODO: sites settings
+ </p>
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+ </div><!-- tab-pane -->
+
+ <div
+ id='settings-pane-backups'
+ class='tab-pane'
+ role='tabpanel'
+ >
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ </div><!-- panel-heading -->
+
+ <div class='panel-body'>
+ <p>
+ TODO: backups
+ </p>
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+ </div><!-- tab-pane -->
+
+ <div
+ id='settings-pane-import'
+ class='tab-pane'
+ role='tabpanel'
+ >
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ </div><!-- panel-heading -->
+
+ <div class='panel-body'>
+ <p>
+ TODO: import
+ </p>
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+ </div><!-- tab-pane -->
+ </div><!-- tab-content -->
+ </div><!-- col-md-9 -->
+ </div><!-- row -->
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+ </div><!-- tab-pane -->
+ </div><!-- tab-content -->
+ </div><!-- col-md-12 -->
+ </div><!-- container -->
+
+ <%= dialogs %>
+ </body>
+
+
+ <script type='text/javascript'><!--
+ var DATA = <%= page_data %>;
+ // -->
+ </script>
+ <%=
+ scripts %w{
+ assets/jquery-2.2.1.min.js
+ assets/luigi-template-0.4.1.min.js
+ assets/js/util.js
+ assets/bootstrap-3.3.6/js/bootstrap.min.js
+ assets/ckeditor-4.5.8-custom/ckeditor.js
+ assets/js/search-field.js
+ assets/js/dropdown.js
+ assets/js/admin/tabs/users.js
+ assets/js/admin/tabs/posts.js
+ assets/js/admin/tabs/files.js
+ assets/js/admin/dialogs/user-add.js
+ assets/js/admin/dialogs/user-edit.js
+ assets/js/admin/dialogs/post-edit.js
+ assets/js/admin/dialogs/blog-edit.js
+ assets/js/admin/dialogs/page-edit.js
+ assets/js/admin/dialogs/project-edit.js
+ }
+ %>
+</html>
diff --git a/src/views/admin/page.ecr b/src/views/admin/page.ecr
deleted file mode 100644
index c9c8a24..0000000
--- a/src/views/admin/page.ecr
+++ /dev/null
@@ -1,588 +0,0 @@
-<!DOCTYPE html>
-<html lang='en-US'>
- <head>
- <meta charset="utf-8"/>
- <title><%= h(TITLE) %></title>
-
- <%=
- styles %w{
- assets/font-awesome-4.5.0/css/font-awesome.min.css
- assets/bootstrap-3.3.6/css/bootstrap.min.css
- assets/bootstrap-3.3.6/css/bootstrap-theme.min.css
- assets/css/admin.css
- }
- %>
- </head>
-
- <body>
- <div
- class='navbar navbar-inverse navbar-static-top'
- role='navigation'
- >
- <div class='container-fluid'>
- <div class='navbar-header'>
- <a
- href='admin.html'
- class='navbar-brand'
- >
- <i class='fa fa-bomb'></i>
- <%= h(TITLE) %>
- </a><!-- navbar-brand -->
- </div><!-- navbar-default -->
-
- <ul class='nav navbar-nav navbar-right'>
- <li>
- <a
- href='logout.html'
- title='Log out.'
- >
- <i class='fa fa-power-off'></i>
- Log Out
- </a>
- </li>
- </ul><!-- nav -->
- </div><!-- container-fluid -->
- </div><!-- navbar -->
-
- <div class='container'>
- <div class='col-md-12'>
- <ul class='nav nav-tabs nav-justified' role='tablist'><%=
- tabs("admin")
- %></ul><!-- nav -->
-
- <div class='tab-content'>
- <div
- id='admin-pane-home'
- class='tab-pane active'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- <div class='btn-toolbar'>
- <div class='btn-group btn-group-sm'><%=
- new_post_button
- %></div><!-- btn-group -->
- </div><!-- btn-toolbar -->
- </div><!-- panel-heading -->
-
- <div class='panel-body'>
- <p>
- TODO: home
- </p>
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='admin-pane-posts'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- <div class='btn-toolbar'>
- <div class='btn-group btn-group-sm'><%=
- new_post_button
- %></div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm'>
- <span>&nbsp;&nbsp;</span>
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm'><%=
- dropdown(
- id: "posts-filter-type",
- css: "posts-filter-menu",
-
- name: "Type",
- text: "Filter posts by type.",
-
- icon: "",
- default: "all",
-
- items: [{
- :id => "all",
- :name => "All",
- :text => "Show all types.",
- }, {
- :type => "divider",
- }] + %i{blog page project}.map { |id|
- name = POST_TYPES[id][:name]
-
- {
- :id => POST_TYPES[id][:id],
- :name => name,
- :icon => POST_TYPES[id][:icon],
- :text => "Show #{name}s.",
- }
- }
- )
- %></div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm'><%=
- dropdown(
- id: "posts-filter-state",
- css: "posts-filter-menu",
-
- name: "State",
- text: "Filter by post state.",
-
- icon: "",
- default: "default",
-
- items: [{
- :id => "default",
- :name => "Default",
- :text => "Show drafts and posted items.",
- }, {
- :type => "divider",
- }].concat(states_menu_items),
- )
- %></div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm'><%=
- dropdown(
- id: "posts-filter-site",
- css: "posts-filter-menu",
-
- name: "Site",
- text: "Filter by site.",
-
- icon: "",
- default: "all",
-
- items: [{
- :id => "all",
- :name => "All",
- :text => "Show all sites.",
- }, {
- :type => "divider",
- }].concat(sites_menu_items),
- )
- %></div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm'><%=
- dropdown(
- id: "posts-filter-user",
- css: "posts-filter-menu",
-
- name: "Author",
- text: "Filter by author.",
-
- icon: "",
- default: "all",
-
- items: [{
- :id => "all",
- :name => "All",
- :text => "Show all authors.",
- }, {
- :type => "divider",
- }].concat(authors_menu_items),
- )
- %></div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm pull-right'>
- <a
- href='#'
- class='btn btn-default search-toggle'
- title='Toggle search field.'
- >
- <i class='fa fa-fw fa-search'></i>
- </a><!-- btn-->
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm pull-right'>
- <a
- href='#'
- id='posts-reload'
- class='btn btn-default'
- title='Reload posts'
- >
- <span class='loading'>
- <i class='fa fa-fw fa-refresh'></i>
- </span>
-
- <span class='loading hidden'>
- <i class='fa fa-fw fa-spinner fa-spin'></i>
- </span>
- </a><!-- btn -->
- </div><!-- btn-group -->
- </div><!-- btn-toolbar -->
- </div><!-- panel-heading -->
-
- <div class='panel-heading hidden search-toggle'>
- <div class='input-group input-group-sm'>
- <span class='input-group-addon'>
- <i class='fa fa-search'></i>
- </span>
-
- <input
- type='text'
- id='posts-q'
- class='form-control'
- title='Enter search terms'
- />
- </div><!-- input-group -->
- </div><!-- panel-heading -->
-
- <table
- id='posts'
- class='table table-hover'
- >
- <thead>
- <tr class='small'>
- <th>&nbsp;</th>
- <th>Name</th>
- <th>Site</th>
- <th>Slug</th>
- <th>Author</th>
- <th>Created</th>
- <th>Posted</th>
- </tr>
- </thead>
-
- <tbody>
- </tbody>
- </table><!-- table -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='admin-pane-files'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- <div class='btn-toolbar'>
- <div class='btn-group btn-group-sm'>
- <a
- href='#'
- id='files-upload'
- class='btn btn-primary'
- title='Upload file to current directory.'
- >
- <i class='fa fa-upload'></i>
- Upload File...
- </a><!-- btn -->
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm'>
- <a
- href='#'
- id='files-mkdir'
- class='btn btn-default'
- title='Create folder in current directory.'
- >
- <span class='loading'>
- <i class='fa fa-folder'></i>
- </span><!-- loading -->
-
- <span class='loading hidden'>
- <i class='fa fa-spinner fa-spin'></i>
- </span><!-- loading -->
-
- New Folder...
- </a><!-- btn -->
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm'>
- <a
- href='#'
- class='btn btn-default'
- title='View actions.'
- data-toggle='dropdown'
- >
- <i class='fa fa-clone'></i>
- File Actions
- <i class='fa fa-caret-down'></i>
- </a><!-- btn -->
-
- <ul id='file-actions' class='dropdown-menu'>
- <li>
- <a
- href='#'
- title='Download selected file.'
- data-id='download'
- >
- <i class='fa fa-download'></i>
- Download File
- </a><!-- btn -->
- </li>
-
- <li>
- <a
- href='#'
- title='Move selected file or folder.'
- data-id='move'
- >
- <i class='fa fa-folder-open-o'></i>
- Move
- </a><!-- btn -->
- </li>
-
- <li>
- <a
- href='#'
- title='Delete selected file or folder.'
- data-id='delete'
- >
- <i class='fa fa-trash-o'></i>
- Delete
- </a><!-- btn -->
- </li>
- </ul><!-- dropdown-menu -->
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm pull-right'>
- <a
- href='#'
- id='files-reload'
- class='btn btn-default'
- title='Reload files.'
- >
- <span class='loading'>
- <i class='fa fa-fw fa-refresh'></i>
- </span>
-
- <span class='loading hidden'>
- <i class='fa fa-fw fa-spinner fa-spin'></i>
- </span>
- </a><!-- btn -->
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm pull-right'>
- <span
- class='btn'
- title='Number of files in current directory.'
- >
- <span id='files-count'>0</span> Files
- </span><!-- btn -->
- </div><!-- btn-group -->
- </div><!-- btn-toolbar -->
- </div><!-- panel-heading -->
-
- <div class='panel-heading'>
- <div id='files-crumbs' class='btn-toolbar'>
- </div><!-- btn-toolbar -->
- </div><!-- panel-heading -->
-
- <div id='files' class='list-group'>
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='admin-pane-settings'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-body'>
- <div class='row'>
- <div class='col-md-3'>
- <ul class='nav nav-pills nav-stacked' role='tablist'><%=
- tabs("settings")
- %></ul><!-- nav -->
- </div><!-- col-md-3 -->
-
- <div class='col-md-9'>
- <div class='tab-content'>
- <div
- id='settings-pane-general'
- class='tab-pane active'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- </div><!-- panel-heading -->
-
- <div class='panel-body'>
- <p>
- TODO: general settings
- </p>
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='settings-pane-users'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- <div class='btn-toolbar'>
- <div class='btn-group btn-group-sm'>
- <a
- href='#'
- class='btn btn-primary'
- title='Create new user.'
- data-toggle='modal'
- data-target='#user-add-dialog'
- >
- <i class='fa fa-user-plus'></i>
- New User
- </a><!-- btn -->
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm pull-right'>
- <a
- href='#'
- class='btn btn-default search-toggle'
- title='Toggle search field.'
- >
- <i class='fa fa-fw fa-search'></i>
- </a><!-- btn-->
- </div><!-- btn-group -->
-
- <div class='btn-group btn-group-sm pull-right'>
- <a
- href='#'
- id='users-reload'
- class='btn btn-default'
- title='Reload users.'
- >
- <span class='loading'>
- <i class='fa fa-fw fa-refresh'></i>
- </span>
-
- <span class='loading hidden'>
- <i class='fa fa-fw fa-spinner fa-spin'></i>
- </span>
- </a><!-- #reload -->
- </div><!-- btn-group -->
- </div><!-- btn-toolbar -->
- </div><!-- panel-heading -->
-
- <div class='panel-heading hidden search-toggle'>
- <div class='input-group input-group-sm'>
- <span class='input-group-addon'>
- <i class='fa fa-search'></i>
- </span>
-
- <input
- type='text'
- id='users-q'
- class='form-control'
- title='Enter search terms'
- />
- </div><!-- input-group -->
- </div><!-- panel-heading -->
-
- <div id='users' class='list-group'>
- <span class='list-group-item disabled'>
- <i class='fa fa-spinner fa-spin'></i>
- Loading...
- </span><!-- list-group-item -->
- </div><!-- list-group -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='settings-pane-themes'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- </div><!-- panel-heading -->
-
- <div id='themes' class='panel-body'>
- <p>
- TODO: themes
- </p>
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='settings-pane-sites'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- </div><!-- panel-heading -->
-
- <div id='sites' class='panel-body'>
- <p>
- TODO: sites settings
- </p>
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='settings-pane-backups'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- </div><!-- panel-heading -->
-
- <div class='panel-body'>
- <p>
- TODO: backups
- </p>
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
-
- <div
- id='settings-pane-import'
- class='tab-pane'
- role='tabpanel'
- >
- <div class='panel panel-default'>
- <div class='panel-heading'>
- </div><!-- panel-heading -->
-
- <div class='panel-body'>
- <p>
- TODO: import
- </p>
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
- </div><!-- tab-content -->
- </div><!-- col-md-9 -->
- </div><!-- row -->
- </div><!-- panel-body -->
- </div><!-- panel -->
- </div><!-- tab-pane -->
- </div><!-- tab-content -->
- </div><!-- col-md-12 -->
- </div><!-- container -->
-
- <%= dialogs %>
- </body>
-
-
- <script type='text/javascript'><!--
- var DATA = <%= page_data %>;
- // -->
- </script>
- <%=
- scripts %w{
- assets/jquery-2.2.1.min.js
- assets/luigi-template-0.4.1.min.js
- assets/js/util.js
- assets/bootstrap-3.3.6/js/bootstrap.min.js
- assets/ckeditor-4.5.8-custom/ckeditor.js
- assets/js/search-field.js
- assets/js/dropdown.js
- assets/js/admin/tabs/users.js
- assets/js/admin/tabs/posts.js
- assets/js/admin/tabs/files.js
- assets/js/admin/dialogs/user-add.js
- assets/js/admin/dialogs/user-edit.js
- assets/js/admin/dialogs/post-edit.js
- assets/js/admin/dialogs/blog-edit.js
- assets/js/admin/dialogs/page-edit.js
- assets/js/admin/dialogs/project-edit.js
- }
- %>
-</html>
diff --git a/src/views/admin/dialogs/blog-edit.ecr b/src/views/dialogs/admin/blog-edit.ecr
index bbe946f..bbe946f 100644
--- a/src/views/admin/dialogs/blog-edit.ecr
+++ b/src/views/dialogs/admin/blog-edit.ecr
diff --git a/src/views/admin/dialogs/page-edit.ecr b/src/views/dialogs/admin/page-edit.ecr
index c0b30e8..c0b30e8 100644
--- a/src/views/admin/dialogs/page-edit.ecr
+++ b/src/views/dialogs/admin/page-edit.ecr
diff --git a/src/views/admin/dialogs/project-edit.ecr b/src/views/dialogs/admin/project-edit.ecr
index 59c89d4..59c89d4 100644
--- a/src/views/admin/dialogs/project-edit.ecr
+++ b/src/views/dialogs/admin/project-edit.ecr
diff --git a/src/views/admin/dialogs/user-add.ecr b/src/views/dialogs/admin/user-add.ecr
index 198ab69..198ab69 100644
--- a/src/views/admin/dialogs/user-add.ecr
+++ b/src/views/dialogs/admin/user-add.ecr
diff --git a/src/views/admin/dialogs/user-edit.ecr b/src/views/dialogs/admin/user-edit.ecr
index e0e39c2..e0e39c2 100644
--- a/src/views/admin/dialogs/user-edit.ecr
+++ b/src/views/dialogs/admin/user-edit.ecr
diff --git a/src/views/panes/admin/files.ecr b/src/views/panes/admin/files.ecr
new file mode 100644
index 0000000..d5c4f0d
--- /dev/null
+++ b/src/views/panes/admin/files.ecr
@@ -0,0 +1,124 @@
+<div
+ id='admin-pane-files'
+ class='tab-pane'
+ role='tabpanel'
+>
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ <div class='btn-toolbar'>
+ <div class='btn-group btn-group-sm'>
+ <a
+ href='#'
+ id='files-upload'
+ class='btn btn-primary'
+ title='Upload file to current directory.'
+ >
+ <i class='fa fa-upload'></i>
+ Upload File...
+ </a><!-- btn -->
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm'>
+ <a
+ href='#'
+ id='files-mkdir'
+ class='btn btn-default'
+ title='Create folder in current directory.'
+ >
+ <span class='loading'>
+ <i class='fa fa-folder'></i>
+ </span><!-- loading -->
+
+ <span class='loading hidden'>
+ <i class='fa fa-spinner fa-spin'></i>
+ </span><!-- loading -->
+
+ New Folder...
+ </a><!-- btn -->
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm'>
+ <a
+ href='#'
+ class='btn btn-default'
+ title='View actions.'
+ data-toggle='dropdown'
+ >
+ <i class='fa fa-clone'></i>
+ File Actions
+ <i class='fa fa-caret-down'></i>
+ </a><!-- btn -->
+
+ <ul id='file-actions' class='dropdown-menu'>
+ <li>
+ <a
+ href='#'
+ title='Download selected file.'
+ data-id='download'
+ >
+ <i class='fa fa-download'></i>
+ Download File
+ </a><!-- btn -->
+ </li>
+
+ <li>
+ <a
+ href='#'
+ title='Move selected file or folder.'
+ data-id='move'
+ >
+ <i class='fa fa-folder-open-o'></i>
+ Move
+ </a><!-- btn -->
+ </li>
+
+ <li>
+ <a
+ href='#'
+ title='Delete selected file or folder.'
+ data-id='delete'
+ >
+ <i class='fa fa-trash-o'></i>
+ Delete
+ </a><!-- btn -->
+ </li>
+ </ul><!-- dropdown-menu -->
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm pull-right'>
+ <a
+ href='#'
+ id='files-reload'
+ class='btn btn-default'
+ title='Reload files.'
+ >
+ <span class='loading'>
+ <i class='fa fa-fw fa-refresh'></i>
+ </span>
+
+ <span class='loading hidden'>
+ <i class='fa fa-fw fa-spinner fa-spin'></i>
+ </span>
+ </a><!-- btn -->
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm pull-right'>
+ <span
+ class='btn'
+ title='Number of files in current directory.'
+ >
+ <span id='files-count'>0</span> Files
+ </span><!-- btn -->
+ </div><!-- btn-group -->
+ </div><!-- btn-toolbar -->
+ </div><!-- panel-heading -->
+
+ <div class='panel-heading'>
+ <div id='files-crumbs' class='btn-toolbar'>
+ </div><!-- btn-toolbar -->
+ </div><!-- panel-heading -->
+
+ <div id='files' class='list-group'>
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+</div><!-- tab-pane -->
diff --git a/src/views/panes/admin/home.ecr b/src/views/panes/admin/home.ecr
new file mode 100644
index 0000000..af19b78
--- /dev/null
+++ b/src/views/panes/admin/home.ecr
@@ -0,0 +1,21 @@
+<div
+ id='admin-pane-home'
+ class='tab-pane active'
+ role='tabpanel'
+>
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ <div class='btn-toolbar'>
+ <div class='btn-group btn-group-sm'><%=
+ new_post_button
+ %></div><!-- btn-group -->
+ </div><!-- btn-toolbar -->
+ </div><!-- panel-heading -->
+
+ <div class='panel-body'>
+ <p>
+ TODO: home
+ </p>
+ </div><!-- panel-body -->
+ </div><!-- panel -->
+</div><!-- tab-pane -->
diff --git a/src/views/panes/admin/posts.ecr b/src/views/panes/admin/posts.ecr
new file mode 100644
index 0000000..5e6571d
--- /dev/null
+++ b/src/views/panes/admin/posts.ecr
@@ -0,0 +1,175 @@
+<div
+ id='admin-pane-posts'
+ class='tab-pane'
+ role='tabpanel'
+>
+ <div class='panel panel-default'>
+ <div class='panel-heading'>
+ <div class='btn-toolbar'>
+ <div class='btn-group btn-group-sm'><%=
+ new_post_button
+ %></div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm'>
+ <span>&nbsp;&nbsp;</span>
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm'><%=
+ dropdown(
+ id: "posts-filter-type",
+ css: "posts-filter-menu",
+
+ name: "Type",
+ text: "Filter posts by type.",
+
+ icon: "",
+ default: "all",
+
+ items: [{
+ :id => "all",
+ :name => "All",
+ :text => "Show all types.",
+ }, {
+ :type => "divider",
+ }] + %i{blog page project}.map { |id|
+ # get post type
+ post_type = Guff::Views::AdminPageView::POST_TYPES[id]
+
+ {
+ :id => post_type[:id],
+ :name => post_type[:name],
+ :icon => post_type[:icon],
+ :text => "Show #{post_type[:name]}s.",
+ }
+ }
+ )
+ %></div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm'><%=
+ dropdown(
+ id: "posts-filter-state",
+ css: "posts-filter-menu",
+
+ name: "State",
+ text: "Filter by post state.",
+
+ icon: "",
+ default: "default",
+
+ items: [{
+ :id => "default",
+ :name => "Default",
+ :text => "Show drafts and posted items.",
+ }, {
+ :type => "divider",
+ }].concat(states_menu_items),
+ )
+ %></div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm'><%=
+ dropdown(
+ id: "posts-filter-site",
+ css: "posts-filter-menu",
+
+ name: "Site",
+ text: "Filter by site.",
+
+ icon: "",
+ default: "all",
+
+ items: [{
+ :id => "all",
+ :name => "All",
+ :text => "Show all sites.",
+ }, {
+ :type => "divider",
+ }].concat(sites_menu_items),
+ )
+ %></div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm'><%=
+ dropdown(
+ id: "posts-filter-user",
+ css: "posts-filter-menu",
+
+ name: "Author",
+ text: "Filter by author.",
+
+ icon: "",
+ default: "all",
+
+ items: [{
+ :id => "all",
+ :name => "All",
+ :text => "Show all authors.",
+ }, {
+ :type => "divider",
+ }].concat(authors_menu_items),
+ )
+ %></div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm pull-right'>
+ <a
+ href='#'
+ class='btn btn-default search-toggle'
+ title='Toggle search field.'
+ >
+ <i class='fa fa-fw fa-search'></i>
+ </a><!-- btn-->
+ </div><!-- btn-group -->
+
+ <div class='btn-group btn-group-sm pull-right'>
+ <a
+ href='#'
+ id='posts-reload'
+ class='btn btn-default'
+ title='Reload posts'
+ >
+ <span class='loading'>
+ <i class='fa fa-fw fa-refresh'></i>
+ </span>
+
+ <span class='loading hidden'>
+ <i class='fa fa-fw fa-spinner fa-spin'></i>
+ </span>
+ </a><!-- btn -->
+ </div><!-- btn-group -->
+ </div><!-- btn-toolbar -->
+ </div><!-- panel-heading -->
+
+ <div class='panel-heading hidden search-toggle'>
+ <div class='input-group input-group-sm'>
+ <span class='input-group-addon'>
+ <i class='fa fa-search'></i>
+ </span>
+
+ <input
+ type='text'
+ id='posts-q'
+ class='form-control'
+ title='Enter search terms'
+ />
+ </div><!-- input-group -->
+ </div><!-- panel-heading -->
+
+ <table
+ id='posts'
+ class='table table-hover'
+ >
+ <thead>
+ <tr class='small'>
+ <th>&nbsp;</th>
+ <th>Name</th>
+ <th>Site</th>
+ <th>Slug</th>
+ <th>Author</th>
+ <th>Created</th>
+ <th>Posted</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ </tbody>
+ </table><!-- table -->
+ </div><!-- panel -->
+</div><!-- tab-pane -->