From 702c3e0c508d5e9b3bf9728ac295b54596f3cb9a Mon Sep 17 00:00:00 2001 From: Olivia Simonet <91660674+Olivia206@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:26:21 +0200 Subject: [PATCH] Ajustement des layouts du bloc de formations (#604) --- assets/sass/_theme/blocks/programs.sass | 122 +++++++++++------- assets/sass/_theme/utils/shame.sass | 2 +- .../partials/blocks/templates/programs.html | 23 +++- 3 files changed, 89 insertions(+), 58 deletions(-) diff --git a/assets/sass/_theme/blocks/programs.sass b/assets/sass/_theme/blocks/programs.sass index 130423bb..4bdc25a7 100644 --- a/assets/sass/_theme/blocks/programs.sass +++ b/assets/sass/_theme/blocks/programs.sass @@ -1,67 +1,89 @@ .block-programs - article - position: relative + .program + display: flex + &-diploma + @include meta + display: block + margin-bottom: $spacing-1 + margin-top: $spacing-1 + .media img + aspect-ratio: $block-programs-aspect-ratio + display: block + object-fit: cover + @include media-breakpoint-up(desktop) + &-content + align-items: baseline + display: flex &--list - .programs - li - align-items: start - gap: var(--grid-gutter) - .program-diploma - @include meta - display: block - margin-bottom: $spacing-1 - a - @include h3 - @include hover-translate-icon($fade: true) - @include icon(arrow-right-line, after, true) - display: inline - transition: color 0.55s - padding-right: $spacing-4 - &:hover - color: var(--color-accent) - @include media-breakpoint-down(desktop) + .program + align-items: start + .program-title a + @include hover-translate-icon($fade: true) + @include icon(arrow-right-line, after, true) + display: inline + transition: color 0.55s + &:hover + color: var(--color-accent) + @include media-breakpoint-down(desktop) + flex-direction: column-reverse + gap: $spacing-2 + .program-title a + align-items: baseline display: flex - flex-direction: column-reverse - gap: $spacing-2 - @include media-breakpoint-up(desktop) - .program-content - max-width: columns(9) - .media - flex-shrink: 0 - width: columns(2) - + &::after + opacity: 1 + @include media-breakpoint-up(desktop) + flex-direction: row-reverse + .program-content + flex: 1 + flex-wrap: wrap + .program-title + flex: 1 + .program-title, + [itemprop="abstract"] + min-width: columns(6) + .program-diploma + width: var(--grid-gutter) + text-align: center + .media + flex-shrink: 0 + margin-bottom: 0 + width: columns(2) + @include in-page-with-sidebar + .program-diploma + [itemprop="abstract"] + padding-right: var(--grid-gutter) + width: 100% @include in-page-without-sidebar - .programs li a + .program-title @include h2 - + [itemprop="abstract"] + width: columns(9) + .program-diploma + margin-left: offset(1) &--grid .programs-grid align-items: start @include grid(1, false, $spacing-5) @include grid(2, xl) - article - display: flex + .program flex-direction: column .program-content - order: 2 - &:hover - .more:after - transform: translateX($spacing-1) - [itemprop='name'] - margin-bottom: $spacing-1 - a - @include stretched-link - text-decoration: none - .more - @include icon(arrow-right-line, after, true) - @include hover-translate-icon + flex-direction: column + &:hover .more:after + transform: translateX($spacing-1) + .program-title + margin-bottom: $spacing-1 + order: -1 + .program-diploma + order: 0 + [itemprop='abstract'], + .more + order: 2 + .more + @include icon(arrow-right-line, after, true) + @include hover-translate-icon .media - order: 1 margin-bottom: $spacing-3 - img - aspect-ratio: $block-programs-aspect-ratio - display: block - object-fit: cover @include in-page-without-sidebar @include grid(2) @include grid(3, xl) diff --git a/assets/sass/_theme/utils/shame.sass b/assets/sass/_theme/utils/shame.sass index 95daa94a..338fd6bf 100644 --- a/assets/sass/_theme/utils/shame.sass +++ b/assets/sass/_theme/utils/shame.sass @@ -59,7 +59,7 @@ @mixin article-title @include h3 a - @include stretched-link + @include stretched-link(before) display: block text-decoration: none diff --git a/layouts/partials/blocks/templates/programs.html b/layouts/partials/blocks/templates/programs.html index 63f063db..b922badf 100644 --- a/layouts/partials/blocks/templates/programs.html +++ b/layouts/partials/blocks/templates/programs.html @@ -2,7 +2,7 @@ {{ $block_class := partial "GetBlockClass" .block }} {{ $heading := .heading | default "h3" }} {{ $heading_tag := (dict - "open" ((printf "<%s itemprop='name'>" $heading) | safeHTML) + "open" ((printf "<%s class='program-title' itemprop='name'>" $heading) | safeHTML) "close" ((printf "</%s>" $heading) | safeHTML) ) }} @@ -18,12 +18,11 @@ )}} {{ if eq $block.data.layout "grid" }} - <div class="programs-grid"> {{ range .programs }} {{ $program := site.GetPage (printf "/programs%s" .path) }} {{ $title := $program.Title | safeHTML }} - <article itemscope itemtype="https://schema.org/EducationalOccupationalProgram"> + <article class="program" itemscope itemtype="https://schema.org/EducationalOccupationalProgram"> <div class="program-content"> {{ $heading_tag.open }} <a href="{{ $program.Permalink }}" itemtype="url" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}"> @@ -38,6 +37,14 @@ {{ end }} <p class="more meta" aria-hidden="true">{{ i18n "commons.more" }}</p> + + {{ $diploma := $program.Params.diplomas }} + {{ if and $options.diploma $diploma }} + {{- $diploma = site.GetPage (printf "/diplomas/%s" $diploma) -}} + {{- with $diploma -}} + <span class="program-diploma">{{ partial "PrepareHTML" .Params.short_name }}</span> + {{- end -}} + {{ end }} </div> {{ if and $program.Params.image $options.image }} @@ -58,13 +65,15 @@ <ol class="programs"> {{ range .programs }} - <li> + <li class="program"> {{ $program := site.GetPage (printf "/programs%s" .path) }} <div class="program-content"> {{ $title := partial "PrepareHTML" $program.Title }} - <a href="{{ $program.Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}"> - {{- $title -}} - </a> + {{ $heading_tag.open }} + <a href="{{ $program.Permalink }}" itemtype="url" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}"> + {{ $title }} + </a> + {{ $heading_tag.close }} {{ $diploma := $program.Params.diplomas }} {{ if and $options.diploma $diploma }} -- GitLab