- $recents = $this->signedIn ? Views::getUserRecentlyViewed(12*$recentFactor, 0) : $this->entityRepo->getRecentlyCreatedBooks(10*$recentFactor);
- $recentlyCreatedPages = $this->entityRepo->getRecentlyCreatedPages(5);
- $recentlyUpdatedPages = $this->entityRepo->getRecentlyUpdatedPages(5);
- return view('home', [
+ $recents = $this->signedIn ? Views::getUserRecentlyViewed(12*$recentFactor, 0) : $this->entityRepo->getRecentlyCreated('book', 12*$recentFactor);
+ $recentlyUpdatedPages = $this->entityRepo->getRecentlyUpdated('page', 12);
+
+
+ $customHomepage = false;
+ $books = false;
+ $booksViewType = false;
+
+ // Check book homepage
+ $bookHomepageSetting = setting('app-book-homepage');
+ if ($bookHomepageSetting) {
+ $books = $this->entityRepo->getAllPaginated('book', 18);
+ $booksViewType = setting()->getUser($this->currentUser, 'books_view_type', config('app.views.books', 'list'));
+ } else {
+ // Check custom homepage
+ $homepageSetting = setting('app-homepage');
+ if ($homepageSetting) {
+ $id = intval(explode(':', $homepageSetting)[0]);
+ $customHomepage = $this->entityRepo->getById('page', $id, false, true);
+ $this->entityRepo->renderPage($customHomepage, true);
+ }
+ }
+
+ $view = 'home';
+ if ($bookHomepageSetting) {
+ $view = 'home-book';
+ } else if ($customHomepage) {
+ $view = 'home-custom';
+ }
+
+ return view('common/' . $view, [