Просмотр исходного кода

Merge branch 'feat/add-stuff-credit-bug' into add-react-hotkey

# Conflicts:
#	package.json
#	src/client/js/components/StaffCredit/Contributor.js
#	src/client/js/components/StaffCredit/StaffCredit.jsx
shinoka7 6 лет назад
Родитель
Сommit
722464466c

+ 1 - 0
config/logger/config.dev.js

@@ -30,4 +30,5 @@ module.exports = {
    */
    */
   'growi:app': 'debug',
   'growi:app': 'debug',
   'growi:services:*': 'debug',
   'growi:services:*': 'debug',
+  'growi:StaffCredit': 'debug',
 };
 };

+ 2 - 2
package.json

@@ -60,14 +60,15 @@
     "webpack": "webpack"
     "webpack": "webpack"
   },
   },
   "dependencies": {
   "dependencies": {
+    "//": "see https://github.com/parshap/check-node-version/issues/35",
     "async": "^3.0.1",
     "async": "^3.0.1",
     "aws-sdk": "^2.88.0",
     "aws-sdk": "^2.88.0",
     "axios": "^0.19.0",
     "axios": "^0.19.0",
+    "babel-plugin-transform-decorators-legacy": "^1.3.5",
     "basic-auth-connect": "~1.0.0",
     "basic-auth-connect": "~1.0.0",
     "body-parser": "^1.18.2",
     "body-parser": "^1.18.2",
     "bunyan": "^1.8.12",
     "bunyan": "^1.8.12",
     "bunyan-format": "^0.2.1",
     "bunyan-format": "^0.2.1",
-    "//": "see https://github.com/parshap/check-node-version/issues/35",
     "check-node-version": "=3.3.0",
     "check-node-version": "=3.3.0",
     "connect-flash": "~0.1.1",
     "connect-flash": "~0.1.1",
     "connect-mongo": "^2.0.1",
     "connect-mongo": "^2.0.1",
@@ -120,7 +121,6 @@
     "passport-twitter": "^1.0.4",
     "passport-twitter": "^1.0.4",
     "react-dropzone": "^10.1.3",
     "react-dropzone": "^10.1.3",
     "react-hotkeys": "^1.1.4",
     "react-hotkeys": "^1.1.4",
-    "react-keydown": "^1.9.8",
     "rimraf": "^2.6.1",
     "rimraf": "^2.6.1",
     "slack-node": "^0.1.8",
     "slack-node": "^0.1.8",
     "socket.io": "^2.0.3",
     "socket.io": "^2.0.3",

+ 4 - 0
src/client/js/components/StaffCredit/Contributor.js

@@ -17,6 +17,10 @@ const contributors = [
       { name: 'TsuyoshiSuzukief' },
       { name: 'TsuyoshiSuzukief' },
       { name: 'SeiyaTashiro' },
       { name: 'SeiyaTashiro' },
       { name: 'Angola' },
       { name: 'Angola' },
+<<<<<<< HEAD
+=======
+      { name: 'okas' },
+>>>>>>> feat/add-stuff-credit-bug
     ],
     ],
   },
   },
   {
   {

+ 28 - 21
src/client/js/components/StaffCredit/StaffCredit.jsx

@@ -1,6 +1,8 @@
 import React from 'react';
 import React from 'react';
-import keydown from 'react-keydown';
 import { HotKeys } from 'react-hotkeys';
 import { HotKeys } from 'react-hotkeys';
+
+import loggerFactory from '@alias/logger';
+
 import contributors from './Contributor';
 import contributors from './Contributor';
 
 
 /**
 /**
@@ -11,26 +13,24 @@ import contributors from './Contributor';
  * @extends {React.Component}
  * @extends {React.Component}
  */
  */
 
 
-const keyMap = {
-  SNAP_LEFT: 'command',
-  DELETE_NODE: ['del', 'backspace'],
-};
-
 export default class StaffCredit extends React.Component {
 export default class StaffCredit extends React.Component {
 
 
   constructor(props) {
   constructor(props) {
     super(props);
     super(props);
 
 
+    this.logger = loggerFactory('growi:StaffCredit');
+
     this.state = {
     this.state = {
       isShown: false,
       isShown: false,
       userCommand: [],
       userCommand: [],
     };
     };
-    this.konamiCommand = ['ArrowUp', 'ArrowUp', 'ArrowDown', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'ArrowRight', 'ArrowLeft', '5', '7', '3'];
+    this.konamiCommand = ['ArrowUp', 'ArrowUp', 'ArrowDown', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowLeft', 'ArrowRight', 'b', 'a'];
     this.deleteCredit = this.deleteCredit.bind(this);
     this.deleteCredit = this.deleteCredit.bind(this);
   }
   }
 
 
-  @keydown('enter', 'up', 'down', 'right', 'left', '5', '7', '3')
   check(event) {
   check(event) {
+    this.logger.debug(`'${event.key}' pressed`);
+
     // compare keydown and next konamiCommand
     // compare keydown and next konamiCommand
     if (this.konamiCommand[this.state.userCommand.length] === event.key) {
     if (this.konamiCommand[this.state.userCommand.length] === event.key) {
       const nextValue = this.state.userCommand.concat(event.key);
       const nextValue = this.state.userCommand.concat(event.key);
@@ -43,6 +43,8 @@ export default class StaffCredit extends React.Component {
       else {
       else {
         // add UserCommand
         // add UserCommand
         this.setState({ userCommand: nextValue });
         this.setState({ userCommand: nextValue });
+
+        this.logger.debug('userCommand', this.state.userCommand);
       }
       }
     }
     }
     else {
     else {
@@ -56,15 +58,15 @@ export default class StaffCredit extends React.Component {
     }
     }
   }
   }
 
 
-  render() {
+  renderContributors() {
     if (this.state.isShown) {
     if (this.state.isShown) {
       const credit = contributors.map((contributor) => {
       const credit = contributors.map((contributor) => {
         const section = <p key={contributor.sectionName} className="dev-team my-5">{contributor.sectionName}</p>;
         const section = <p key={contributor.sectionName} className="dev-team my-5">{contributor.sectionName}</p>;
         const members = contributor.members.map((member) => {
         const members = contributor.members.map((member) => {
-          const name = <p className="dev-name mb-5">{member.name}</p>;
+          const name = <p className="dev-name mb-5" key={member.name}>{member.name}</p>;
           if (member.position) {
           if (member.position) {
             return (
             return (
-              <React.Fragment>
+              <React.Fragment key={member.position}>
                 <span className="dev-position">{member.position}</span>
                 <span className="dev-position">{member.position}</span>
                 {name}
                 {name}
               </React.Fragment>
               </React.Fragment>
@@ -82,22 +84,27 @@ export default class StaffCredit extends React.Component {
         );
         );
       });
       });
       return (
       return (
-        <HotKeys keyMap={keyMap}>
-          <div>
-            hugahuga
+        <div className="text-center credit-curtain" onClick={this.deleteCredit}>
+          <div className="credit-body">
+            <p className="title my-5">Growi Contributor</p>
+            {credit}
           </div>
           </div>
-        </HotKeys>
-        // <div className="text-center credit-curtain" onClick={this.deleteCredit}>
-        //   <div className="credit-body">
-        //     <p className="title my-5">Growi Contributor</p>
-        //     {credit}
-        //   </div>
-        // </div>
+        </div>
       );
       );
     }
     }
     return null;
     return null;
   }
   }
 
 
+  render() {
+    const keyMap = { check: ['up', 'down', 'right', 'left', 'b', 'a'] };
+    const handlers = { check: (event) => { return this.check(event) } };
+    return (
+      <HotKeys focused attach={window} keyMap={keyMap} handlers={handlers}>
+        {this.renderContributors()}
+      </HotKeys>
+    );
+  }
+
 }
 }
 
 
 StaffCredit.propTypes = {
 StaffCredit.propTypes = {

+ 1 - 0
src/client/styles/scss/style-app.scss

@@ -41,6 +41,7 @@
 @import 'wiki';
 @import 'wiki';
 @import 'staff_credit';
 @import 'staff_credit';
 @import 'tag';
 @import 'tag';
+@import 'staff_credit';
 @import 'draft';
 @import 'draft';
 
 
 /*
 /*