From 911c52ce4f8dbef8976fe38394d522d81eacee2d Mon Sep 17 00:00:00 2001 From: Ihor Masechko Date: Thu, 25 Dec 2025 20:17:01 +0200 Subject: [PATCH] feat(partner): refactor partner block to use responsive logo images - Remove title field from business-partner module - Replace single partnerLogo with separate mobile/desktop logos (66px/146px) - Remove partnership text labels from case study display - Simplify partner block styling to show only logo images - Update case studies builders to use new logo fields --- website/modules/asset/ui/src/scss/_cases.scss | 42 +++---------------- website/modules/business-partner/index.js | 23 ++++++---- .../modules/case-studies-page/views/show.html | 34 ++++++++------- website/modules/case-studies/index.js | 4 +- 4 files changed, 42 insertions(+), 61 deletions(-) diff --git a/website/modules/asset/ui/src/scss/_cases.scss b/website/modules/asset/ui/src/scss/_cases.scss index cf31c26a..72734137 100644 --- a/website/modules/asset/ui/src/scss/_cases.scss +++ b/website/modules/asset/ui/src/scss/_cases.scss @@ -1403,7 +1403,6 @@ position: absolute; top: 0px; left: 20px; - @include breakpoint-medium { top: 40px; @@ -1411,47 +1410,18 @@ } } -.cs_partnership-box { - background-color: $white; - padding: 8px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - gap: 8px; - text-align: center; - - @include breakpoint-medium { - width: 114px; - padding: 12px; - } -} - -.cs_partnership-label { - display: flex; - flex-direction: column; - align-items: center; -} - -.cs_partnership-text { - @include font-settings(9px, 100%, $font-weight-extra-bold); - color: $gray-500; - text-transform: uppercase; - - @include breakpoint-medium { - @include font-settings(11px, 110%, $font-weight-extra-bold); - } +.cs_partnership-picture { + display: block; } .cs_partnership-logo { - max-width: 100%; - height: auto; - max-height: 36px; - width: auto; + width: 66px; + height: 66px; object-fit: contain; display: block; @include breakpoint-medium { - max-height: 46px; + width: 140px; + height: 140px; } } diff --git a/website/modules/business-partner/index.js b/website/modules/business-partner/index.js index e18bbfeb..5b92beaf 100644 --- a/website/modules/business-partner/index.js +++ b/website/modules/business-partner/index.js @@ -5,19 +5,27 @@ module.exports = { pluralLabel: 'Business Partners', slugPrefix: 'business-partner-', sort: { - title: 1, + createdAt: -1, }, shortcut: false, }, fields: { add: { - title: { - label: 'Partner Name', - type: 'string', + partnerLogoMobile: { + label: 'Partner Logo (Mobile)', + type: 'area', required: true, + options: { + max: 1, + min: 1, + widgets: { + '@apostrophecms/image': {}, + }, + }, + help: 'Upload 66px × 66px logo for mobile/default view', }, - partnerLogo: { - label: 'Partner Logo', + partnerLogoDesktop: { + label: 'Partner Logo (Desktop)', type: 'area', required: true, options: { @@ -27,6 +35,7 @@ module.exports = { '@apostrophecms/image': {}, }, }, + help: 'Upload 146px × 146px logo for desktop (≥ medium breakpoint)', }, partnerWebsite: { label: 'Partner Website', @@ -39,7 +48,7 @@ module.exports = { group: { basics: { label: 'Basics', - fields: ['title', 'partnerLogo', 'partnerWebsite'], + fields: ['partnerLogoMobile', 'partnerLogoDesktop', 'partnerWebsite'], }, }, }, diff --git a/website/modules/case-studies-page/views/show.html b/website/modules/case-studies-page/views/show.html index 2618b05c..f4cf139c 100644 --- a/website/modules/case-studies-page/views/show.html +++ b/website/modules/case-studies-page/views/show.html @@ -134,36 +134,38 @@ {% if data.piece._partner and data.piece._partner.length %} {% set partner = data.piece._partner[0] %} - {% set partnerLogo = apos.image.first(partner.partnerLogo) %} + {% set partnerLogoMobile = apos.image.first(partner.partnerLogoMobile) %} + {% set partnerLogoDesktop = apos.image.first(partner.partnerLogoDesktop) %} {% if partner.partnerWebsite %} {% else %}
{% endif %} -
-
- In partnership - with - {% if partner.title %} - {{ partner.title }} - {% endif %} -
- {% if partnerLogo %} + {% if partnerLogoMobile or partnerLogoDesktop %} + + {% if partnerLogoDesktop %} + + {% endif %} + {% if partnerLogoMobile %} {% endif %} -
+ + {% endif %} {% if partner.partnerWebsite %}
{% else %} diff --git a/website/modules/case-studies/index.js b/website/modules/case-studies/index.js index 69a74614..f8c5fef5 100644 --- a/website/modules/case-studies/index.js +++ b/website/modules/case-studies/index.js @@ -57,9 +57,9 @@ module.exports = { max: 1, builders: { project: { - title: 1, slug: 1, - partnerLogo: 1, + partnerLogoMobile: 1, + partnerLogoDesktop: 1, partnerWebsite: 1, }, },