From 800504e1fd7dacf76448292f7a9f83e38984d58c Mon Sep 17 00:00:00 2001 From: Kushagra Gour Date: Sat, 30 Jun 2018 11:07:55 +0530 Subject: [PATCH 01/25] add basic Js13kgames mode --- package.json | 1 + src/components/Footer.jsx | 179 +++++++++++++++++++++------------- src/components/Js13KModal.jsx | 74 ++++++++++++++ src/components/Modal.jsx | 4 +- src/components/Settings.jsx | 8 ++ src/components/app.jsx | 154 ++++++++++++++++++++++++++++- src/style.css | 15 ++- src/utils.js | 2 +- yarn.lock | 45 ++++++++- 9 files changed, 408 insertions(+), 74 deletions(-) create mode 100644 src/components/Js13KModal.jsx diff --git a/package.json b/package.json index 80e84f9..ff6b539 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "copy-webpack-plugin": "^4.5.1", "esprima": "^4.0.0", "firebase": "^5.0.4", + "jszip": "^3.1.5", "preact": "^8.2.6", "preact-compat": "^3.17.0", "preact-portal": "^1.1.3", diff --git a/src/components/Footer.jsx b/src/components/Footer.jsx index 7923280..26e5e2d 100644 --- a/src/components/Footer.jsx +++ b/src/components/Footer.jsx @@ -1,6 +1,41 @@ import { h, Component } from 'preact'; import { Button } from './common'; +class JS13K extends Component { + constructor(props) { + super(props); + const compoDate = new Date('August 13 2018 11:00 GMT'); + var now = new Date(); + var daysLeft; + if (+compoDate > +now) { + daysLeft = Math.floor((compoDate - now) / 1000 / 3600 / 24); + } + this.setState({ + daysLeft + }); + } + + render() { + return ( +
+ JS13K Games logo{' '} + +
10 ? 'crimson' : 'limegreen' + }} + > + {(this.props.codeSize / 1024).toFixed(2)} KB/ 13KB +
+
+ ); + } +} + export default class Footer extends Component { constructor(props) { super(props); @@ -15,7 +50,83 @@ export default class Footer extends Component { render() { return (