+
+
onPageChange(pageIndex - 1)}
+ />
+ {/* Remounts when the page changes, so the box shows the new page. */}
+
+ = pageCount - 1}
+ onClick={() => onPageChange(pageIndex + 1)}
+ />
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/frontend/src/v1/hooks/useElementSize.ts b/frontend/src/v1/hooks/useElementSize.ts
new file mode 100644
index 0000000000..e2410696ac
--- /dev/null
+++ b/frontend/src/v1/hooks/useElementSize.ts
@@ -0,0 +1,40 @@
+import { useCallback, useEffect, useState } from "react";
+
+export interface ElementSize {
+ width: number;
+ height: number;
+}
+
+/**
+ * An element's content-box size, kept current with a ResizeObserver. Returns a
+ * ref for the element and its size, null until it has been measured.
+ */
+export function useElementSize