keyboard shortcuts

This commit is contained in:
ntr 2018-10-16 13:32:37 +11:00
parent 901dc28541
commit 3f42fd24fe
6 changed files with 26 additions and 4 deletions

View File

@ -15,6 +15,8 @@
"bulma-toast": "^1.2.0", "bulma-toast": "^1.2.0",
"docco": "^0.7.0", "docco": "^0.7.0",
"jdenticon": "^2.1.0", "jdenticon": "^2.1.0",
"key": "^0.1.11",
"keymaster": "^1.6.2",
"preact": "^8.3.1", "preact": "^8.3.1",
"preact-redux": "^2.0.3", "preact-redux": "^2.0.3",
"redux": "^4.0.0" "redux": "^4.0.0"

View File

@ -9,7 +9,7 @@ function CrypList({ cryps, activeItem, sendCombatPve, sendItemUse }) {
className="tile is-vertical box" className="tile is-vertical box"
style={activeItem ? { cursor: 'pointer' } : {}} style={activeItem ? { cursor: 'pointer' } : {}}
onClick={() => sendItemUse(cryp.id)} > onClick={() => sendItemUse(cryp.id)} >
<div className="tile is-vertical is-child"> <div className="tile is-child">
<div className="columns" > <div className="columns" >
<div className="column is-10"> <div className="column is-10">
<p className="title">{cryp.name}</p> <p className="title">{cryp.name}</p>

View File

@ -43,7 +43,7 @@ function renderLogin({ account, submitLogin }) {
<div className="field"> <div className="field">
<p className="control"> <p className="control">
<button <button
className="button is-dark" className="button inverted"
type="submit" type="submit"
onClick={() => submitLogin(details.name, details.password)}> onClick={() => submitLogin(details.name, details.password)}>
Login Login

18
client/src/keyboard.jsx Normal file
View File

@ -0,0 +1,18 @@
const key = require('keymaster');
const { connect } = require('preact-redux');
const actions = require('./actions');
console.log(key);
function setupKeys(store) {
store.subscribe(function mapKeys() {
const state = store.getState();
key.unbind('esc');
if (state.activeItem) {
key('esc', () => store.dispatch(actions.setActiveItem(null)));
}
});
}
module.exports = setupKeys;

View File

@ -6,6 +6,7 @@ const { createStore, combineReducers } = require('redux');
const reducers = require('./reducers'); const reducers = require('./reducers');
const actions = require('./actions'); const actions = require('./actions');
const setupKeys = require('./keyboard');
// const fizzyText = require('../lib/fizzy-text'); // const fizzyText = require('../lib/fizzy-text');
const createSocket = require('./socket'); const createSocket = require('./socket');
@ -25,6 +26,7 @@ const store = createStore(
); );
store.subscribe(() => console.log(store.getState())); store.subscribe(() => console.log(store.getState()));
setupKeys(store);
const ws = createSocket(store); const ws = createSocket(store);
store.dispatch(actions.setWs(ws)); store.dispatch(actions.setWs(ws));
@ -36,7 +38,6 @@ jdenticon.config = {
replaceMode: 'observe', replaceMode: 'observe',
}; };
const Cryps = () => ( const Cryps = () => (
<section> <section>
<Header /> <Header />

View File

@ -17,7 +17,8 @@
* offensive -> choose target * offensive -> choose target
* defensive * defensive
* Items * Items
* rez * rez ✔
* unselect item with esc + button
* Grid reroll * Grid reroll
* Colour scheme * Colour scheme
* Missions * Missions