keyboard shortcuts
This commit is contained in:
parent
901dc28541
commit
3f42fd24fe
@ -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"
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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
18
client/src/keyboard.jsx
Normal 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;
|
||||||
@ -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 />
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user