diff --git a/app/Http/Controllers/BookController.php b/app/Http/Controllers/BookController.php index 6283ac8d1..5342ece6b 100644 --- a/app/Http/Controllers/BookController.php +++ b/app/Http/Controllers/BookController.php @@ -39,8 +39,14 @@ class BookController extends Controller $books = $this->entityRepo->getAllPaginated('book', 20); $recents = $this->signedIn ? $this->entityRepo->getRecentlyViewed('book', 4, 0) : false; $popular = $this->entityRepo->getPopular('book', 4, 0); + $new = $this->entityRepo->getRecentlyCreated('book', 4, 0); $this->setPageTitle('Books'); - return view('books/index', ['books' => $books, 'recents' => $recents, 'popular' => $popular]); + return view('books/index', [ + 'books' => $books, + 'recents' => $recents, + 'popular' => $popular, + 'new' => $new + ]); } /** diff --git a/gulpfile.js b/gulpfile.js index f851dd7d6..c9f3f7956 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -3,16 +3,20 @@ const argv = require('yargs').argv; const gulp = require('gulp'), plumber = require('gulp-plumber'); + const autoprefixer = require('gulp-autoprefixer'); -const uglify = require('gulp-uglify'); const minifycss = require('gulp-clean-css'); const sass = require('gulp-sass'); +const sourcemaps = require('gulp-sourcemaps'); + const browserify = require("browserify"); const source = require('vinyl-source-stream'); const buffer = require('vinyl-buffer'); const babelify = require("babelify"); const watchify = require("watchify"); const envify = require("envify"); +const uglify = require('gulp-uglify'); + const gutil = require("gulp-util"); const liveReload = require('gulp-livereload'); @@ -21,6 +25,7 @@ let isProduction = argv.production || process.env.NODE_ENV === 'production'; gulp.task('styles', () => { let chain = gulp.src(['resources/assets/sass/**/*.scss']) + .pipe(sourcemaps.init()) .pipe(plumber({ errorHandler: function (error) { console.log(error.message); @@ -29,6 +34,7 @@ gulp.task('styles', () => { .pipe(sass()) .pipe(autoprefixer('last 2 versions')); if (isProduction) chain = chain.pipe(minifycss()); + chain = chain.pipe(sourcemaps.write()); return chain.pipe(gulp.dest('public/css/')).pipe(liveReload()); }); diff --git a/package.json b/package.json index f447ec786..ed8338abb 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "clipboard": "^1.7.1", "codemirror": "^5.26.0", "dropzone": "^4.0.1", + "gulp-sourcemaps": "^2.6.1", "gulp-util": "^3.0.8", "markdown-it": "^8.3.1", "markdown-it-task-lists": "^2.0.0", diff --git a/resources/assets/sass/_blocks.scss b/resources/assets/sass/_blocks.scss index 3eb60152d..c5b850507 100644 --- a/resources/assets/sass/_blocks.scss +++ b/resources/assets/sass/_blocks.scss @@ -195,7 +195,13 @@ font-weight: 400; text-transform: uppercase; } - .body { + .body, p.empty-text { padding: $-m; } +} + +.well { + background-color: #F8F8F8; + padding: $-m; + border: 1px solid #DDD; } \ No newline at end of file diff --git a/resources/assets/sass/_buttons.scss b/resources/assets/sass/_buttons.scss index 202eb935b..c07e6a37a 100644 --- a/resources/assets/sass/_buttons.scss +++ b/resources/assets/sass/_buttons.scss @@ -2,9 +2,10 @@ @mixin generate-button-colors($textColor, $backgroundColor) { background-color: $backgroundColor; color: $textColor; + text-transform: uppercase; &:hover { background-color: lighten($backgroundColor, 8%); - box-shadow: $bs-med; + //box-shadow: $bs-med; text-decoration: none; color: $textColor; } @@ -26,16 +27,16 @@ $button-border-radius: 2px; text-decoration: none; font-size: $fs-m; line-height: 1.4em; - padding: $-xs $-m; + padding: $-xs*1.3 $-m; margin: $-xs $-xs $-xs 0; display: inline-block; border: none; - font-weight: 500; + font-weight: 400; outline: 0; border-radius: $button-border-radius; cursor: pointer; transition: all ease-in-out 120ms; - box-shadow: 0 0.5px 1.5px 0 rgba(0, 0, 0, 0.21); + box-shadow: 0; @include generate-button-colors(#EEE, $primary); } @@ -51,13 +52,39 @@ $button-border-radius: 2px; @include generate-button-colors(#EEE, $secondary); } &.muted { - @include generate-button-colors(#EEE, #888); + @include generate-button-colors(#EEE, #AAA); } &.muted-light { @include generate-button-colors(#666, #e4e4e4); } } +.button.outline { + background-color: transparent; + color: #888; + border: 1px solid #DDD; + &:hover, &:focus, &:active { + box-shadow: none; + background-color: #EEE; + } + &.page { + border-color: $color-page; + color: $color-page; + &:hover, &:focus, &:active { + background-color: $color-page; + color: #FFF; + } + } + &.chapter { + border-color: $color-chapter; + color: $color-chapter; + &:hover, &:focus, &:active { + background-color: $color-chapter; + color: #FFF; + } + } +} + .text-button { @extend .link; background-color: transparent; diff --git a/resources/assets/sass/_forms.scss b/resources/assets/sass/_forms.scss index d372359cc..94752f26e 100644 --- a/resources/assets/sass/_forms.scss +++ b/resources/assets/sass/_forms.scss @@ -2,14 +2,13 @@ .input-base { background-color: #FFF; border-radius: 3px; - border: 1px solid #CCC; + border: 1px solid #D4D4D4; display: inline-block; font-size: $fs-s; - padding: $-xs; - color: #222; + padding: $-xs*1.5; + color: #666; width: 250px; max-width: 100%; - //-webkit-appearance:none; &.neg, &.invalid { border: 1px solid $negative; } @@ -84,8 +83,9 @@ label { display: block; line-height: 1.4em; font-size: 0.94em; - font-weight: 500; - color: #666; + font-weight: 400; + color: #999; + text-transform: uppercase; padding-bottom: 2px; margin-bottom: 0.2em; &.inline { @@ -186,28 +186,15 @@ input:checked + .toggle-switch { } .inline-input-style { - border: 2px dotted #BBB; display: block; width: 100%; - padding: $-xs $-s; -} - -.title-input .input { - width: 100%; -} - -.title-input label, .description-input label{ - margin-top: $-m; - color: #666; + padding: $-s; } .title-input input[type="text"] { - @extend h1; @extend .inline-input-style; margin-top: 0; - padding-right: 0; - width: 100%; - color: #444; + font-size: 2em; } .title-input.page-title { diff --git a/resources/assets/sass/_html.scss b/resources/assets/sass/_html.scss index 9e47f4387..65f05a71d 100644 --- a/resources/assets/sass/_html.scss +++ b/resources/assets/sass/_html.scss @@ -9,6 +9,9 @@ html { &.flexbox { overflow-y: hidden; } + &.shaded { + background-color: #F2F2F2; + } } body { diff --git a/resources/assets/sass/_lists.scss b/resources/assets/sass/_lists.scss index 0cb58432c..5d607ba16 100644 --- a/resources/assets/sass/_lists.scss +++ b/resources/assets/sass/_lists.scss @@ -239,6 +239,9 @@ .left + .right { margin-left: 30px + $-s; } + &:last-of-type { + border-bottom: 0; + } } ul.pagination { @@ -291,9 +294,6 @@ ul.pagination { h4 { margin: 0; } - p { - margin: $-xs 0 0 0; - } hr { margin: 0; } @@ -310,7 +310,7 @@ ul.pagination { } } -.card .entity-list-item { +.card .entity-list-item, .card .activity-list-item { padding-left: $-m; padding-right: $-m; } @@ -323,9 +323,11 @@ ul.pagination { .entity-item-snippet { display: none; } - p { + .entity-list-item p { font-size: $fs-m * 0.8; padding-top: $-xs; + } + p { margin: 0; } > p.empty-text { diff --git a/resources/assets/sass/_text.scss b/resources/assets/sass/_text.scss index d38a5c515..2911a88c6 100644 --- a/resources/assets/sass/_text.scss +++ b/resources/assets/sass/_text.scss @@ -2,7 +2,7 @@ * Fonts */ -body, button, input, select, label { +body, button, input, select, label, textarea { font-family: $text; } .Codemirror, pre, #markdown-editor-input, .editor-toolbar, .code-base { diff --git a/resources/assets/sass/styles.scss b/resources/assets/sass/styles.scss index b912bf7ee..3a6f9e062 100644 --- a/resources/assets/sass/styles.scss +++ b/resources/assets/sass/styles.scss @@ -217,22 +217,15 @@ $btt-size: 40px; } .center-box { - margin: $-xl auto 0 auto; - padding: $-m $-xxl $-xl $-xxl; + margin: $-xxl auto 0 auto; width: 420px; max-width: 100%; display: inline-block; text-align: left; vertical-align: top; - //border: 1px solid #DDD; input { width: 100%; } - &.login { - background-color: #EEE; - box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1); - border: 1px solid #DDD; - } } diff --git a/resources/lang/en/entities.php b/resources/lang/en/entities.php index 43053df10..5b76559ea 100644 --- a/resources/lang/en/entities.php +++ b/resources/lang/en/entities.php @@ -73,11 +73,13 @@ return [ 'books_empty' => 'No books have been created', 'books_popular' => 'Popular Books', 'books_recent' => 'Recent Books', + 'books_new' => 'New Books', 'books_popular_empty' => 'The most popular books will appear here.', + 'books_new_empty' => 'The most recently created books will appear here.', 'books_create' => 'Create New Book', 'books_delete' => 'Delete Book', 'books_delete_named' => 'Delete Book :bookName', - 'books_delete_explain' => 'This will delete the book with the name \':bookName\', All pages and chapters will be removed.', + 'books_delete_explain' => 'This will delete the book with the name \':bookName\'. All pages and chapters will be removed.', 'books_delete_confirmation' => 'Are you sure you want to delete this book?', 'books_edit' => 'Edit Book', 'books_edit_named' => 'Edit Book :bookName', diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 706747b8b..dda733645 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -9,36 +9,38 @@ @section('content') <div class="text-center"> - <div class="center-box"> - <h1>{{ title_case(trans('auth.log_in')) }}</h1> + <div class="card center-box"> + <h3><i class="zmdi zmdi-sign-in"></i> {{ title_case(trans('auth.log_in')) }}</h3> - <form action="{{ baseUrl("/login") }}" method="POST" id="login-form"> - {!! csrf_field() !!} + <div class="body"> + <form action="{{ baseUrl("/login") }}" method="POST" id="login-form"> + {!! csrf_field() !!} - @include('auth/forms/login/' . $authMethod) + @include('auth/forms/login/' . $authMethod) - <div class="form-group"> - <label for="remember" class="inline">{{ trans('auth.remember_me') }}</label> - <input type="checkbox" id="remember" name="remember" class="toggle-switch-checkbox"> - <label for="remember" class="toggle-switch"></label> - </div> + <div class="form-group"> + <label for="remember" class="inline">{{ trans('auth.remember_me') }}</label> + <input type="checkbox" id="remember" name="remember" class="toggle-switch-checkbox"> + <label for="remember" class="toggle-switch"></label> + </div> - <div class="from-group"> - <button class="button block pos" tabindex="3"><i class="zmdi zmdi-sign-in"></i> {{ title_case(trans('auth.log_in')) }}</button> - </div> - </form> + <div class="from-group"> + <button class="button block pos" tabindex="3"><i class="zmdi zmdi-sign-in"></i> {{ title_case(trans('auth.log_in')) }}</button> + </div> + </form> - @if(count($socialDrivers) > 0) - <hr class="margin-top"> - @foreach($socialDrivers as $driver => $name) - <a id="social-login-{{$driver}}" class="button block muted-light svg text-left" href="{{ baseUrl("/login/service/" . $driver) }}"> - @icon($driver) - {{ trans('auth.log_in_with', ['socialDriver' => $name]) }} - </a> - @endforeach - @endif + @if(count($socialDrivers) > 0) + <hr class="margin-top"> + @foreach($socialDrivers as $driver => $name) + <a id="social-login-{{$driver}}" class="button block muted-light svg text-left" href="{{ baseUrl("/login/service/" . $driver) }}"> + @icon($driver) + {{ trans('auth.log_in_with', ['socialDriver' => $name]) }} + </a> + @endforeach + @endif + </div> </div> </div> diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index d5db4afa8..7b319d30c 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -7,41 +7,42 @@ @section('content') <div class="text-center"> - <div class="center-box"> - <h1>{{ title_case(trans('auth.sign_up')) }}</h1> + <div class="card center-box"> + <h3><i class="zmdi zmdi-account-add"></i> {{ title_case(trans('auth.sign_up')) }}</h3> + <div class="body"> + <form action="{{ baseUrl("/register") }}" method="POST"> + {!! csrf_field() !!} - <form action="{{ baseUrl("/register") }}" method="POST"> - {!! csrf_field() !!} + <div class="form-group"> + <label for="email">{{ trans('auth.name') }}</label> + @include('form/text', ['name' => 'name']) + </div> - <div class="form-group"> - <label for="email">{{ trans('auth.name') }}</label> - @include('form/text', ['name' => 'name']) - </div> + <div class="form-group"> + <label for="email">{{ trans('auth.email') }}</label> + @include('form/text', ['name' => 'email']) + </div> - <div class="form-group"> - <label for="email">{{ trans('auth.email') }}</label> - @include('form/text', ['name' => 'email']) - </div> + <div class="form-group"> + <label for="password">{{ trans('auth.password') }}</label> + @include('form/password', ['name' => 'password', 'placeholder' => trans('auth.password_hint')]) + </div> - <div class="form-group"> - <label for="password">{{ trans('auth.password') }}</label> - @include('form/password', ['name' => 'password', 'placeholder' => trans('auth.password_hint')]) - </div> + <div class="from-group"> + <button class="button block pos">{{ trans('auth.create_account') }}</button> + </div> + </form> - <div class="from-group"> - <button class="button block pos">{{ trans('auth.create_account') }}</button> - </div> - </form> - - @if(count($socialDrivers) > 0) - <hr class="margin-top"> - @foreach($socialDrivers as $driver => $name) - <a id="social-register-{{$driver}}" class="button block muted-light svg text-left" href="{{ baseUrl("/register/service/" . $driver) }}"> - @icon($driver) - {{ trans('auth.sign_up_with', ['socialDriver' => $name]) }} - </a> - @endforeach - @endif + @if(count($socialDrivers) > 0) + <hr class="margin-top"> + @foreach($socialDrivers as $driver => $name) + <a id="social-register-{{$driver}}" class="button block muted-light svg text-left" href="{{ baseUrl("/register/service/" . $driver) }}"> + @icon($driver) + {{ trans('auth.sign_up_with', ['socialDriver' => $name]) }} + </a> + @endforeach + @endif + </div> </div> </div> diff --git a/resources/views/books/create.blade.php b/resources/views/books/create.blade.php index 2c629e699..385e6b9d7 100644 --- a/resources/views/books/create.blade.php +++ b/resources/views/books/create.blade.php @@ -1,12 +1,27 @@ -@extends('base') +@extends('simple-layout') -@section('content') +@section('toolbar') + <div class="col-sm-8 faded"> + <div class="breadcrumbs"> + <a href="{{ baseUrl('/books') }}" class="text-button"><i class="zmdi zmdi-book"></i>{{ trans('entities.books') }}</a> + <span class="sep">»</span> + <a href="{{ baseUrl('/books/create') }}" class="text-button"><i class="zmdi zmdi-plus"></i>{{ trans('entities.books_create') }}</a> + </div> + </div> +@stop -<div class="container small" ng-non-bindable> - <h1>{{ trans('entities.books_create') }}</h1> - <form action="{{ baseUrl("/books") }}" method="POST"> - @include('books/form') - </form> +@section('body') + +<div ng-non-bindable class="container small"> + <p> </p> + <div class="card"> + <h3><i class="zmdi zmdi-plus"></i> {{ trans('entities.books_create') }}</h3> + <div class="body"> + <form action="{{ baseUrl("/books") }}" method="POST"> + @include('books/form') + </form> + </div> + </div> </div> @stop \ No newline at end of file diff --git a/resources/views/books/delete.blade.php b/resources/views/books/delete.blade.php index 0b1e67d4a..9bcb1cfc6 100644 --- a/resources/views/books/delete.blade.php +++ b/resources/views/books/delete.blade.php @@ -1,28 +1,30 @@ -@extends('base') +@extends('simple-layout') -@section('content') - - <div class="faded-small toolbar"> - <div class="container"> - <div class="row"> - <div class="col-sm-12 faded"> - @include('books._breadcrumbs', ['book' => $book]) - </div> - </div> - </div> +@section('toolbar') + <div class="col-sm-12 faded"> + @include('books._breadcrumbs', ['book' => $book]) </div> +@stop + +@section('body') <div class="container small" ng-non-bindable> - <h1>{{ trans('entities.books_delete') }}</h1> - <p>{{ trans('entities.books_delete_explain', ['bookName' => $book->name]) }}</p> - <p class="text-neg">{{ trans('entities.books_delete_confirmation') }}</p> + <p> </p> + <div class="card"> + <h3><i class="zmdi zmdi-delete"></i> {{ trans('entities.books_delete') }}</h3> + <div class="body"> + <p>{{ trans('entities.books_delete_explain', ['bookName' => $book->name]) }}</p> + <p class="text-neg">{{ trans('entities.books_delete_confirmation') }}</p> + + <form action="{{$book->getUrl()}}" method="POST"> + {!! csrf_field() !!} + <input type="hidden" name="_method" value="DELETE"> + <a href="{{$book->getUrl()}}" class="button outline">{{ trans('common.cancel') }}</a> + <button type="submit" class="button neg">{{ trans('common.confirm') }}</button> + </form> + </div> + </div> - <form action="{{$book->getUrl()}}" method="POST"> - {!! csrf_field() !!} - <input type="hidden" name="_method" value="DELETE"> - <a href="{{$book->getUrl()}}" class="button">{{ trans('common.cancel') }}</a> - <button type="submit" class="button neg">{{ trans('common.confirm') }}</button> - </form> </div> @stop \ No newline at end of file diff --git a/resources/views/books/edit.blade.php b/resources/views/books/edit.blade.php index 2419b68da..9d9c54fec 100644 --- a/resources/views/books/edit.blade.php +++ b/resources/views/books/edit.blade.php @@ -1,23 +1,24 @@ -@extends('base') +@extends('simple-layout') -@section('content') +@section('toolbar') + <div class="col-sm-12 faded"> + @include('books._breadcrumbs', ['book' => $book]) + </div> +@stop - <div class="faded-small toolbar"> - <div class="container"> - <div class="row"> - <div class="col-sm-12 faded"> - @include('books._breadcrumbs', ['book' => $book]) - </div> +@section('body') + + <div class="container small" ng-non-bindable> + <p> </p> + <div class="card"> + <h3><i class="zmdi zmdi-edit"></i> {{ trans('entities.books_edit') }}</h3> + <div class="body"> + <form action="{{ $book->getUrl() }}" method="POST"> + <input type="hidden" name="_method" value="PUT"> + @include('books/form', ['model' => $book]) + </form> </div> </div> </div> - <div class="container small" ng-non-bindable> - <h1>{{ trans('entities.books_edit') }}</h1> - <form action="{{ $book->getUrl() }}" method="POST"> - <input type="hidden" name="_method" value="PUT"> - @include('books/form', ['model' => $book]) - </form> - </div> - @stop \ No newline at end of file diff --git a/resources/views/books/form.blade.php b/resources/views/books/form.blade.php index b1484d129..84a30e7e9 100644 --- a/resources/views/books/form.blade.php +++ b/resources/views/books/form.blade.php @@ -10,7 +10,7 @@ @include('form/textarea', ['name' => 'description']) </div> -<div class="form-group"> - <a href="{{ isset($book) ? $book->getUrl() : baseUrl('/books') }}" class="button muted">{{ trans('common.cancel') }}</a> +<div class="form-group text-right"> + <a href="{{ isset($book) ? $book->getUrl() : baseUrl('/books') }}" class="button outline">{{ trans('common.cancel') }}</a> <button type="submit" class="button pos">{{ trans('entities.books_save') }}</button> </div> \ No newline at end of file diff --git a/resources/views/books/index.blade.php b/resources/views/books/index.blade.php index 3c05f32a5..c22b4591f 100644 --- a/resources/views/books/index.blade.php +++ b/resources/views/books/index.blade.php @@ -27,6 +27,15 @@ <div class="body text-muted">{{ trans('entities.books_popular_empty') }}</div> @endif </div> + + <div id="new" class="card"> + <h3><i class="zmdi zmdi-star-circle"></i> {{ trans('entities.books_new') }}</h3> + @if(count($popular) > 0) + @include('partials/entity-list', ['entities' => $new, 'style' => 'compact']) + @else + <div class="body text-muted">{{ trans('entities.books_new_empty') }}</div> + @endif + </div> @stop @section('body') diff --git a/resources/views/books/restrictions.blade.php b/resources/views/books/restrictions.blade.php index f558fdfce..f87625a67 100644 --- a/resources/views/books/restrictions.blade.php +++ b/resources/views/books/restrictions.blade.php @@ -1,21 +1,20 @@ -@extends('base') +@extends('simple-layout') -@section('content') +@section('toolbar') + <div class="col-sm-12 faded"> + @include('books._breadcrumbs', ['book' => $book]) + </div> +@stop - <div class="faded-small toolbar"> - <div class="container"> - <div class="row"> - <div class="col-sm-12 faded"> - @include('books._breadcrumbs', ['book' => $book]) - </div> +@section('body') + + <div class="container" ng-non-bindable> + <div class="card"> + <h3>{{ trans('entities.books_permissions') }}</h3> + <div class="body"> + @include('form/restriction-form', ['model' => $book]) </div> </div> </div> - - <div class="container" ng-non-bindable> - <h1>{{ trans('entities.books_permissions') }}</h1> - @include('form/restriction-form', ['model' => $book]) - </div> - @stop diff --git a/resources/views/books/show.blade.php b/resources/views/books/show.blade.php index 28cd08928..956dbaf16 100644 --- a/resources/views/books/show.blade.php +++ b/resources/views/books/show.blade.php @@ -71,9 +71,7 @@ @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> + @include('partials/activity-list', ['activity' => $activity]) </div> @endif @@ -97,34 +95,33 @@ <h1>{{$book->name}}</h1> <div class="book-content" v-show="!searching"> <p class="text-muted" v-pre>{!! nl2br(e($book->description)) !!}</p> - + @if(count($bookChildren) > 0) <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> + @foreach($bookChildren as $childElement) + @if($childElement->isA('chapter')) + @include('chapters/list-item', ['chapter' => $childElement]) + @else + @include('pages/list-item', ['page' => $childElement]) + @endif + <hr> + @endforeach + </div> + @else + <div class="well"> + <p class="text-muted italic">{{ trans('entities.books_empty_contents') }}</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> + <a href="{{ $book->getUrl('/page/create') }}" class="button outline 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)) - <em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em> + <em class="text-muted">-{{ trans('entities.books_empty_or') }}-</em> @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> + <a href="{{ $book->getUrl('/chapter/create') }}" class="button outline chapter"><i class="zmdi zmdi-collection-bookmark"></i>{{ trans('entities.books_empty_add_chapter') }}</a> @endif - </p> - <hr> - @endif - </div> + </div> + @endif + </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> diff --git a/resources/views/books/sort.blade.php b/resources/views/books/sort.blade.php index d96f502f1..ebabb90ce 100644 --- a/resources/views/books/sort.blade.php +++ b/resources/views/books/sort.blade.php @@ -1,56 +1,59 @@ -@extends('base') +@extends('simple-layout') @section('head') <script src="{{ baseUrl("/libs/jquery-sortable/jquery-sortable.min.js") }}"></script> @stop -@section('content') - - <div class="faded-small toolbar"> - <div class="container"> - <div class="row"> - <div class="col-sm-12 faded"> - @include('books._breadcrumbs', ['book' => $book]) - </div> - </div> - </div> +@section('toolbar') + <div class="col-sm-12 faded"> + @include('books._breadcrumbs', ['book' => $book]) </div> +@stop + +@section('body') <div class="container" ng-non-bindable> - <h1>{{ trans('entities.books_sort') }}</h1> + <div class="row"> - <div class="col-md-8" id="sort-boxes"> - - @include('books/sort-box', ['book' => $book, 'bookChildren' => $bookChildren]) - - </div> - - @if(count($books) > 1) - <div class="col-md-4"> - <h3>{{ trans('entities.books_sort_show_other') }}</h3> - <div id="additional-books"> - @foreach($books as $otherBook) - @if($otherBook->id !== $book->id) - <div> - <a href="{{ $otherBook->getUrl('/sort-item') }}" class="text-book"><i class="zmdi zmdi-book"></i>{{ $otherBook->name }}</a> + <div class="col-md-8"> + <div class="card"> + <h3><i class="zmdi zmdi-sort"></i> {{ trans('entities.books_sort') }}</h3> + <div class="body"> + <div id="sort-boxes"> + @include('books/sort-box', ['book' => $book, 'bookChildren' => $bookChildren]) </div> - @endif - @endforeach + + <form action="{{ $book->getUrl('/sort') }}" method="POST"> + {!! csrf_field() !!} + <input type="hidden" name="_method" value="PUT"> + <input type="hidden" id="sort-tree-input" name="sort-tree"> + <div class="list"> + <a href="{{ $book->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a> + <button class="button pos" type="submit">{{ trans('entities.books_sort_save') }}</button> + </div> + </form> </div> </div> + </div> + @if(count($books) > 1) + <div class="col-md-4"> + <div class="card"> + <h3><i class="zmdi zmdi-book"></i> {{ trans('entities.books_sort_show_other') }}</h3> + <div class="body" id="additional-books"> + @foreach($books as $otherBook) + @if($otherBook->id !== $book->id) + <div> + <a href="{{ $otherBook->getUrl('/sort-item') }}" class="text-book"><i class="zmdi zmdi-book"></i>{{ $otherBook->name }}</a> + </div> + @endif + @endforeach + </div> + </div> + </div> @endif - </div> - <form action="{{ $book->getUrl('/sort') }}" method="POST"> - {!! csrf_field() !!} - <input type="hidden" name="_method" value="PUT"> - <input type="hidden" id="sort-tree-input" name="sort-tree"> - <div class="list"> - <a href="{{ $book->getUrl() }}" class="button muted">{{ trans('common.cancel') }}</a> - <button class="button pos" type="submit">{{ trans('entities.books_sort_save') }}</button> - </div> - </form> + </div> diff --git a/resources/views/form/restriction-form.blade.php b/resources/views/form/restriction-form.blade.php index 7a1605197..c32fe005a 100644 --- a/resources/views/form/restriction-form.blade.php +++ b/resources/views/form/restriction-form.blade.php @@ -27,6 +27,8 @@ @endforeach </table> - <a href="{{ $model->getUrl() }}" class="button muted">{{ trans('common.cancel') }}</a> - <button type="submit" class="button pos">{{ trans('entities.permissions_save') }}</button> + <div class="text-right"> + <a href="{{ $model->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a> + <button type="submit" class="button pos">{{ trans('entities.permissions_save') }}</button> + </div> </form> \ No newline at end of file diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 6cd450a82..28be91414 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -16,13 +16,13 @@ <div class="col-sm-4"> @if(count($draftPages) > 0) <div id="recent-drafts" class="card"> - <h3>{{ trans('entities.my_recent_drafts') }}</h3> + <h3><i class="zmdi zmdi-edit"></i> {{ trans('entities.my_recent_drafts') }}</h3> @include('partials/entity-list', ['entities' => $draftPages, 'style' => 'compact']) </div> @endif <div class="card"> - <h3>{{ trans('entities.' . ($signedIn ? 'my_recently_viewed' : 'books_recent')) }}</h3> + <h3><i class="zmdi zmdi-{{ $signedIn ? 'eye' : 'star-circle' }}"></i> {{ trans('entities.' . ($signedIn ? 'my_recently_viewed' : 'books_recent')) }}</h3> @include('partials/entity-list', [ 'entities' => $recents, 'style' => 'compact', @@ -33,7 +33,7 @@ <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> + <h3><i class="zmdi zmdi-file"></i> <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, @@ -46,10 +46,8 @@ <div class="col-sm-4" id="recent-activity"> <div class="card"> - <h3>{{ trans('entities.recent_activity') }}</h3> - <div class="body"> - @include('partials/activity-list', ['activity' => $activity]) - </div> + <h3><i class="zmdi zmdi-time"></i> {{ trans('entities.recent_activity') }}</h3> + @include('partials/activity-list', ['activity' => $activity]) </div> </div> diff --git a/resources/views/public.blade.php b/resources/views/public.blade.php index ea2069b86..87d4f1c88 100644 --- a/resources/views/public.blade.php +++ b/resources/views/public.blade.php @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="shaded"> <head> <title>{{ setting('app-name') }}</title> @@ -23,12 +23,12 @@ {!! setting('app-custom-head') !!} @endif </head> -<body class="@yield('body-class')" ng-app="bookStack"> +<body class="@yield('body-class')"> @include('partials.notifications') <header id="header"> - <div class="container"> + <div class="container fluid"> <div class="row"> <div class="col-sm-6">