diff --git a/app/Http/Controllers/Fo/NewsController.php b/app/Http/Controllers/Fo/NewsController.php index 88baf95..1bc1cb0 100644 --- a/app/Http/Controllers/Fo/NewsController.php +++ b/app/Http/Controllers/Fo/NewsController.php @@ -7,6 +7,7 @@ use App\Http\Controllers\Controller; use App\Models\News; use App\Models\Section; use App\Models\StaticPage; +use Illuminate\Database\Eloquent\Builder; class NewsController extends Controller { @@ -19,7 +20,7 @@ class NewsController extends Controller { $staticPageModel = StaticPage::query()->where('type', StaticPageType::we_move)->first(); $sectionModels = Section::query()->where('page_id', $staticPageModel->id)->get(); - $newsModels = News::query()->where('published', true)->orderBy('order')->simplePaginate(4); + $newsModels = News::query()->where('published', true)->orderBy('publish_at', 'DESC')->simplePaginate(2); return view('fo.pages.news.index', \compact('staticPageModel', 'sectionModels', 'newsModels')); } @@ -27,25 +28,25 @@ class NewsController extends Controller /** * Display a news articles * - * @param string $slug + * @param \App\Models\News $news * @return \Illuminate\Contracts\View\View */ public function show(News $news): \Illuminate\Contracts\View\View { - /** @var \App\Models\News $nextNews */ - if ($news->order === News::query()->where('published', true)->max('order')) { - $nextNews = News::query() - ->where('published', true) - ->orderBy('order') - ->firstOrFail(); - } else { - $nextNews = News::query() - ->where('order', '>', $news->order) - ->where('published', true) - ->orderBy('order') - ->firstOrFail(); - } + // Get only id from published news. + $publishedNews = News::query()->where('published', true)->orderBy('publish_at', 'DESC')->get()->pluck('id'); + // Search the position of the current news id. + $positionId = \array_search($news->id, $publishedNews->toArray()); + // Check if it's the last position. + $nextPositionId = ($positionId === count($publishedNews) - 1) ? 0 : intval($positionId) + 1 ; + // Find the next news from the id. + $nextNews = News::query()->where('id', $publishedNews[$nextPositionId])->firstOrFail(); - return view('fo.pages.news.show', \compact('news', 'nextNews')); + // Check if it's the first position. + $prevPositionId = ($positionId === 0) ? count($publishedNews) - 1 : intval($positionId) - 1 ; + // Find the next news from the id. + $prevNews = News::query()->where('id', $publishedNews[$prevPositionId])->firstOrFail(); + + return view('fo.pages.news.show', \compact('news', 'nextNews', 'prevNews')); } } diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 63cc851..52b28bb 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -45,7 +45,6 @@ class RouteServiceProvider extends ServiceProvider Route::model('user', User::class); Route::model('strip', Strip::class); - Route::model('news', News::class); } /** diff --git a/resources/sass/fo/pages/_newspage.scss b/resources/sass/fo/pages/_newspage.scss index f53081e..d8d5d50 100644 --- a/resources/sass/fo/pages/_newspage.scss +++ b/resources/sass/fo/pages/_newspage.scss @@ -15,6 +15,10 @@ .sub-card{ background-color: color.adjust($color-sixt, $lightness: + 35%); } + + .rotate-arrow { + transform: rotate(180deg); + } } // LLLLLLLLLLL GGGGGGGGGGGGG diff --git a/resources/views/fo/pages/news/show.blade.php b/resources/views/fo/pages/news/show.blade.php index 17820c3..ff39c76 100644 --- a/resources/views/fo/pages/news/show.blade.php +++ b/resources/views/fo/pages/news/show.blade.php @@ -42,13 +42,21 @@ -
- - {{ __('Article suivant') }} - - +
+
diff --git a/resources/views/fo/partials/testimonials/card.blade.php b/resources/views/fo/partials/testimonials/card.blade.php index 8272712..f26e160 100644 --- a/resources/views/fo/partials/testimonials/card.blade.php +++ b/resources/views/fo/partials/testimonials/card.blade.php @@ -22,7 +22,7 @@ {{-- FIXME: check wysiwyg str limit --}}
!empty($speachClass)])> - {!! Str::limit(clean($speach), 150, '...') !!} + {!! clean($speach) !!}