]> git.cworth.org Git - lmno.games/blobdiff - scribe/scribe.jsx
Don't waste space for glyphs that are not full height.
[lmno.games] / scribe / scribe.jsx
index 7b68ff05afe8ac16d78b74d6b74d49b7f4fe73cf..3caf03c87d313ab3e582bfc68bb0da020143c6dd 100644 (file)
@@ -169,6 +169,16 @@ function Glyph(props) {
 
   const glyph_dots = [];
 
 
   const glyph_dots = [];
 
+  let last_square = 0;
+  for (let i = 0; i < 9; i++) {
+    if (props.squares[i])
+      last_square = i;
+  }
+
+  const height = Math.floor(20 * (Math.floor(last_square / 3) + 1));
+
+  const viewbox=`0 0 60 ${height}`;
+
   for (let row = 0; row < 3; row++) {
     for (let col = 0; col < 3; col++) {
       if (props.squares[3 * row + col]) {
   for (let row = 0; row < 3; row++) {
     for (let col = 0; col < 3; col++) {
       if (props.squares[3 * row + col]) {
@@ -176,6 +186,7 @@ function Glyph(props) {
         let cx = 10 + 20 * col;
         glyph_dots.push(
           <circle
         let cx = 10 + 20 * col;
         glyph_dots.push(
           <circle
+            key={3 * row + col}
             cx={cx}
             cy={cy}
             r="8"
             cx={cx}
             cy={cy}
             r="8"
@@ -188,7 +199,7 @@ function Glyph(props) {
   return (<div className="glyph-and-name">
             {props.name}
             <div className="glyph">
   return (<div className="glyph-and-name">
             {props.name}
             <div className="glyph">
-              <svg viewBox="0 0 60 60">
+              <svg viewBox={viewbox}>
                 <g fill="#287789">
                   {glyph_dots}
                 </g>
                 <g fill="#287789">
                   {glyph_dots}
                 </g>