summaryrefslogtreecommitdiff
path: root/app/client/common/buttonGrid.component.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/client/common/buttonGrid.component.js')
-rw-r--r--app/client/common/buttonGrid.component.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/client/common/buttonGrid.component.js b/app/client/common/buttonGrid.component.js
new file mode 100644
index 0000000..4b86d62
--- /dev/null
+++ b/app/client/common/buttonGrid.component.js
@@ -0,0 +1,32 @@
+import { h, Component } from 'preact'
+
+export default function ButtonGrid(props) {
+ const max = props.max || Infinity
+ return (
+ <table className='buttonGrid'>
+ <tr className='row'>
+ <th>{" "}</th>
+ {props.x.map(x => (
+ <th>{x}</th>
+ ))}
+ </tr>
+ {props.y.map(y => (
+ <tr className='row'>
+ <th>{y}</th>
+ {props.x.map(x => (
+ <td>
+ {x * y > max ? " " :
+ <button
+ onClick={() => props.onClick(x, y)}
+ onMouseEnter={() => props.onHover(x, y)}
+ >
+ {" "}
+ </button>
+ }
+ </td>
+ ))}
+ </tr>
+ ))}
+ </table>
+ )
+}