Move SSD page dialog checks to typed Kotlin

ober

fccad6143637953d2c5559d94df8597d87a7523d

diff --git a/templates/ssd-review.ss b/templates/ssd-review.ss
index ab1b5d3..3ca438f 100644
--- a/templates/ssd-review.ss
+++ b/templates/ssd-review.ss
@@ -4382,6 +4382,7 @@
                 requestIsSyncTree requestIsReadStorage
                 clampPageIndex shiftPageIndex displayGroupCanvasLabel
                 dropdownHeight dialogPageNumber dialogPageNumberText
+                nullablePageNumberPresent nullablePageNumberOrOne
                 pageNumberText sessionIdFromUuid nullableLowercaseOrEmpty
                 selectModeStatus selectionResultStatus detectStartStatus
                 detectorSourceWithTruth detectionTruthNote detectionOcrNote
@@ -5185,6 +5186,12 @@
         (def (dialogPageNumberText (text : String)
                                    (pageCount : Int32)) : (Nullable Int32)
           (dialogPageNumber (string->int32-or-null text) pageCount))
+        (def (nullablePageNumberPresent (page : (Nullable Int32))) : Bool
+          (not (nullable-null? page)))
+        (def (nullablePageNumberOrOne (page : (Nullable Int32))) : Int32
+          (if (nullable-null? page)
+            (int32 1)
+            (nullable-get page)))
         (def (pageNumberText (pageIndex : Int32)) : String
           (int32->string (+ pageIndex (int32 1))))
         (def (sessionIdFromUuid (uuid : String)) : String
@@ -6589,8 +6596,9 @@
        "            .setView(input)"
        "            .setNegativeButton(\"Cancel\", null)"
        "            .setPositiveButton(\"Load\") { _, _ ->"
-       "                val page = dialogPageNumberText(input.text.toString(), pageCount) ?: return@setPositiveButton"
-       "                pageIndex = page - 1"
+       "                val page = dialogPageNumberText(input.text.toString(), pageCount)"
+       "                if (!nullablePageNumberPresent(page)) return@setPositiveButton"
+       "                pageIndex = nullablePageNumberOrOne(page) - 1"
        "                renderCurrentPage()"
        "            }"
 	       "            .show()"