From b88cb7b1a7a668d2fdf347a1cb42e97946268589 Mon Sep 17 00:00:00 2001
From: Chris Beer <chris@cbeer.info>
Date: Tue, 27 Apr 2021 17:28:37 -0700
Subject: [PATCH] Pass any additional props through  MiradorView#props to the
 App component

---
 __tests__/src/lib/MiradorViewer.test.js | 10 ++++++++++
 src/lib/MiradorViewer.js                |  4 ++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/__tests__/src/lib/MiradorViewer.test.js b/__tests__/src/lib/MiradorViewer.test.js
index 267551c34..f3f2702b6 100644
--- a/__tests__/src/lib/MiradorViewer.test.js
+++ b/__tests__/src/lib/MiradorViewer.test.js
@@ -1,4 +1,5 @@
 import ReactDOM from 'react-dom';
+import { shallow } from 'enzyme';
 import MiradorViewer from '../../../src/lib/MiradorViewer';
 
 jest.unmock('react-i18next');
@@ -104,6 +105,15 @@ describe('MiradorViewer', () => {
       }));
     });
   });
+
+  describe('render', () => {
+    it('passes props through to the App component', () => {
+      const rendered = shallow(instance.render({ some: 'prop' }));
+      expect(rendered.find('App').length).toBe(1);
+      expect(rendered.find('App').prop('some')).toBe('prop');
+    });
+  });
+
   describe('unmount', () => {
     it('unmounts via ReactDOM', () => {
       instance.unmount();
diff --git a/src/lib/MiradorViewer.js b/src/lib/MiradorViewer.js
index c6d6da638..c9238b84d 100644
--- a/src/lib/MiradorViewer.js
+++ b/src/lib/MiradorViewer.js
@@ -28,10 +28,10 @@ class MiradorViewer {
   /**
    * Render the mirador viewer
    */
-  render() {
+  render(props = {}) {
     return (
       <Provider store={this.store}>
-        <HotApp plugins={this.plugins} />
+        <HotApp plugins={this.plugins} {...props} />
       </Provider>
     );
   }
-- 
GitLab