Skip to content

Commit e88e94d

Browse files
authored
feat(partner): refactor partner block to use responsive logo images (#233)
- 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
1 parent 82e37f5 commit e88e94d

File tree

4 files changed

+42
-61
lines changed

4 files changed

+42
-61
lines changed

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

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,55 +1403,25 @@
14031403
position: absolute;
14041404
top: 0px;
14051405
left: 20px;
1406-
14071406

14081407
@include breakpoint-medium {
14091408
top: 40px;
14101409
left: 0;
14111410
}
14121411
}
14131412

1414-
.cs_partnership-box {
1415-
background-color: $white;
1416-
padding: 8px;
1417-
display: flex;
1418-
flex-direction: column;
1419-
align-items: center;
1420-
justify-content: center;
1421-
gap: 8px;
1422-
text-align: center;
1423-
1424-
@include breakpoint-medium {
1425-
width: 114px;
1426-
padding: 12px;
1427-
}
1428-
}
1429-
1430-
.cs_partnership-label {
1431-
display: flex;
1432-
flex-direction: column;
1433-
align-items: center;
1434-
}
1435-
1436-
.cs_partnership-text {
1437-
@include font-settings(9px, 100%, $font-weight-extra-bold);
1438-
color: $gray-500;
1439-
text-transform: uppercase;
1440-
1441-
@include breakpoint-medium {
1442-
@include font-settings(11px, 110%, $font-weight-extra-bold);
1443-
}
1413+
.cs_partnership-picture {
1414+
display: block;
14441415
}
14451416

14461417
.cs_partnership-logo {
1447-
max-width: 100%;
1448-
height: auto;
1449-
max-height: 36px;
1450-
width: auto;
1418+
width: 66px;
1419+
height: 66px;
14511420
object-fit: contain;
14521421
display: block;
14531422

14541423
@include breakpoint-medium {
1455-
max-height: 46px;
1424+
width: 140px;
1425+
height: 140px;
14561426
}
14571427
}

website/modules/business-partner/index.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,27 @@ module.exports = {
55
pluralLabel: 'Business Partners',
66
slugPrefix: 'business-partner-',
77
sort: {
8-
title: 1,
8+
createdAt: -1,
99
},
1010
shortcut: false,
1111
},
1212
fields: {
1313
add: {
14-
title: {
15-
label: 'Partner Name',
16-
type: 'string',
14+
partnerLogoMobile: {
15+
label: 'Partner Logo (Mobile)',
16+
type: 'area',
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',
1826
},
19-
partnerLogo: {
20-
label: 'Partner Logo',
27+
partnerLogoDesktop: {
28+
label: 'Partner Logo (Desktop)',
2129
type: 'area',
2230
required: true,
2331
options: {
@@ -27,6 +35,7 @@ module.exports = {
2735
'@apostrophecms/image': {},
2836
},
2937
},
38+
help: 'Upload 146px × 146px logo for desktop (≥ medium breakpoint)',
3039
},
3140
partnerWebsite: {
3241
label: 'Partner Website',
@@ -39,7 +48,7 @@ module.exports = {
3948
group: {
4049
basics: {
4150
label: 'Basics',
42-
fields: ['title', 'partnerLogo', 'partnerWebsite'],
51+
fields: ['partnerLogoMobile', 'partnerLogoDesktop', 'partnerWebsite'],
4352
},
4453
},
4554
},

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

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

135135
{% if data.piece._partner and data.piece._partner.length %}
136136
{% set partner = data.piece._partner[0] %}
137-
{% set partnerLogo = apos.image.first(partner.partnerLogo) %}
137+
{% set partnerLogoMobile = apos.image.first(partner.partnerLogoMobile) %}
138+
{% set partnerLogoDesktop = apos.image.first(partner.partnerLogoDesktop) %}
138139
{% if partner.partnerWebsite %}
139140
<a
140141
href="{{ partner.partnerWebsite }}"
141142
target="_blank"
142143
rel="noopener noreferrer"
143-
aria-label="Visit {{ partner.title or 'partner' }} website"
144+
aria-label="Visit partner website"
144145
class="cs_partnership"
145146
>
146147
{% else %}
147148
<div class="cs_partnership">
148149
{% endif %}
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>
155-
{% endif %}
156-
</div>
157-
{% if partnerLogo %}
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+
/>
157+
{% endif %}
158+
{% if partnerLogoMobile %}
158159
<img
159160
class="cs_partnership-logo"
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) }}"
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) }}"
164165
/>
165166
{% endif %}
166-
</div>
167+
</picture>
168+
{% endif %}
167169
{% if partner.partnerWebsite %}
168170
</a>
169171
{% 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,
6160
slug: 1,
62-
partnerLogo: 1,
61+
partnerLogoMobile: 1,
62+
partnerLogoDesktop: 1,
6363
partnerWebsite: 1,
6464
},
6565
},

0 commit comments

Comments
 (0)