mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-29 23:22:34 +01:00
Fixed some bugs and added a proper home page
This commit is contained in:
parent
5d9d096028
commit
732f3a9986
43
app/Http/Controllers/HomeController.php
Normal file
43
app/Http/Controllers/HomeController.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace Oxbow\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use Oxbow\Http\Requests;
|
||||
use Oxbow\Http\Controllers\Controller;
|
||||
use Oxbow\Repos\BookRepo;
|
||||
use Oxbow\Services\ActivityService;
|
||||
use Oxbow\Services\Facades\Activity;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
|
||||
protected $activityService;
|
||||
protected $bookRepo;
|
||||
|
||||
/**
|
||||
* HomeController constructor.
|
||||
* @param ActivityService $activityService
|
||||
* @param BookRepo $bookRepo
|
||||
*/
|
||||
public function __construct(ActivityService $activityService, BookRepo $bookRepo)
|
||||
{
|
||||
$this->activityService = $activityService;
|
||||
$this->bookRepo = $bookRepo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Display the homepage.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$books = $this->bookRepo->getAll();
|
||||
$activity = $this->activityService->latest();
|
||||
return view('home', ['books' => $books, 'activity' => $activity]);
|
||||
}
|
||||
|
||||
}
|
@ -79,12 +79,9 @@ Route::group(['middleware' => 'auth'], function() {
|
||||
// Search
|
||||
Route::get('/pages/search/all', 'PageController@searchAll');
|
||||
|
||||
Route::get('/', function () {
|
||||
return view('home');
|
||||
});
|
||||
Route::get('/home', function () {
|
||||
return view('home');
|
||||
});
|
||||
// Other Pages
|
||||
Route::get('/', 'HomeController@index');
|
||||
Route::get('/home', 'HomeController@index');
|
||||
|
||||
|
||||
});
|
||||
|
@ -19,7 +19,6 @@ class ActivityService
|
||||
$this->user = Auth::user();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add activity data to database.
|
||||
* @para Entity $entity
|
||||
@ -54,4 +53,15 @@ class ActivityService
|
||||
$this->activity->save();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the latest activity.
|
||||
* @param int $count
|
||||
* @param int $page
|
||||
*/
|
||||
public function latest($count = 20, $page = 0)
|
||||
{
|
||||
return $this->activity->orderBy('created_at', 'desc')
|
||||
->skip($count*$page)->take($count)->get();
|
||||
}
|
||||
|
||||
}
|
@ -18,6 +18,7 @@
|
||||
"tinymce-dist": "~4.2.1",
|
||||
"bootstrap": "~3.3.5",
|
||||
"jquery-sortable": "~0.9.13",
|
||||
"material-design-iconic-font": "~2.1.1"
|
||||
"material-design-iconic-font": "~2.1.1",
|
||||
"vue": "~0.12.10"
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
"laravel-elixir-livereload": "0.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"laravel-elixir": "^2.0.0",
|
||||
"bootstrap-sass": "^3.0.0"
|
||||
"bootstrap-sass": "^3.0.0",
|
||||
"laravel-elixir": "^2.0.0"
|
||||
}
|
||||
}
|
||||
|
@ -46,12 +46,13 @@ header {
|
||||
}
|
||||
|
||||
.logo-container {
|
||||
padding: $-xl $-s $-l $-s;
|
||||
padding: $-l $-s;
|
||||
color: #CCC;
|
||||
.logo {
|
||||
display: block;
|
||||
font-size: 2em;
|
||||
font-weight: bold;
|
||||
margin-bottom: $-m;
|
||||
padding: $-m 0;
|
||||
}
|
||||
i {
|
||||
padding-right: $-s;
|
||||
@ -63,11 +64,12 @@ header {
|
||||
input {
|
||||
width: 100%;
|
||||
border-radius: 0;
|
||||
padding: $-s $-m;
|
||||
padding: $-m;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border: none;
|
||||
border-top: 1px solid #333;
|
||||
border-bottom: 1px solid #333;
|
||||
color: #EEE;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,5 +22,6 @@ return [
|
||||
'book_create' => 'created book',
|
||||
'book_update' => 'updated book',
|
||||
'book_delete' => 'deleted book',
|
||||
'book_sort' => 'sorted book',
|
||||
|
||||
];
|
@ -12,7 +12,7 @@
|
||||
<script src="/bower/bootstrap/dist/js/bootstrap.js"></script>
|
||||
<script src="/bower/jquery-sortable/source/js/jquery-sortable.js"></script>
|
||||
<script src="/bower/dropzone/dist/min/dropzone.min.js"></script>
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.10/vue.min.js"></script>
|
||||
<script src="/bower/vue/dist/vue.min.js"></script>
|
||||
<script>
|
||||
$.fn.smoothScrollTo = function() {
|
||||
if(this.length === 0) return;
|
||||
@ -36,9 +36,8 @@
|
||||
<header>
|
||||
<div class="padded row clearfix">
|
||||
<div class="col-md-12 logo-container">
|
||||
{{--<div ><img class="logo float left" src="/bookstack.svg" alt="BookStack"></div>--}}
|
||||
<div class="logo">BookStack</div>
|
||||
<div><i class="zmdi zmdi-account"></i> {{ \Illuminate\Support\Facades\Auth::user()->name }}</div>
|
||||
<a href="/" class="logo">BookStack</a>
|
||||
<div><i class="zmdi zmdi-account"></i> {{ Auth::user()->name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
@ -65,7 +65,7 @@
|
||||
<div class="col-md-3 col-md-offset-1">
|
||||
<div class="margin-top large"><br></div>
|
||||
<h3>Recent Activity</h3>
|
||||
@include('partials/activity-list', ['entity' => $book])
|
||||
@include('partials/activity-list', ['activity' => $book->recentActivity()])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,15 +1,25 @@
|
||||
@extends('base')
|
||||
|
||||
@section('content')
|
||||
<div id="container"></div>
|
||||
@stop
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-1">
|
||||
<div class="page-content">
|
||||
<h2>Books</h2>
|
||||
@foreach($books as $book)
|
||||
<div class="book">
|
||||
<h3><a href="{{$book->getUrl()}}">{{$book->name}}</a></h3>
|
||||
<p class="text-muted">{{$book->description}}</p>
|
||||
</div>
|
||||
<hr>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-md-offset-1">
|
||||
<div class="margin-top large"> </div>
|
||||
<h3>Recent Activity</h3>
|
||||
@include('partials/activity-list', ['activity' => $activity])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('bottom')
|
||||
@include('pages/image-manager')
|
||||
<div id="image-manager-container"></div>
|
||||
<script src="/js/image-manager.js"></script>
|
||||
<script>
|
||||
window.ImageManager.show();
|
||||
</script>
|
||||
@stop
|
@ -2,8 +2,6 @@
|
||||
|
||||
@section('head')
|
||||
<script src="/bower/tinymce-dist/tinymce.jquery.min.js"></script>
|
||||
<script src="/bower/dropzone/dist/min/dropzone.min.js"></script>
|
||||
<script src="/js/image-manager.js"></script>
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
@ -17,4 +15,5 @@
|
||||
|
||||
@section('bottom')
|
||||
@include('pages/image-manager')
|
||||
<script src="/js/image-manager.js"></script>
|
||||
@stop
|
@ -15,6 +15,5 @@
|
||||
|
||||
@section('bottom')
|
||||
@include('pages/image-manager')
|
||||
<div id="image-manager-container"></div>
|
||||
<script src="/js/image-manager.js"></script>
|
||||
@stop
|
@ -1,11 +1,11 @@
|
||||
|
||||
{{--Requires an entity to be passed with the name $entity--}}
|
||||
|
||||
@if(count($entity->recentActivity()) > 0)
|
||||
@if(count($activity) > 0)
|
||||
<div class="activity-list">
|
||||
@foreach($entity->recentActivity() as $activity)
|
||||
@foreach($activity as $activityItem)
|
||||
<div class="activity-list-item">
|
||||
@include('partials/activity-item')
|
||||
@include('partials/activity-item', ['activity' => $activityItem])
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user