@eeacms/volto-eea-website-theme 4.3.7 → 4.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ ### [4.3.9](https://github.com/eea/volto-eea-website-theme/compare/4.3.8...4.3.9) - 23 June 2026
8
+
9
+ #### :bug: Bug Fixes
10
+
11
+ - fix: hydrate error pages with client scripts - refs #304005 [Teodor Voicu - [`39c5ab5`](https://github.com/eea/volto-eea-website-theme/commit/39c5ab5755c65bb8640abb76f9d72b054a256226)]
12
+
13
+ ### [4.3.8](https://github.com/eea/volto-eea-website-theme/compare/4.3.7...4.3.8) - 9 June 2026
14
+
15
+ #### :bug: Bug Fixes
16
+
17
+ - fix: Header images unsized CLS - refs #304010 [Alin Voinea - [`ce86b94`](https://github.com/eea/volto-eea-website-theme/commit/ce86b94ef5bd9095ba496ce91f0cfbdbe77996b0)]
18
+ - fix: Header images unsized CLS - refs #304010 [dobri1408 - [`7074063`](https://github.com/eea/volto-eea-website-theme/commit/7074063622e187e201d9cb36b2000b29387ec0dd)]
19
+
7
20
  ### [4.3.7](https://github.com/eea/volto-eea-website-theme/compare/4.3.6...4.3.7) - 6 June 2026
8
21
 
9
22
  #### :bug: Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-eea-website-theme",
3
- "version": "4.3.7",
3
+ "version": "4.3.9",
4
4
  "description": "@eeacms/volto-eea-website-theme: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -224,7 +224,13 @@ const EEAHeader = ({ pathname, token, items, history, navroot, subsite }) => {
224
224
  <Header menuItems={items}>
225
225
  <Header.TopHeader>
226
226
  <Header.TopItem className="official-union">
227
- <Image src={eeaFlag} alt="European Union flag"></Image>
227
+ <Image
228
+ src={eeaFlag}
229
+ alt="European Union flag"
230
+ width={34}
231
+ height={24}
232
+ style={{ aspectRatio: '34 / 24' }}
233
+ ></Image>
228
234
  <Header.TopDropdownMenu
229
235
  text="An official website of the European Union | How do you know?"
230
236
  tabletText="EEA information systems"
@@ -314,6 +320,16 @@ const EEAHeader = ({ pathname, token, items, history, navroot, subsite }) => {
314
320
  <Image
315
321
  src={subsite.subsite_logo.scales.mini.download}
316
322
  alt={subsite.title}
323
+ width={subsite.subsite_logo.scales.mini.width || 80}
324
+ height={subsite.subsite_logo.scales.mini.height || 80}
325
+ style={
326
+ (subsite.subsite_logo.scales.mini.width || 80) &&
327
+ (subsite.subsite_logo.scales.mini.height || 80)
328
+ ? {
329
+ aspectRatio: `${subsite.subsite_logo.scales.mini.width || 80} / ${subsite.subsite_logo.scales.mini.height || 80}`,
330
+ }
331
+ : undefined
332
+ }
317
333
  />
318
334
  ) : (
319
335
  subsite.title
@@ -180,6 +180,8 @@ describe('Header', () => {
180
180
  mini: {
181
181
  download:
182
182
  'http://localhost:8080/Plone/subsite_logo/@@images/image/mini',
183
+ width: 80,
184
+ height: 80,
183
185
  },
184
186
  },
185
187
  },
@@ -51,7 +51,15 @@ const LanguageSwitcher = ({ width, history }) => {
51
51
  className="item"
52
52
  text={`${language.toUpperCase()}`}
53
53
  mobileText={`${language.toUpperCase()}`}
54
- icon={<Image src={globeIcon} alt="language dropdown globe icon"></Image>}
54
+ icon={
55
+ <Image
56
+ src={globeIcon}
57
+ alt="language dropdown globe icon"
58
+ width={24}
59
+ height={24}
60
+ style={{ aspectRatio: '24 / 24' }}
61
+ />
62
+ }
55
63
  viewportWidth={width}
56
64
  >
57
65
  <ul
@@ -168,6 +168,7 @@ class Html extends Component {
168
168
  criticalCss ? (
169
169
  <>
170
170
  <script
171
+ nonce={nonce}
171
172
  dangerouslySetInnerHTML={{
172
173
  __html: CRITICAL_CSS_TEMPLATE,
173
174
  }}
@@ -204,15 +205,13 @@ class Html extends Component {
204
205
  charSet: 'UTF-8',
205
206
  })}
206
207
  {/* Add the crossorigin while in development */}
207
- {this.props.extractScripts !== false
208
- ? extractor.getScriptElements().map((elem) =>
209
- React.cloneElement(elem, {
210
- nonce: nonce,
211
- crossOrigin:
212
- process.env.NODE_ENV === 'production' ? undefined : 'true',
213
- }),
214
- )
215
- : ''}
208
+ {extractor.getScriptElements().map((elem) =>
209
+ React.cloneElement(elem, {
210
+ nonce: nonce,
211
+ crossOrigin:
212
+ process.env.NODE_ENV === 'production' ? undefined : 'true',
213
+ }),
214
+ )}
216
215
  </body>
217
216
  </html>
218
217
  );
@@ -336,10 +336,6 @@ server.get('/*', (req, res) => {
336
336
  nonce={nonce}
337
337
  markup={markup}
338
338
  store={store}
339
- extractScripts={
340
- config.settings.serverConfig.extractScripts?.errorPages ||
341
- process.env.NODE_ENV !== 'production'
342
- }
343
339
  criticalCss={readCriticalCss(req)}
344
340
  apiPath={res.locals.detectedHost || config.settings.apiPath}
345
341
  publicURL={
package/src/index.js CHANGED
@@ -174,10 +174,6 @@ const applyConfig = (config) => {
174
174
  // #160689 Redirect contact-form to contact-us
175
175
  config.settings.contactForm = '/contact';
176
176
 
177
- // Insert scripts on Error pages
178
- if (config.settings?.serverConfig?.extractScripts) {
179
- config.settings.serverConfig.extractScripts.errorPages = true;
180
- }
181
177
  // Set cloneData function for slate block, in order to change the uuids of fragments in the copy process
182
178
  if (config.blocks?.blocksConfig?.slate) {
183
179
  config.blocks.blocksConfig.slate.cloneData = (data) => {
package/src/index.test.js CHANGED
@@ -285,7 +285,9 @@ describe('applyConfig', () => {
285
285
 
286
286
  expect(config.settings.eea).toEqual(eea);
287
287
  expect(config.settings.contactForm).toBe('/contact');
288
- expect(config.settings.serverConfig.extractScripts.errorPages).toBe(true);
288
+ expect(
289
+ config.settings.serverConfig.extractScripts.errorPages,
290
+ ).toBeUndefined();
289
291
  expect(config.settings.showTags).toBe(false);
290
292
  expect(config.blocks.blocksConfig['teaser'].restricted).toBe(true);
291
293
  expect(config.blocks.blocksConfig['title'].restricted).toBe(false);