Skip to content

Commit

Permalink
Merge pull request #461 from art-institute-of-chicago/feature/digital…
Browse files Browse the repository at this point in the history
…-publication-listing

Add digital publication listing page [PUB-205]
  • Loading branch information
nikhiltri committed Jul 15, 2024
2 parents 90d6b5d + bb65a10 commit 43bf44b
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 6 deletions.
13 changes: 12 additions & 1 deletion app/Http/Controllers/DigitalPublicationsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand All @@ -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;
Expand All @@ -69,6 +79,7 @@ public function show($id)
'unstickyHeader' => true,
'canonicalUrl' => $canonicalPath,
'welcomeNote' => $this->repository->getWelcomeNote($item),
'showAll' => $showAll,
]);
}

Expand Down
20 changes: 20 additions & 0 deletions app/Presenters/Admin/DigitalPublicationArticlePresenter.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace App\Presenters\Admin;

use Illuminate\Support\Str;
use App\Presenters\BasePresenter;

class DigitalPublicationArticlePresenter extends BasePresenter
Expand Down Expand Up @@ -37,6 +38,25 @@ 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)) {
Expand Down
6 changes: 4 additions & 2 deletions frontend/scss/pages/_p-issue-show.scss
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down Expand Up @@ -62,7 +63,8 @@
}
}

.p-digitalpublications-show {
.p-digitalpublications-show,
.p-digitalpublications-showlisting {
.o-article__body {
margin-top: 40px;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
@foreach ($items as $item)
@if (count($item->children) > 0)
<h3>
<button id="{{ StringHelpers::getUtf8Slug($item->title) }}" class="o-accordion__trigger {{ $titleFont ?? 'f-list-3' }}" tabindex="0"{!! (isset($item->gtmAttributes)) ? ' '.$item->gtmAttributes.'' : '' !!} aria-expanded="{{ (isset($item->active) and $item->active) ? 'true' : 'false' }}">
<button id="toc-{{ StringHelpers::getUtf8Slug($item->title) }}" class="o-accordion__trigger {{ $titleFont ?? 'f-list-3' }}" tabindex="0"{!! (isset($item->gtmAttributes)) ? ' '.$item->gtmAttributes.'' : '' !!} aria-expanded="{{ (isset($item->active) and $item->active) ? 'true' : 'false' }}">
{!! $item->title !!}
<span class="o-accordion__trigger-icon">
<svg class="icon--plus"><use xlink:href="#icon--plus" /></svg>
Expand Down
5 changes: 3 additions & 2 deletions resources/views/site/digitalPublicationDetail.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,18 @@
@component('components.molecules._m-title-bar', [
'variation' => 'm-title-bar--compact m-title-bar--light',
])
@slot('links', $topLevelArticle->present()->getBrowseMoreLink($showAll))
{!! $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)
Expand Down
1 change: 1 addition & 0 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -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, '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
Expand Down

0 comments on commit 43bf44b

Please sign in to comment.