sort cryp names

This commit is contained in:
ntr 2018-10-17 13:22:48 +11:00
parent 523840a101
commit 7d70a864fd
6 changed files with 69 additions and 44 deletions

View File

@ -1,39 +1,45 @@
module.exports = {
extends: [
'eslint:recommended',
'plugin:react/recommended',
],
env: {
"browser": true,
"node": true
},
parserOptions: {
"ecmaVersion": 6
},
rules: {
// prevents stupid complaints a la
// (req) {
// req.something = x;
// }
'no-param-reassign': [2, { props: false }],
'no-multi-spaces': [0],
'max-len': ['error', 120],
'import/no-extraneous-dependencies': [0],
'prefer-arrow-callback': [0],
'arrow-body-style': [0],
'no-return-assign': [2, 'except-parens'],
'no-console': [0],
// i like loops
'no-plusplus': [0],
'no-await-in-loop': [0],
'indent': ['error', 4],
// for preact
"react/react-in-jsx-scope": [0],
"react/jsx-indent": [2, 4],
"react/jsx-uses-react": 1,
"react/jsx-uses-vars": 1,
"react/prefer-stateless-function": 1,
"react/prop-types": 0
},
module.exports = {
extends: [
'eslint:recommended',
'plugin:react/recommended',
],
env: {
browser: true,
node: true
},
parserOptions: {
ecmaVersion: 6
},
settings: {
react: {
pragma: "preact",
version: "15.0",
}
},
rules: {
// prevents stupid complaints a la
// (req) {
// req.something = x;
// }
'no-param-reassign': [2, { props: false }],
'no-multi-spaces': [0],
'max-len': ['error', 120],
'import/no-extraneous-dependencies': [0],
'prefer-arrow-callback': [0],
'arrow-body-style': [0],
'no-return-assign': [2, 'except-parens'],
'no-console': [0],
// i like loops
'no-plusplus': [0],
'no-await-in-loop': [0],
'indent': ['error', 4],
// for preact
"react/react-in-jsx-scope": [0],
"react/jsx-indent": [2, 4],
"react/jsx-uses-react": 1,
"react/jsx-uses-vars": 1,
"react/prefer-stateless-function": 1,
"react/prop-types": 0
},
};

View File

@ -17,6 +17,7 @@
"jdenticon": "^2.1.0",
"key": "^0.1.11",
"keymaster": "^1.6.2",
"lodash": "^4.17.11",
"preact": "^8.3.1",
"preact-redux": "^2.0.3",
"redux": "^4.0.0"

View File

@ -1,9 +1,11 @@
// eslint-disable-next-line
const preact = require('preact');
const { stringSort } = require('./../utils');
const nameSort = stringSort('name');
function CrypList({ cryps, activeItem, sendCombatPve, sendItemUse }) {
if (!cryps) return <div>not ready</div>;
const crypPanels = cryps.map(cryp => (
const crypPanels = cryps.sort(nameSort).map(cryp => (
<div key={cryp.id}
className="tile is-vertical box"

View File

@ -1,4 +1,3 @@
// eslint-disable-next-line
const preact = require('preact');
function renderSpawnButton({ account, sendCrypSpawn }) {

View File

@ -1,9 +1,6 @@
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();

20
client/src/utils.jsx Normal file
View File

@ -0,0 +1,20 @@
const get = require('lodash/get');
const stringSort = (k, desc) => {
if (desc) {
return (a, b) => {
if (!get(a, k)) return 1;
if (!get(b, k)) return -1;
return get(b, k).localeCompare(get(a, k));
};
}
return (a, b) => {
if (!get(a, k)) return 1;
if (!get(b, k)) return -1;
return get(a, k).localeCompare(get(b, k));
};
};
module.exports = {
stringSort,
}