From d1f73dd375258ff462d647933e288f44dad5b255 Mon Sep 17 00:00:00 2001
From: Jack Reed <phillipjreed@gmail.com>
Date: Mon, 27 Apr 2020 13:20:03 -0600
Subject: [PATCH] Add a level 0 page, and guard against a manifest not having a
 service

---
 __tests__/integration/mirador/level0.html | 27 +++++++++++++++++++++++
 src/lib/ManifestoCanvas.js                |  2 +-
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 __tests__/integration/mirador/level0.html

diff --git a/__tests__/integration/mirador/level0.html b/__tests__/integration/mirador/level0.html
new file mode 100644
index 000000000..5a4786376
--- /dev/null
+++ b/__tests__/integration/mirador/level0.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <meta name="theme-color" content="#000000">
+    <title>Mirador - Level 0</title>
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500">
+  </head>
+  <body>
+    <div id="mirador" style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;"></div>
+    <script>document.write("<script type='text/javascript' src='../../../dist/mirador.min.js?v=" + Date.now() + "'><\/script>");</script>
+    <script type="text/javascript">
+     var miradorInstance = Mirador.viewer({
+       id: 'mirador',
+       windows: [
+       {
+         manifestId: 'https://iiif.io/api/presentation/2.1/example/fixtures/1/manifest.json',
+       },
+       {
+         manifestId: 'https://preview.iiif.io/cookbook/master/recipe/0001-mvm-image/manifest.json',
+       }
+      ],
+     });
+    </script>
+  </body>
+</html>
diff --git a/src/lib/ManifestoCanvas.js b/src/lib/ManifestoCanvas.js
index c6191ef57..f9d2b3bba 100644
--- a/src/lib/ManifestoCanvas.js
+++ b/src/lib/ManifestoCanvas.js
@@ -169,7 +169,7 @@ export default class ManifestoCanvas {
   imageInformationUri(resourceId) {
     const image = this.getImageResourceOrDefault(resourceId);
 
-    const imageId = image && image.getServices()[0].id;
+    const imageId = image && image.getServices()[0] && image.getServices()[0].id;
 
     if (!imageId) return undefined;
 
-- 
GitLab