Skip to content

Commit 75b3a2f

Browse files
authored
[966] simplify partner logo system and add partnership label (#247)
refactor: simplify partner logo system and add partnership label - Replace separate mobile/desktop logo fields with single responsive logo - Add partner name field and display 'In partnership with' label - Make partnership section clickable when partner website is available - Update logo styling to use responsive max dimensions instead of fixed sizes - Change partner sorting to alphabetical by title
1 parent b29d8d1 commit 75b3a2f

4 files changed

Lines changed: 61 additions & 41 deletions

File tree

website/modules/asset/ui/src/scss/_cases.scss

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,18 +1413,49 @@
14131413
}
14141414
}
14151415

1416-
.cs_partnership-picture {
1417-
display: block;
1416+
.cs_partnership-box {
1417+
background-color: $white;
1418+
padding: 8px;
1419+
display: flex;
1420+
flex-direction: column;
1421+
align-items: center;
1422+
justify-content: space-between;
1423+
text-align: center;
1424+
width: 66px;
1425+
height: 66px;
1426+
1427+
@include breakpoint-medium {
1428+
width: 146px;
1429+
height: 146px;
1430+
padding: 20px 10px;
1431+
}
1432+
}
1433+
1434+
.cs_partnership-label {
1435+
display: flex;
1436+
flex-direction: column;
1437+
align-items: center;
1438+
}
1439+
1440+
.cs_partnership-text {
1441+
@include font-settings(6px, 100%, $font-weight-extra-bold);
1442+
color: $gray-500;
1443+
text-transform: uppercase;
1444+
1445+
@include breakpoint-medium {
1446+
@include font-settings(14px, 100%, $font-weight-extra-bold);
1447+
}
14181448
}
14191449

14201450
.cs_partnership-logo {
1421-
width: 66px;
1422-
height: 66px;
1451+
max-width: 100%;
1452+
height: auto;
1453+
max-height: 20px;
1454+
width: auto;
14231455
object-fit: contain;
14241456
display: block;
14251457

14261458
@include breakpoint-medium {
1427-
width: 140px;
1428-
height: 140px;
1459+
max-height: 40px;
14291460
}
14301461
}

website/modules/business-partner/index.js

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,19 @@ module.exports = {
55
pluralLabel: 'Business Partners',
66
slugPrefix: 'business-partner-',
77
sort: {
8-
createdAt: -1,
8+
title: 1,
99
},
1010
shortcut: false,
1111
},
1212
fields: {
1313
add: {
14-
partnerLogoMobile: {
15-
label: 'Partner Logo (Mobile)',
16-
type: 'area',
14+
title: {
15+
label: 'Partner Name',
16+
type: 'string',
1717
required: true,
18-
options: {
19-
max: 1,
20-
min: 1,
21-
widgets: {
22-
'@apostrophecms/image': {},
23-
},
24-
},
25-
help: 'Upload 66px × 66px logo for mobile/default view',
2618
},
27-
partnerLogoDesktop: {
28-
label: 'Partner Logo (Desktop)',
19+
partnerLogo: {
20+
label: 'Partner Logo',
2921
type: 'area',
3022
required: true,
3123
options: {
@@ -35,7 +27,6 @@ module.exports = {
3527
'@apostrophecms/image': {},
3628
},
3729
},
38-
help: 'Upload 146px × 146px logo for desktop (≥ medium breakpoint)',
3930
},
4031
partnerWebsite: {
4132
label: 'Partner Website',
@@ -48,7 +39,7 @@ module.exports = {
4839
group: {
4940
basics: {
5041
label: 'Basics',
51-
fields: ['partnerLogoMobile', 'partnerLogoDesktop', 'partnerWebsite'],
42+
fields: ['title', 'partnerLogo', 'partnerWebsite'],
5243
},
5344
},
5445
},

website/modules/case-studies-page/views/show.html

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -134,38 +134,36 @@
134134

135135
{% if data.piece._partner and data.piece._partner.length %}
136136
{% set partner = data.piece._partner[0] %}
137-
{% set partnerLogoMobile = apos.image.first(partner.partnerLogoMobile) %}
138-
{% set partnerLogoDesktop = apos.image.first(partner.partnerLogoDesktop) %}
137+
{% set partnerLogo = apos.image.first(partner.partnerLogo) %}
139138
{% if partner.partnerWebsite %}
140139
<a
141140
href="{{ partner.partnerWebsite }}"
142141
target="_blank"
143142
rel="noopener noreferrer"
144-
aria-label="Visit partner website"
143+
aria-label="Visit {{ partner.title or 'partner' }} website"
145144
class="cs_partnership"
146145
>
147146
{% else %}
148147
<div class="cs_partnership">
149148
{% endif %}
150-
{% if partnerLogoMobile or partnerLogoDesktop %}
151-
<picture class="cs_partnership-picture">
152-
{% if partnerLogoDesktop %}
153-
<source
154-
media="(min-width: 768px)"
155-
srcset="{{ apos.attachment.url(partnerLogoDesktop, { size: 'full' }) }}"
156-
/>
149+
<div class="cs_partnership-box">
150+
<div class="cs_partnership-label">
151+
<span class="cs_partnership-text">In partnership</span>
152+
<span class="cs_partnership-text">with</span>
153+
{% if partner.title %}
154+
<span class="cs_partnership-text">{{ partner.title }}</span>
157155
{% endif %}
158-
{% if partnerLogoMobile %}
156+
</div>
157+
{% if partnerLogo %}
159158
<img
160159
class="cs_partnership-logo"
161-
src="{{ apos.attachment.url(partnerLogoMobile, { size: 'full' }) }}"
162-
alt="{{ partnerLogoMobile._alt or 'Partner logo' }}"
163-
width="{{ apos.attachment.getWidth(partnerLogoMobile) }}"
164-
height="{{ apos.attachment.getHeight(partnerLogoMobile) }}"
160+
src="{{ apos.attachment.url(partnerLogo, { size: 'full' }) }}"
161+
alt="{{ partnerLogo._alt or partner.title or '' }}"
162+
width="{{ apos.attachment.getWidth(partnerLogo) }}"
163+
height="{{ apos.attachment.getHeight(partnerLogo) }}"
165164
/>
166165
{% endif %}
167-
</picture>
168-
{% endif %}
166+
</div>
169167
{% if partner.partnerWebsite %}
170168
</a>
171169
{% else %}

website/modules/case-studies/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ module.exports = {
5757
max: 1,
5858
builders: {
5959
project: {
60+
title: 1,
6061
slug: 1,
61-
partnerLogoMobile: 1,
62-
partnerLogoDesktop: 1,
62+
partnerLogo: 1,
6363
partnerWebsite: 1,
6464
},
6565
},

0 commit comments

Comments
 (0)