From 3f87d91f366dc48061518fb102e051f2c85bfc9b Mon Sep 17 00:00:00 2001 From: Determinant Date: Tue, 9 Apr 2019 01:57:58 -0400 Subject: finish the prototype --- src/Grid.tsx | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) (limited to 'src/Grid.tsx') diff --git a/src/Grid.tsx b/src/Grid.tsx index 65cf2ec..f68c550 100644 --- a/src/Grid.tsx +++ b/src/Grid.tsx @@ -1,17 +1,57 @@ import React from 'react'; import 'typeface-roboto'; import MGrid from '@material-ui/core/Grid'; +import orange from '@material-ui/core/colors/orange'; +import blue from '@material-ui/core/colors/blue'; +import { Theme, withStyles, StyleRules } from '@material-ui/core/styles'; +import Color from 'color'; +const styles = (theme: Theme): StyleRules => ({ + gridRow: { + height: 24, + textAlign: 'center' + }, + gridCell: { + height: 20, + width: 20, + margin: 2, + display: 'inline-block' + } +}); interface GridProps { - classes: {} + classes: { + gridRow: string, + gridCell: string + }, + data: {d: number[], col: number}[][] } class Grid extends React.Component { + static getColor(s: {d: number[], col: number}) { + const color = [orange[300], blue[300]]; + let {d, col} = s; + return Color(color[col]).darken(Math.min(d[col] / 10, 0.6)).hex(); + } render() { - const { classes } = this.props; - return (
); + const { classes, data } = this.props; + return ( +
+ { + data.map((row, i) => ( +
+ { + row.map((cell, j) => ( +
+
+ )) + } +
+ )) + } +
+ ); } } -export default Grid; +export default withStyles(styles)(Grid); -- cgit v1.2.3