From ef4042af7af50283a9e39cef88adc38e3af2f9b8 Mon Sep 17 00:00:00 2001 From: nikhil trivedi Date: Fri, 12 Jul 2024 15:37:50 -0500 Subject: [PATCH 1/6] Add section links from landing to listing page [PUB-205] --- resources/views/site/digitalPublicationDetail.blade.php | 1 + routes/web.php | 1 + 2 files changed, 2 insertions(+) diff --git a/resources/views/site/digitalPublicationDetail.blade.php b/resources/views/site/digitalPublicationDetail.blade.php index 293e41205..52cd71a4c 100644 --- a/resources/views/site/digitalPublicationDetail.blade.php +++ b/resources/views/site/digitalPublicationDetail.blade.php @@ -45,6 +45,7 @@ @component('components.molecules._m-title-bar', [ 'variation' => 'm-title-bar--compact m-title-bar--light', ]) + @slot('links', $topLevelArticle->children->count() > 0 ? ([['label' => 'Browse all '. $topLevelArticle->children->count(). ' '. $topLevelArticle->title, 'href' => route('collection.publications.digital-publications.showListing', ['id' => $item->id, 'slug' => $item->getSlug()]) . '#' . Str::kebab($topLevelArticle->title)]]) : '') {!! $topLevelArticle->title !!} @endcomponent diff --git a/routes/web.php b/routes/web.php index 63bf8e4e9..377adce2d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -83,6 +83,7 @@ // Collection Publications Digital Publications Route::get('/digital-publications', [DigitalPublicationsController::class, 'index'])->name('collection.publications.digital-publications'); Route::get('/digital-publications/{id}/{slug?}', [DigitalPublicationsController::class, 'show'])->name('collection.publications.digital-publications.show'); +Route::get('/digital-publications/{id}/{slug?}/content', [DigitalPublicationsController::class, 'show'])->name('collection.publications.digital-publications.showListing'); Route::get('/digital-publications/{pubId}/{pubSlug}/{id}/{slug?}', [DigitalPublicationArticleController::class, 'show'])->name('collection.publications.digital-publications-articles.show'); // Collection Research From 17b864ae06d454e728d359d6e50240115bed8d04 Mon Sep 17 00:00:00 2001 From: nikhil trivedi Date: Fri, 12 Jul 2024 16:55:41 -0500 Subject: [PATCH 2/6] Add listing page for digital publications [PUB-205] --- .../DigitalPublicationsController.php | 13 ++++++++- frontend/scss/pages/_p-issue-show.scss | 6 ++-- .../site/digitalPublicationDetail.blade.php | 29 +++++++++++++++++-- routes/web.php | 2 +- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/DigitalPublicationsController.php b/app/Http/Controllers/DigitalPublicationsController.php index c6109fd2f..f7a8eb55c 100644 --- a/app/Http/Controllers/DigitalPublicationsController.php +++ b/app/Http/Controllers/DigitalPublicationsController.php @@ -37,6 +37,16 @@ public function index(Request $request) } public function show($id) + { + return $this->showDetail($id); + } + + public function showListing($id) + { + return $this->showDetail($id, true); + } + + private function showDetail($id, $showAll = false) { $item = $this->repository->published()->find((int) $id); @@ -48,7 +58,7 @@ public function show($id) abort(404); } - $canonicalPath = $item->present()->getCanonicalUrl(); + $canonicalPath = $item->present()->getCanonicalUrl() . ($showAll ? '/content' : ''); if ($canonicalRedirect = $this->getCanonicalRedirect($canonicalPath)) { return $canonicalRedirect; @@ -69,6 +79,7 @@ public function show($id) 'unstickyHeader' => true, 'canonicalUrl' => $canonicalPath, 'welcomeNote' => $this->repository->getWelcomeNote($item), + 'showAll' => $showAll, ]); } diff --git a/frontend/scss/pages/_p-issue-show.scss b/frontend/scss/pages/_p-issue-show.scss index 88da24dba..c1bd14bca 100644 --- a/frontend/scss/pages/_p-issue-show.scss +++ b/frontend/scss/pages/_p-issue-show.scss @@ -1,7 +1,8 @@ // This file contains styles for both journal issues and magazine issues .p-magazineissue-show, .p-magazineissue-latest, -.p-digitalpublications-show { +.p-digitalpublications-show, +.p-digitalpublications-showlisting { @extend %sticky-sidebar; .o-article__body { @@ -62,7 +63,8 @@ } } -.p-digitalpublications-show { +.p-digitalpublications-show, +.p-digitalpublications-showlisting { .o-article__body { margin-top: 40px; } diff --git a/resources/views/site/digitalPublicationDetail.blade.php b/resources/views/site/digitalPublicationDetail.blade.php index 52cd71a4c..cdd36794a 100644 --- a/resources/views/site/digitalPublicationDetail.blade.php +++ b/resources/views/site/digitalPublicationDetail.blade.php @@ -45,18 +45,18 @@ @component('components.molecules._m-title-bar', [ 'variation' => 'm-title-bar--compact m-title-bar--light', ]) - @slot('links', $topLevelArticle->children->count() > 0 ? ([['label' => 'Browse all '. $topLevelArticle->children->count(). ' '. $topLevelArticle->title, 'href' => route('collection.publications.digital-publications.showListing', ['id' => $item->id, 'slug' => $item->getSlug()]) . '#' . Str::kebab($topLevelArticle->title)]]) : '') + @slot('links', $topLevelArticle->children->count() > 0 && !$showAll ? ([['label' => 'Browse all '. $topLevelArticle->children->count(). ' '. $topLevelArticle->title, 'href' => route('collection.publications.digital-publications.showListing', ['id' => $item->id, 'slug' => $item->getSlug()]) . '#' . Str::kebab($topLevelArticle->title)]]) : '') {!! $topLevelArticle->title !!} @endcomponent @component('components.organisms._o-grid-listing') - @slot('variation', 'o-grid-listing--single-row o-grid-listing--scroll@xsmall o-grid-listing--scroll@small o-grid-listing--scroll@medium o-grid-listing--gridlines-cols') + @slot('variation', 'o-grid-listing--gridlines-cols o-grid-listing--gridlines-rows') @slot('cols_medium','3') @slot('cols_large','4') @slot('cols_xlarge','4') @foreach ($topLevelArticle->children as $article) - @if ($loop->iteration <= 3) + @if ($loop->iteration <= 3 || $showAll == true) @component('components.molecules._m-listing----article') @slot('imgVariation','') @slot('item', $article) @@ -75,6 +75,29 @@ )), )) @endcomponent + + + {{-- @component('components.molecules._m-listing----grid-item') + @slot('url', route('collection.publications.digital-publications-articles.show', ['pubId' => $item->id, 'pubSlug' => $item->getSlug(), 'id' => $article->id, 'slug' => $article->getSlug()])) + @slot('image', $article->imageAsArray('image', 'desktop')) + @slot('label', 'hello fix me') + @slot('labelPosition', 'description') + @slot('title', $article->title) + @slot('tag', 'tag tag tag') + @slot('description', $article->grouping_description ?? $article->list_description) + @slot('imageSettings', array( + 'fit' => 'crop', + 'ratio' => '16:9', + 'srcset' => array(200,400,600), + 'sizes' => ImageHelpers::aic_imageSizes(array( + 'xsmall' => '216px', + 'small' => '216px', + 'medium' => '18', + 'large' => '13', + 'xlarge' => '13', + )), + )) + @endcomponent --}} @endif @endforeach @endcomponent diff --git a/routes/web.php b/routes/web.php index 377adce2d..927a96ab4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -83,7 +83,7 @@ // Collection Publications Digital Publications Route::get('/digital-publications', [DigitalPublicationsController::class, 'index'])->name('collection.publications.digital-publications'); Route::get('/digital-publications/{id}/{slug?}', [DigitalPublicationsController::class, 'show'])->name('collection.publications.digital-publications.show'); -Route::get('/digital-publications/{id}/{slug?}/content', [DigitalPublicationsController::class, 'show'])->name('collection.publications.digital-publications.showListing'); +Route::get('/digital-publications/{id}/{slug?}/content', [DigitalPublicationsController::class, 'showListing'])->name('collection.publications.digital-publications.showListing'); Route::get('/digital-publications/{pubId}/{pubSlug}/{id}/{slug?}', [DigitalPublicationArticleController::class, 'show'])->name('collection.publications.digital-publications-articles.show'); // Collection Research From cb0a06ed6e5d6f41eb9de44e064c4c365f8d42cb Mon Sep 17 00:00:00 2001 From: nikhil trivedi Date: Mon, 15 Jul 2024 10:40:22 -0500 Subject: [PATCH 3/6] Delete commented out code [PUB-205] --- .../site/digitalPublicationDetail.blade.php | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/resources/views/site/digitalPublicationDetail.blade.php b/resources/views/site/digitalPublicationDetail.blade.php index cdd36794a..631b3f836 100644 --- a/resources/views/site/digitalPublicationDetail.blade.php +++ b/resources/views/site/digitalPublicationDetail.blade.php @@ -75,29 +75,6 @@ )), )) @endcomponent - - - {{-- @component('components.molecules._m-listing----grid-item') - @slot('url', route('collection.publications.digital-publications-articles.show', ['pubId' => $item->id, 'pubSlug' => $item->getSlug(), 'id' => $article->id, 'slug' => $article->getSlug()])) - @slot('image', $article->imageAsArray('image', 'desktop')) - @slot('label', 'hello fix me') - @slot('labelPosition', 'description') - @slot('title', $article->title) - @slot('tag', 'tag tag tag') - @slot('description', $article->grouping_description ?? $article->list_description) - @slot('imageSettings', array( - 'fit' => 'crop', - 'ratio' => '16:9', - 'srcset' => array(200,400,600), - 'sizes' => ImageHelpers::aic_imageSizes(array( - 'xsmall' => '216px', - 'small' => '216px', - 'medium' => '18', - 'large' => '13', - 'xlarge' => '13', - )), - )) - @endcomponent --}} @endif @endforeach @endcomponent From ac578722a4a344dfb45bcb7718cf9dbb4b6c8734 Mon Sep 17 00:00:00 2001 From: nikhil trivedi Date: Mon, 15 Jul 2024 10:53:05 -0500 Subject: [PATCH 4/6] Move browse all link construction to presenter [PUB-205] --- .../DigitalPublicationArticlePresenter.php | 19 +++++++++++++++++++ .../site/digitalPublicationDetail.blade.php | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/Presenters/Admin/DigitalPublicationArticlePresenter.php b/app/Presenters/Admin/DigitalPublicationArticlePresenter.php index b77991986..c370f4b62 100644 --- a/app/Presenters/Admin/DigitalPublicationArticlePresenter.php +++ b/app/Presenters/Admin/DigitalPublicationArticlePresenter.php @@ -2,6 +2,8 @@ namespace App\Presenters\Admin; + +use Illuminate\Support\Str; use App\Presenters\BasePresenter; class DigitalPublicationArticlePresenter extends BasePresenter @@ -37,6 +39,23 @@ public function getArticleUrl($digitalPublication, $article = null) ]); } + public function getBrowseMoreLink($showAll = false) + { + if ($this->entity->children->count() > 0 && !$showAll) { + return [ + [ + 'label' => 'Browse all '. $this->entity->children->count(). ' '. $this->entity->title, + 'href' => route('collection.publications.digital-publications.showListing', + [ + 'id' => $this->entity->digitalPublication->id, + 'slug' => $this->entity->digitalPublication->getSlug() + ]) . '#' . Str::kebab($this->entity->title) + ] + ]; + } + return ''; + } + public function references() { if (empty($this->entity->references)) { diff --git a/resources/views/site/digitalPublicationDetail.blade.php b/resources/views/site/digitalPublicationDetail.blade.php index 631b3f836..416603934 100644 --- a/resources/views/site/digitalPublicationDetail.blade.php +++ b/resources/views/site/digitalPublicationDetail.blade.php @@ -45,7 +45,7 @@ @component('components.molecules._m-title-bar', [ 'variation' => 'm-title-bar--compact m-title-bar--light', ]) - @slot('links', $topLevelArticle->children->count() > 0 && !$showAll ? ([['label' => 'Browse all '. $topLevelArticle->children->count(). ' '. $topLevelArticle->title, 'href' => route('collection.publications.digital-publications.showListing', ['id' => $item->id, 'slug' => $item->getSlug()]) . '#' . Str::kebab($topLevelArticle->title)]]) : '') + @slot('links', $topLevelArticle->present()->getBrowseMoreLink($showAll)) {!! $topLevelArticle->title !!} @endcomponent From 9923773c09296337b4cccb34bd4c0f6c8f1489e5 Mon Sep 17 00:00:00 2001 From: nikhil trivedi Date: Mon, 15 Jul 2024 10:55:28 -0500 Subject: [PATCH 5/6] Add prefix to TOC element ids to remove duplicate CSS IDs [PUB-205] --- .../views/components/organisms/_o-table-of-contents.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/components/organisms/_o-table-of-contents.blade.php b/resources/views/components/organisms/_o-table-of-contents.blade.php index 25b959979..4f2763421 100644 --- a/resources/views/components/organisms/_o-table-of-contents.blade.php +++ b/resources/views/components/organisms/_o-table-of-contents.blade.php @@ -2,7 +2,7 @@ @foreach ($items as $item) @if (count($item->children) > 0)

-