]> BookStack Code Mirror - bookstack/commitdiff
Rolled out new design further
authorDan Brown <redacted>
Sun, 20 Aug 2017 12:57:25 +0000 (13:57 +0100)
committerDan Brown <redacted>
Sun, 20 Aug 2017 12:57:25 +0000 (13:57 +0100)
13 files changed:
app/Http/Controllers/BookController.php
app/Http/Controllers/HomeController.php
resources/assets/sass/_header.scss
resources/assets/sass/_html.scss
resources/assets/sass/_lists.scss
resources/lang/en/common.php
resources/views/books/index.blade.php
resources/views/books/show.blade.php
resources/views/chapters/show.blade.php
resources/views/home.blade.php
resources/views/pages/show.blade.php
resources/views/sidebar-layout.blade.php
resources/views/simple-layout.blade.php [new file with mode: 0644]

index 8996ae64aec248d3dc61a2d0307a982d4b496e10..6283ac8d166d0e87410e3db9223efb4400ade0c3 100644 (file)
@@ -36,7 +36,7 @@ class BookController extends Controller
      */
     public function index()
     {
-        $books = $this->entityRepo->getAllPaginated('book', 10);
+        $books = $this->entityRepo->getAllPaginated('book', 20);
         $recents = $this->signedIn ? $this->entityRepo->getRecentlyViewed('book', 4, 0) : false;
         $popular = $this->entityRepo->getPopular('book', 4, 0);
         $this->setPageTitle('Books');
@@ -84,7 +84,12 @@ class BookController extends Controller
         $bookChildren = $this->entityRepo->getBookChildren($book);
         Views::add($book);
         $this->setPageTitle($book->getShortName());
-        return view('books/show', ['book' => $book, 'current' => $book, 'bookChildren' => $bookChildren]);
+        return view('books/show', [
+            'book' => $book,
+            'current' => $book,
+            'bookChildren' => $bookChildren,
+            'activity' => Activity::entityActivity($book, 20, 0)
+        ]);
     }
 
     /**
index 7f60d7009f15e95e64746e0fa1fa5c8487d6b744..ad3b416555d76ebf818d8470673030432f8150b8 100644 (file)
@@ -29,13 +29,11 @@ class HomeController extends Controller
         $activity = Activity::latest(10);
         $draftPages = $this->signedIn ? $this->entityRepo->getUserDraftPages(6) : [];
         $recentFactor = count($draftPages) > 0 ? 0.5 : 1;
-        $recents = $this->signedIn ? Views::getUserRecentlyViewed(12*$recentFactor, 0) : $this->entityRepo->getRecentlyCreated('book', 10*$recentFactor);
-        $recentlyCreatedPages = $this->entityRepo->getRecentlyCreated('page', 5);
-        $recentlyUpdatedPages = $this->entityRepo->getRecentlyUpdated('page', 5);
+        $recents = $this->signedIn ? Views::getUserRecentlyViewed(12*$recentFactor, 0) : $this->entityRepo->getRecentlyCreated('book', 12*$recentFactor);
+        $recentlyUpdatedPages = $this->entityRepo->getRecentlyUpdated('page', 12);
         return view('home', [
             'activity' => $activity,
             'recents' => $recents,
-            'recentlyCreatedPages' => $recentlyCreatedPages,
             'recentlyUpdatedPages' => $recentlyUpdatedPages,
             'draftPages' => $draftPages
         ]);
index 49bd74b07e56e411db0f38ffc9776db610516895..3e92ce828f5bab9d5337d3ab36ee950b2abebaf1 100644 (file)
@@ -171,6 +171,10 @@ header .search-box {
   background-color: $primary-faded;
 }
 
+.toolbar-container {
+  background-color: #FFF;
+}
+
 .breadcrumbs .text-button, .action-buttons .text-button {
   display: inline-block;
   padding: $-s;
index 27ca04eb7826d21069f1e571a001e0b498f6e7dd..9e47f43870ff0cdb1e4eadf9940584181450f2c1 100644 (file)
@@ -16,6 +16,9 @@ body {
   line-height: 1.6;
   color: #616161;
   -webkit-font-smoothing: antialiased;
+  &.shaded {
+    background-color: #F2F2F2;
+  }
 }
 
 button {
index 61b2aa858179b9675649c1b74d88824741b27a82..0cb58432cc2deebfcae54b13d5906ca6a5487dff 100644 (file)
@@ -310,6 +310,11 @@ ul.pagination {
   }
 }
 
+.card .entity-list-item {
+  padding-left: $-m;
+  padding-right: $-m;
+}
+
 .entity-list.compact {
   font-size: 0.6em;
   h4, a {
index e1d74c95e0e0718f0be435c5f40fdbb3da9f8e40..06b98097072c61f8b704370f19b8150b15b655c5 100644 (file)
@@ -10,6 +10,7 @@ return [
     'save' => 'Save',
     'continue' => 'Continue',
     'select' => 'Select',
+    'more' => 'More',
 
     /**
      * Form Labels
@@ -35,7 +36,6 @@ return [
     'remove' => 'Remove',
     'add' => 'Add',
 
-
     /**
      * Misc
      */
@@ -44,6 +44,7 @@ return [
     'no_items' => 'No items available',
     'back_to_top' => 'Back to top',
     'toggle_details' => 'Toggle Details',
+    'details' => 'Details',
 
     /**
      * Header
index c090a127e1dee9076020d9397ce46f7eaaf39804..3c05f32a588b3b3ea7a1e2e8eab9b0e30ac44553 100644 (file)
@@ -1,59 +1,50 @@
-@extends('base')
+@extends('sidebar-layout')
 
-@section('content')
+@section('toolbar')
+    <div class="col-xs-1"></div>
+    <div class="col-xs-11 faded">
+        <div class="action-buttons">
+            @if($currentUser->can('book-create-all'))
+                <a href="{{ baseUrl("/books/create") }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.books_create') }}</a>
+            @endif
+        </div>
+    </div>
+@stop
 
-    <div class="faded-small toolbar">
-        <div class="container">
-            <div class="row">
-                <div class="col-xs-1"></div>
-                <div class="col-xs-11 faded">
-                    <div class="action-buttons">
-                        @if($currentUser->can('book-create-all'))
-                            <a href="{{ baseUrl("/books/create") }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.books_create') }}</a>
-                        @endif
-                    </div>
-                </div>
-            </div>
+@section('sidebar')
+    @if($recents)
+        <div id="recents" class="card">
+            <h3><i class="zmdi zmdi-eye"></i> {{ trans('entities.recently_viewed') }}</h3>
+            @include('partials/entity-list', ['entities' => $recents, 'style' => 'compact'])
         </div>
+    @endif
+
+    <div id="popular" class="card">
+        <h3><i class="zmdi zmdi-fire"></i> {{ trans('entities.books_popular') }}</h3>
+        @if(count($popular) > 0)
+            @include('partials/entity-list', ['entities' => $popular, 'style' => 'compact'])
+        @else
+            <div class="body text-muted">{{ trans('entities.books_popular_empty') }}</div>
+        @endif
     </div>
+@stop
 
+@section('body')
 
-    <div class="container" ng-non-bindable>
-        <div class="row">
-            <div class="col-sm-7">
-                <h1>{{ trans('entities.books') }}</h1>
-                @if(count($books) > 0)
-                    @foreach($books as $book)
-                        @include('books/list-item', ['book' => $book])
-                        <hr>
-                    @endforeach
-                    {!! $books->render() !!}
-                @else
-                    <p class="text-muted">{{ trans('entities.books_empty') }}</p>
-                    @if(userCan('books-create-all'))
-                        <a href="{{ baseUrl("/books/create") }}" class="text-pos"><i class="zmdi zmdi-edit"></i>{{ trans('entities.create_one_now') }}</a>
-                    @endif
-                @endif
-            </div>
-            <div class="col-sm-4 col-sm-offset-1">
-                <div id="recents">
-                    @if($recents)
-                        <div class="margin-top">&nbsp;</div>
-                        <h3>{{ trans('entities.recently_viewed') }}</h3>
-                        @include('partials/entity-list', ['entities' => $recents])
-                    @endif
-                </div>
-                <div class="margin-top large">&nbsp;</div>
-                <div id="popular">
-                    <h3>{{ trans('entities.books_popular') }}</h3>
-                    @if(count($popular) > 0)
-                        @include('partials/entity-list', ['entities' => $popular])
-                    @else
-                        <p class="text-muted">{{ trans('entities.books_popular_empty') }}</p>
-                    @endif
-                </div>
-            </div>
-        </div>
+    <div class="container small" ng-non-bindable>
+        <h1>{{ trans('entities.books') }}</h1>
+        @if(count($books) > 0)
+            @foreach($books as $book)
+                @include('books/list-item', ['book' => $book])
+                <hr>
+            @endforeach
+            {!! $books->render() !!}
+        @else
+            <p class="text-muted">{{ trans('entities.books_empty') }}</p>
+            @if(userCan('books-create-all'))
+                <a href="{{ baseUrl("/books/create") }}" class="text-pos"><i class="zmdi zmdi-edit"></i>{{ trans('entities.create_one_now') }}</a>
+            @endif
+        @endif
     </div>
 
 @stop
\ No newline at end of file
index 97942ee6707fcc720d76be41fdf9568668f6f569..28cd08928ecf0c1e497dd3a9e9727a1f50749684 100644 (file)
-@extends('base')
+@extends('sidebar-layout')
 
-@section('content')
-
-    <div class="faded-small toolbar">
-        <div class="container">
-            <div class="row">
-                <div class="col-sm-6 col-xs-1  faded">
-                    @include('books._breadcrumbs', ['book' => $book])
-                </div>
-                <div class="col-sm-6 col-xs-11">
-                    <div class="action-buttons faded">
-                        <span dropdown class="dropdown-container">
-                            <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>{{ trans('entities.export') }}</div>
-                            <ul class="wide">
-                                <li><a href="{{ $book->getUrl('/export/html') }}" target="_blank">{{ trans('entities.export_html') }} <span class="text-muted float right">.html</span></a></li>
-                                <li><a href="{{ $book->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
-                                <li><a href="{{ $book->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <span class="text-muted float right">.txt</span></a></li>
-                            </ul>
-                        </span>
-                        @if(userCan('page-create', $book))
-                            <a href="{{ $book->getUrl('/page/create') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.pages_new') }}</a>
-                        @endif
-                        @if(userCan('chapter-create', $book))
-                            <a href="{{ $book->getUrl('/chapter/create') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.chapters_new') }}</a>
-                        @endif
+@section('toolbar')
+    <div class="col-sm-6 col-xs-1  faded">
+        @include('books._breadcrumbs', ['book' => $book])
+    </div>
+    <div class="col-sm-6 col-xs-11">
+        <div class="action-buttons faded">
+            <span dropdown class="dropdown-container">
+                <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>{{ trans('entities.export') }}</div>
+                <ul class="wide">
+                    <li><a href="{{ $book->getUrl('/export/html') }}" target="_blank">{{ trans('entities.export_html') }} <span class="text-muted float right">.html</span></a></li>
+                    <li><a href="{{ $book->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
+                    <li><a href="{{ $book->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <span class="text-muted float right">.txt</span></a></li>
+                </ul>
+            </span>
+            @if(userCan('page-create', $book))
+                <a href="{{ $book->getUrl('/page/create') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.pages_new') }}</a>
+            @endif
+            @if(userCan('chapter-create', $book))
+                <a href="{{ $book->getUrl('/chapter/create') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.chapters_new') }}</a>
+            @endif
+            @if(userCan('book-update', $book) || userCan('restrictions-manage', $book) || userCan('book-delete', $book))
+                <div dropdown class="dropdown-container">
+                    <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i>{{ trans('common.more') }}</a>
+                    <ul>
                         @if(userCan('book-update', $book))
-                            <a href="{{$book->getEditUrl()}}" class="text-primary text-button"><i class="zmdi zmdi-edit"></i>{{ trans('common.edit') }}</a>
+                            <li><a href="{{$book->getEditUrl()}}" class="text-primary"><i class="zmdi zmdi-edit"></i>{{ trans('common.edit') }}</a></li>
+                            <li><a href="{{ $book->getUrl('/sort') }}" class="text-primary"><i class="zmdi zmdi-sort"></i>{{ trans('common.sort') }}</a></li>
                         @endif
-                        @if(userCan('book-update', $book) || userCan('restrictions-manage', $book) || userCan('book-delete', $book))
-                            <div dropdown class="dropdown-container">
-                                <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i></a>
-                                <ul>
-                                    @if(userCan('book-update', $book))
-                                        <li><a href="{{ $book->getUrl('/sort') }}" class="text-primary"><i class="zmdi zmdi-sort"></i>{{ trans('common.sort') }}</a></li>
-                                    @endif
-                                    @if(userCan('restrictions-manage', $book))
-                                        <li><a href="{{ $book->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.permissions') }}</a></li>
-                                    @endif
-                                    @if(userCan('book-delete', $book))
-                                        <li><a href="{{ $book->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>{{ trans('common.delete') }}</a></li>
-                                    @endif
-                                </ul>
-                            </div>
+                        @if(userCan('restrictions-manage', $book))
+                            <li><a href="{{ $book->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.permissions') }}</a></li>
                         @endif
-                    </div>
+                        @if(userCan('book-delete', $book))
+                            <li><a href="{{ $book->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>{{ trans('common.delete') }}</a></li>
+                        @endif
+                    </ul>
                 </div>
-            </div>
+            @endif
         </div>
     </div>
+@stop
 
+@section('sidebar')
 
-    <div ng-non-bindable class="container" id="entity-dashboard" entity-id="{{ $book->id }}" entity-type="book">
-        <div class="row">
-            <div class="col-md-7">
+    <div class="card">
+        <div class="body">
+            <form v-on:submit.prevent="searchBook" class="search-box">
+                <input v-model="searchTerm" v-on:change="checkSearchForm()" type="text" name="term" placeholder="{{ trans('entities.books_search_this') }}">
+                <button type="submit"><i class="zmdi zmdi-search"></i></button>
+                <button v-if="searching" v-cloak class="text-neg" v-on:click="clearSearch()" type="button"><i class="zmdi zmdi-close"></i></button>
+            </form>
+        </div>
+    </div>
 
-                <h1>{{$book->name}}</h1>
-                <div class="book-content" v-show="!searching">
-                    <p class="text-muted" v-pre>{!! nl2br(e($book->description)) !!}</p>
+    @if($book->restricted)
+        <div class="card">
+            <h3><i class="zmdi zmdi-key"></i> {{ trans('entities.permissions') }}</h3>
+            <div class="body">
+                <p class="text-muted">
+                    @if(userCan('restrictions-manage', $book))
+                        <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
+                    @else
+                        <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
+                    @endif
+                </p>
+            </div>
+        </div>
+    @endif
 
-                    <div class="page-list" v-pre>
-                        <hr>
-                        @if(count($bookChildren) > 0)
-                            @foreach($bookChildren as $childElement)
-                                @if($childElement->isA('chapter'))
-                                    @include('chapters/list-item', ['chapter' => $childElement])
-                                @else
-                                    @include('pages/list-item', ['page' => $childElement])
-                                @endif
-                                <hr>
-                            @endforeach
-                        @else
-                            <p class="text-muted">{{ trans('entities.books_empty_contents') }}</p>
-                            <p>
-                                @if(userCan('page-create', $book))
-                                <a href="{{ $book->getUrl('/page/create') }}" class="text-page"><i class="zmdi zmdi-file-text"></i>{{ trans('entities.books_empty_create_page') }}</a>
-                                @endif
-                                @if(userCan('page-create', $book) && userCan('chapter-create', $book))
-                                &nbsp;&nbsp;<em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em>&nbsp;&nbsp;&nbsp;
-                                @endif
-                                @if(userCan('chapter-create', $book))
-                                <a href="{{ $book->getUrl('/chapter/create') }}" class="text-chapter"><i class="zmdi zmdi-collection-bookmark"></i>{{ trans('entities.books_empty_add_chapter') }}</a>
-                                @endif
-                            </p>
-                            <hr>
-                        @endif
-                        @include('partials.entity-meta', ['entity' => $book])
-                    </div>
-                </div>
-                <div class="search-results" v-cloak v-show="searching">
-                    <h3 class="text-muted">{{ trans('entities.search_results') }} <a v-if="searching" v-on:click="clearSearch()" class="text-small"><i class="zmdi zmdi-close"></i>{{ trans('entities.search_clear') }}</a></h3>
-                    <div v-if="!searchResults">
-                        @include('partials/loading-icon')
-                    </div>
-                    <div v-html="searchResults"></div>
-                </div>
+    @if(count($activity) > 0)
+        <div class="activity card">
+            <h3><i class="zmdi zmdi-time"></i> {{ trans('entities.recent_activity') }}</h3>
+            <div class="body">
+                @include('partials/activity-list', ['activity' => $activity])
+            </div>
+        </div>
+    @endif
+
+    <div class="card">
+        <h3><i class="zmdi zmdi-info-outline"></i> {{ trans('common.details') }}</h3>
+        <div class="body">
+            @include('partials.entity-meta', ['entity' => $book])
+        </div>
+    </div>
+@stop
 
+@section('container-attrs')
+    id="entity-dashboard"
+    entity-id="{{ $book->id }}"
+    entity-type="book"
+@stop
 
-            </div>
+@section('body')
 
-            <div class="col-md-4 col-md-offset-1">
-                <div class="margin-top large"></div>
+    <div ng-non-bindable class="container small">
+        <h1>{{$book->name}}</h1>
+        <div class="book-content" v-show="!searching">
+            <p class="text-muted" v-pre>{!! nl2br(e($book->description)) !!}</p>
 
-                @if($book->restricted)
-                    <p class="text-muted">
-                        @if(userCan('restrictions-manage', $book))
-                            <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
+            <div class="page-list" v-pre>
+                <hr>
+                @if(count($bookChildren) > 0)
+                    @foreach($bookChildren as $childElement)
+                        @if($childElement->isA('chapter'))
+                            @include('chapters/list-item', ['chapter' => $childElement])
                         @else
-                            <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
+                            @include('pages/list-item', ['page' => $childElement])
+                        @endif
+                        <hr>
+                    @endforeach
+                @else
+                    <p class="text-muted">{{ trans('entities.books_empty_contents') }}</p>
+                    <p>
+                        @if(userCan('page-create', $book))
+                        <a href="{{ $book->getUrl('/page/create') }}" class="text-page"><i class="zmdi zmdi-file-text"></i>{{ trans('entities.books_empty_create_page') }}</a>
+                        @endif
+                        @if(userCan('page-create', $book) && userCan('chapter-create', $book))
+                        &nbsp;&nbsp;<em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em>&nbsp;&nbsp;&nbsp;
+                        @endif
+                        @if(userCan('chapter-create', $book))
+                        <a href="{{ $book->getUrl('/chapter/create') }}" class="text-chapter"><i class="zmdi zmdi-collection-bookmark"></i>{{ trans('entities.books_empty_add_chapter') }}</a>
                         @endif
                     </p>
+                    <hr>
                 @endif
-
-                <form v-on:submit.prevent="searchBook" class="search-box">
-                    <input v-model="searchTerm" v-on:change="checkSearchForm()" type="text" name="term" placeholder="{{ trans('entities.books_search_this') }}">
-                    <button type="submit"><i class="zmdi zmdi-search"></i></button>
-                    <button v-if="searching" v-cloak class="text-neg" v-on:click="clearSearch()" type="button"><i class="zmdi zmdi-close"></i></button>
-                </form>
-
-                <div class="activity">
-                    <h3>{{ trans('entities.recent_activity') }}</h3>
-                    @include('partials/activity-list', ['activity' => Activity::entityActivity($book, 20, 0)])
-                </div>
             </div>
         </div>
+        <div class="search-results" v-cloak v-show="searching">
+            <h3 class="text-muted">{{ trans('entities.search_results') }} <a v-if="searching" v-on:click="clearSearch()" class="text-small"><i class="zmdi zmdi-close"></i>{{ trans('entities.search_clear') }}</a></h3>
+            <div v-if="!searchResults">
+                @include('partials/loading-icon')
+            </div>
+            <div v-html="searchResults"></div>
+        </div>
     </div>
 
 @stop
index 62a7eaa744d8ef7b5047e88bc78b0520c284c7cd..70108428056a31cb0aaf08f5745968aa6a7f63f8 100644 (file)
@@ -1,15 +1,11 @@
-@extends('base')
+@extends('sidebar-layout')
 
-@section('content')
-
-    <div class="faded-small toolbar">
-        <div class="container">
-            <div class="row">
-                <div class="col-sm-6 col-xs-3 faded" ng-non-bindable>
-                    @include('chapters._breadcrumbs', ['chapter' => $chapter])
-                </div>
-                <div class="col-sm-6 col-xs-9 faded">
-                    <div class="action-buttons">
+@section('toolbar')
+    <div class="col-sm-6 col-xs-3 faded" ng-non-bindable>
+        @include('chapters._breadcrumbs', ['chapter' => $chapter])
+    </div>
+    <div class="col-sm-6 col-xs-9 faded">
+        <div class="action-buttons">
                         <span dropdown class="dropdown-container">
                             <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>{{ trans('entities.export') }}</div>
                             <ul class="wide">
                                 <li><a href="{{ $chapter->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <span class="text-muted float right">.txt</span></a></li>
                             </ul>
                         </span>
-                        @if(userCan('page-create', $chapter))
-                            <a href="{{ $chapter->getUrl('/create-page') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.pages_new') }}</a>
-                        @endif
+            @if(userCan('page-create', $chapter))
+                <a href="{{ $chapter->getUrl('/create-page') }}" class="text-pos text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.pages_new') }}</a>
+            @endif
+            @if(userCan('chapter-update', $chapter))
+                <a href="{{ $chapter->getUrl('/edit') }}" class="text-primary text-button"><i class="zmdi zmdi-edit"></i>{{ trans('common.edit') }}</a>
+            @endif
+            @if(userCan('chapter-update', $chapter) || userCan('restrictions-manage', $chapter) || userCan('chapter-delete', $chapter))
+                <div dropdown class="dropdown-container">
+                    <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i> {{ trans('common.more') }}</a>
+                    <ul>
                         @if(userCan('chapter-update', $chapter))
-                            <a href="{{ $chapter->getUrl('/edit') }}" class="text-primary text-button"><i class="zmdi zmdi-edit"></i>{{ trans('common.edit') }}</a>
+                            <li><a href="{{ $chapter->getUrl('/move') }}" class="text-primary"><i class="zmdi zmdi-folder"></i>{{ trans('common.move') }}</a></li>
+                        @endif
+                        @if(userCan('restrictions-manage', $chapter))
+                            <li><a href="{{ $chapter->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.permissions') }}</a></li>
                         @endif
-                        @if(userCan('chapter-update', $chapter) || userCan('restrictions-manage', $chapter) || userCan('chapter-delete', $chapter))
-                            <div dropdown class="dropdown-container">
-                                <a dropdown-toggle class="text-primary text-button"><i class="zmdi zmdi-more-vert"></i></a>
-                                <ul>
-                                    @if(userCan('chapter-update', $chapter))
-                                        <li><a href="{{ $chapter->getUrl('/move') }}" class="text-primary"><i class="zmdi zmdi-folder"></i>{{ trans('common.move') }}</a></li>
-                                    @endif
-                                    @if(userCan('restrictions-manage', $chapter))
-                                        <li><a href="{{ $chapter->getUrl('/permissions') }}" class="text-primary"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.permissions') }}</a></li>
-                                    @endif
-                                    @if(userCan('chapter-delete', $chapter))
-                                        <li><a href="{{ $chapter->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>{{ trans('common.delete') }}</a></li>
-                                    @endif
-                                </ul>
-                            </div>
+                        @if(userCan('chapter-delete', $chapter))
+                            <li><a href="{{ $chapter->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>{{ trans('common.delete') }}</a></li>
                         @endif
-                    </div>
+                    </ul>
                 </div>
-            </div>
+            @endif
         </div>
     </div>
+@stop
 
+@section('container-attrs')
+    id="entity-dashboard"
+    entity-id="{{ $chapter->id }}"
+    entity-type="chapter"
+@stop
 
-    <div class="container" id="entity-dashboard" ng-non-bindable entity-id="{{ $chapter->id }}" entity-type="chapter">
-        <div class="row">
-            <div class="col-md-7">
-                <h1>{{ $chapter->name }}</h1>
-                <div class="chapter-content" v-show="!searching">
-                    <p class="text-muted">{!! nl2br(e($chapter->description)) !!}</p>
-
-                    @if(count($pages) > 0)
-                        <div class="page-list">
-                            <hr>
-                            @foreach($pages as $page)
-                                @include('pages/list-item', ['page' => $page])
-                                <hr>
-                            @endforeach
-                        </div>
-                    @else
-                        <hr>
-                        <p class="text-muted">{{ trans('entities.chapters_empty') }}</p>
-                        <p>
-                            @if(userCan('page-create', $chapter))
-                                <a href="{{ $chapter->getUrl('/create-page') }}" class="text-page"><i class="zmdi zmdi-file-text"></i>{{ trans('entities.books_empty_create_page') }}</a>
-                            @endif
-                            @if(userCan('page-create', $chapter) && userCan('book-update', $book))
-                                &nbsp;&nbsp;<em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em>&nbsp;&nbsp;&nbsp;
-                            @endif
-                            @if(userCan('book-update', $book))
-                                <a href="{{ $book->getUrl('/sort') }}" class="text-book"><i class="zmdi zmdi-book"></i>{{ trans('entities.books_empty_sort_current_book') }}</a>
-                            @endif
-                        </p>
-                        <hr>
-                    @endif
-
-                    @include('partials.entity-meta', ['entity' => $chapter])
-                </div>
-
-                <div class="search-results" v-cloak v-show="searching">
-                    <h3 class="text-muted">{{ trans('entities.search_results') }} <a v-if="searching" v-on:click="clearSearch()" class="text-small"><i class="zmdi zmdi-close"></i>{{ trans('entities.search_clear') }}</a></h3>
-                    <div v-if="!searchResults">
-                        @include('partials/loading-icon')
-                    </div>
-                    <div v-html="searchResults"></div>
-                </div>
-            </div>
-            <div class="col-md-4 col-md-offset-1">
-                <div class="margin-top large"></div>
-                @if($book->restricted || $chapter->restricted)
-                    <div class="text-muted">
+@section('sidebar')
+    <div class="card">
+        <div class="body">
+            <form @submit.prevent="searchBook" class="search-box">
+                <input v-model="searchTerm" @change="checkSearchForm()" type="text" name="term" placeholder="{{ trans('entities.chapters_search_this') }}">
+                <button type="submit"><i class="zmdi zmdi-search"></i></button>
+                <button v-if="searching" v-cloak class="text-neg" @click="clearSearch()" type="button"><i class="zmdi zmdi-close"></i></button>
+            </form>
+        </div>
+    </div>
 
-                        @if($book->restricted)
-                            <p class="text-muted">
-                                @if(userCan('restrictions-manage', $book))
-                                    <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
-                                @else
-                                    <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
-                                @endif
-                            </p>
+    @if($book->restricted || $chapter->restricted)
+        <div class="card">
+            <h3><i class="zmdi zmdi-key"></i> {{ trans('entities.permissions') }}</h3>
+            <div class="body">
+                @if($book->restricted)
+                    <p class="text-muted">
+                        @if(userCan('restrictions-manage', $book))
+                            <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
+                        @else
+                            <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
                         @endif
+                    </p>
+                @endif
 
-                        @if($chapter->restricted)
-                            @if(userCan('restrictions-manage', $chapter))
-                                <a href="{{ $chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}</a>
-                            @else
-                                <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}
-                            @endif
+                @if($chapter->restricted)
+                    <p class="text-muted">
+                        @if(userCan('restrictions-manage', $chapter))
+                            <a href="{{ $chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}</a>
+                        @else
+                            <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}
                         @endif
-                    </div>
+                    </p>
                 @endif
-
-                <form v-on:submit.prevent="searchBook" class="search-box">
-                    <input v-model="searchTerm" v-on:change="checkSearchForm()" type="text" name="term" placeholder="{{ trans('entities.chapters_search_this') }}">
-                    <button type="submit"><i class="zmdi zmdi-search"></i></button>
-                    <button v-if="searching" v-cloak class="text-neg" v-on:click="clearSearch()" type="button"><i class="zmdi zmdi-close"></i></button>
-                </form>
-
-                @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree])
-
             </div>
         </div>
+    @endif
+
+    <div class="card">
+        <h3><i class="zmdi zmdi-info-outline"></i> {{ trans('common.details') }}</h3>
+        <div class="body">
+            @include('partials.entity-meta', ['entity' => $chapter])
+        </div>
     </div>
 
+    @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree])
+@stop
+
+@section('body')
+
+    <div class="container small"  ng-non-bindable >
+        <h1>{{ $chapter->name }}</h1>
+        <div class="chapter-content" v-show="!searching">
+            <p class="text-muted">{!! nl2br(e($chapter->description)) !!}</p>
 
+            @if(count($pages) > 0)
+                <div class="page-list">
+                    <hr>
+                    @foreach($pages as $page)
+                        @include('pages/list-item', ['page' => $page])
+                        <hr>
+                    @endforeach
+                </div>
+            @else
+                <hr>
+                <p class="text-muted">{{ trans('entities.chapters_empty') }}</p>
+                <p>
+                    @if(userCan('page-create', $chapter))
+                        <a href="{{ $chapter->getUrl('/create-page') }}" class="text-page"><i class="zmdi zmdi-file-text"></i>{{ trans('entities.books_empty_create_page') }}</a>
+                    @endif
+                    @if(userCan('page-create', $chapter) && userCan('book-update', $book))
+                        &nbsp;&nbsp;<em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em>&nbsp;&nbsp;&nbsp;
+                    @endif
+                    @if(userCan('book-update', $book))
+                        <a href="{{ $book->getUrl('/sort') }}" class="text-book"><i class="zmdi zmdi-book"></i>{{ trans('entities.books_empty_sort_current_book') }}</a>
+                    @endif
+                </p>
+                <hr>
+            @endif
+        </div>
 
+        <div class="search-results" v-cloak v-show="searching">
+            <h3 class="text-muted">{{ trans('entities.search_results') }} <a v-if="searching" @click="clearSearch()" class="text-small"><i class="zmdi zmdi-close"></i>{{ trans('entities.search_clear') }}</a></h3>
+            <div v-if="!searchResults">
+                @include('partials/loading-icon')
+            </div>
+            <div v-html="searchResults"></div>
+        </div>
+    </div>
 
 @stop
index 87c84ec1ecf1e47b67395b3a9b9b8b0c65a7a289..6cd450a826403f2fc5e096b28937062f5ad3d76b 100644 (file)
@@ -1,64 +1,56 @@
-@extends('base')
+@extends('simple-layout')
 
-@section('content')
-
-    <div class="faded-small toolbar">
-        <div class="container">
-            <div class="row">
-                <div class="col-sm-6 faded">
-                    <div class="action-buttons text-left">
-                        <a expand-toggle=".entity-list.compact .entity-item-snippet" class="text-primary text-button"><i class="zmdi zmdi-wrap-text"></i>{{ trans('common.toggle_details') }}</a>
-                    </div>
-                </div>
-            </div>
+@section('toolbar')
+    <div class="col-sm-6 faded">
+        <div class="action-buttons text-left">
+            <a expand-toggle=".entity-list.compact .entity-item-snippet" class="text-primary text-button"><i class="zmdi zmdi-wrap-text"></i>{{ trans('common.toggle_details') }}</a>
         </div>
     </div>
+@stop
+
+@section('body')
 
     <div class="container" ng-non-bindable>
         <div class="row">
 
             <div class="col-sm-4">
-                <div id="recent-drafts">
-                    @if(count($draftPages) > 0)
-                        <h4>{{ trans('entities.my_recent_drafts') }}</h4>
+                @if(count($draftPages) > 0)
+                    <div id="recent-drafts" class="card">
+                        <h3>{{ trans('entities.my_recent_drafts') }}</h3>
                         @include('partials/entity-list', ['entities' => $draftPages, 'style' => 'compact'])
-                    @endif
-                </div>
-                @if($signedIn)
-                    <h4>{{ trans('entities.my_recently_viewed') }}</h4>
-                @else
-                    <h4>{{ trans('entities.books_recent') }}</h4>
+                    </div>
                 @endif
-                @include('partials/entity-list', [
-                'entities' => $recents,
-                'style' => 'compact',
-                'emptyText' => $signedIn ? trans('entities.no_pages_viewed') : trans('entities.books_empty')
-                ])
-            </div>
 
-            <div class="col-sm-4">
-                <h4><a class="no-color" href="{{ baseUrl("/pages/recently-created") }}">{{ trans('entities.recently_created_pages') }}</a></h4>
-                <div id="recently-created-pages">
+                <div class="card">
+                    <h3>{{ trans('entities.' . ($signedIn ? 'my_recently_viewed' : 'books_recent')) }}</h3>
                     @include('partials/entity-list', [
-                    'entities' => $recentlyCreatedPages,
-                    'style' => 'compact',
-                    'emptyText' => trans('entities.no_pages_recently_created')
-                    ])
+                        'entities' => $recents,
+                        'style' => 'compact',
+                        'emptyText' => $signedIn ? trans('entities.no_pages_viewed') : trans('entities.books_empty')
+                        ])
                 </div>
+            </div>
 
-                <h4><a class="no-color" href="{{ baseUrl("/pages/recently-updated") }}">{{ trans('entities.recently_updated_pages') }}</a></h4>
-                <div id="recently-updated-pages">
-                    @include('partials/entity-list', [
-                    'entities' => $recentlyUpdatedPages,
-                    'style' => 'compact',
-                    'emptyText' => trans('entities.no_pages_recently_updated')
-                    ])
+            <div class="col-sm-4">
+                <div class="card">
+                    <h3><a class="no-color" href="{{ baseUrl("/pages/recently-updated") }}">{{ trans('entities.recently_updated_pages') }}</a></h3>
+                    <div id="recently-updated-pages">
+                        @include('partials/entity-list', [
+                        'entities' => $recentlyUpdatedPages,
+                        'style' => 'compact',
+                        'emptyText' => trans('entities.no_pages_recently_updated')
+                        ])
+                    </div>
                 </div>
             </div>
 
             <div class="col-sm-4" id="recent-activity">
-                <h4>{{ trans('entities.recent_activity') }}</h4>
-                @include('partials/activity-list', ['activity' => $activity])
+                <div class="card">
+                    <h3>{{ trans('entities.recent_activity') }}</h3>
+                    <div class="body">
+                        @include('partials/activity-list', ['activity' => $activity])
+                    </div>
+                </div>
             </div>
 
         </div>
index 6b06b461119a34403b22522d0c84b3298535677c..bd2580a66e80c0491ffc0d4a14872f347fea1b02 100644 (file)
@@ -6,14 +6,14 @@
     </div>
     <div class="col-sm-4 col-xs-7 faded">
         <div class="action-buttons">
-                    <span dropdown class="dropdown-container">
-                        <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>{{ trans('entities.export') }}</div>
-                        <ul class="wide">
-                            <li><a href="{{ $page->getUrl('/export/html') }}" target="_blank">{{ trans('entities.export_html') }} <span class="text-muted float right">.html</span></a></li>
-                            <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
-                            <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <span class="text-muted float right">.txt</span></a></li>
-                        </ul>
-                    </span>
+            <span dropdown class="dropdown-container">
+                <div dropdown-toggle class="text-button text-primary"><i class="zmdi zmdi-open-in-new"></i>{{ trans('entities.export') }}</div>
+                <ul class="wide">
+                    <li><a href="{{ $page->getUrl('/export/html') }}" target="_blank">{{ trans('entities.export_html') }} <span class="text-muted float right">.html</span></a></li>
+                    <li><a href="{{ $page->getUrl('/export/pdf') }}" target="_blank">{{ trans('entities.export_pdf') }} <span class="text-muted float right">.pdf</span></a></li>
+                    <li><a href="{{ $page->getUrl('/export/plaintext') }}" target="_blank">{{ trans('entities.export_text') }} <span class="text-muted float right">.txt</span></a></li>
+                </ul>
+            </span>
             @if(userCan('page-update', $page))
                 <a href="{{ $page->getUrl('/edit') }}" class="text-primary text-button" ><i class="zmdi zmdi-edit"></i>{{ trans('common.edit') }}</a>
             @endif
 
 @section('sidebar')
     @if($book->restricted || ($page->chapter && $page->chapter->restricted) || $page->restricted)
-        <div class="text-muted">
+        <div class="card">
+            <h3><i class="zmdi zmdi-key"></i> {{ trans('entities.permissions') }}</h3>
+            <div class="body">
+                <div class="text-muted">
 
-            @if($book->restricted)
-                @if(userCan('restrictions-manage', $book))
-                    <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
-                @else
-                    <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
-                @endif
-                <br>
-            @endif
+                    @if($book->restricted)
+                        @if(userCan('restrictions-manage', $book))
+                            <a href="{{ $book->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}</a>
+                        @else
+                            <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.books_permissions_active') }}
+                        @endif
+                        <br>
+                    @endif
 
-            @if($page->chapter && $page->chapter->restricted)
-                @if(userCan('restrictions-manage', $page->chapter))
-                    <a href="{{ $page->chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}</a>
-                @else
-                    <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}
-                @endif
-                <br>
-            @endif
+                    @if($page->chapter && $page->chapter->restricted)
+                        @if(userCan('restrictions-manage', $page->chapter))
+                            <a href="{{ $page->chapter->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}</a>
+                        @else
+                            <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.chapters_permissions_active') }}
+                        @endif
+                        <br>
+                    @endif
 
-            @if($page->restricted)
-                @if(userCan('restrictions-manage', $page))
-                    <a href="{{ $page->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.pages_permissions_active') }}</a>
-                @else
-                    <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.pages_permissions_active') }}
-                @endif
-                <br>
-            @endif
+                    @if($page->restricted)
+                        @if(userCan('restrictions-manage', $page))
+                            <a href="{{ $page->getUrl('/permissions') }}"><i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.pages_permissions_active') }}</a>
+                        @else
+                            <i class="zmdi zmdi-lock-outline"></i>{{ trans('entities.pages_permissions_active') }}
+                        @endif
+                        <br>
+                    @endif
+                </div>
+            </div>
         </div>
     @endif
 
     @include('pages/sidebar-tree-list', ['book' => $book, 'sidebarTree' => $sidebarTree, 'pageNav' => $pageNav])
+
+    <div class="card">
+        <h3><i class="zmdi zmdi-info-outline"></i> {{ trans('common.details') }}</h3>
+        <div class="body">
+            @include('partials.entity-meta', ['entity' => $book])
+        </div>
+    </div>
 @stop
 
 @section('body')
 
         @include('pages/page-display')
 
-        <hr>
-
-        @include('partials.entity-meta', ['entity' => $page])
-
     </div>
     <div class="container small">
         @include('comments/comments', ['pageId' => $page->id])
index 78e05369019b74171016a7b28721a7f1e9286e27..55701b8ba26ff9e73d28e5e7ca8519ed6ffe803a 100644 (file)
@@ -2,16 +2,18 @@
 
 @section('content')
 
-    <div class="faded-small toolbar">
-        <div class="container fluid">
-            <div class="row">
-                @yield('toolbar')
+    <div class="toolbar-container">
+        <div class="faded-small toolbar">
+            <div class="container fluid">
+                <div class="row">
+                    @yield('toolbar')
+                </div>
             </div>
         </div>
     </div>
 
 
-    <div class="flex-fill flex">
+    <div class="flex-fill flex" @yield('container-attrs') >
 
         <div class="sidebar flex print-hidden">
             <div class="scroll-body">
@@ -20,9 +22,7 @@
         </div>
 
         <div class="content flex">
-            <div class="scroll-body">
-                @yield('body')
-            </div>
+            @yield('body')
         </div>
     </div>
 
diff --git a/resources/views/simple-layout.blade.php b/resources/views/simple-layout.blade.php
new file mode 100644 (file)
index 0000000..eeb4129
--- /dev/null
@@ -0,0 +1,27 @@
+@extends('base')
+
+@section('body-class', 'shaded')
+
+@section('content')
+
+    <div class="toolbar-container">
+        <div class="faded-small toolbar">
+            <div class="container fluid">
+                <div class="row">
+                    @yield('toolbar')
+                </div>
+            </div>
+        </div>
+    </div>
+
+
+    <div class="flex-fill flex">
+        <div class="content flex">
+            <div class="scroll-body">
+                @yield('body')
+            </div>
+        </div>
+    </div>
+
+
+@stop