From 7c1623493a185779217f314704970ec832eb906f Mon Sep 17 00:00:00 2001 From: Gisle Aune Date: Tue, 4 Dec 2018 22:12:50 +0100 Subject: [PATCH] data: Added unknown nick list to character add and nicks modal. --- .../components/unknown-nick-list/component.js | 17 +++++++++++++++++ .../components/unknown-nick-list/index.marko | 3 +++ marko/components/unknown-nick-list/style.less | 16 ++++++++++++++++ .../add-character-modal/component.js | 8 ++++++++ .../add-character-modal/index.marko | 8 ++++++++ .../character-nicks-modal/component.js | 19 ++++++++++++++++++- .../character-nicks-modal/index.marko | 3 +++ rpdata/api/Character.js | 13 +++++++++++++ 8 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 marko/components/unknown-nick-list/component.js create mode 100644 marko/components/unknown-nick-list/index.marko create mode 100644 marko/components/unknown-nick-list/style.less diff --git a/marko/components/unknown-nick-list/component.js b/marko/components/unknown-nick-list/component.js new file mode 100644 index 0000000..93459ff --- /dev/null +++ b/marko/components/unknown-nick-list/component.js @@ -0,0 +1,17 @@ +const {charactersApi} = require("../../../rpdata/api/Character") + +module.exports = class { + onCreate() { + this.state = { + nicks: [], + } + } + + onMount() { + charactersApi.unknownNicks(100).then(unknowns => { + this.state.nicks = unknowns.map(u => u.nick) + }).catch(err => { + console.warn("Failed to get unknown nicks:", err) + }) + } +} \ No newline at end of file diff --git a/marko/components/unknown-nick-list/index.marko b/marko/components/unknown-nick-list/index.marko new file mode 100644 index 0000000..2d4bb7d --- /dev/null +++ b/marko/components/unknown-nick-list/index.marko @@ -0,0 +1,3 @@ +
+
${nick}
+
\ No newline at end of file diff --git a/marko/components/unknown-nick-list/style.less b/marko/components/unknown-nick-list/style.less new file mode 100644 index 0000000..9a8b31e --- /dev/null +++ b/marko/components/unknown-nick-list/style.less @@ -0,0 +1,16 @@ +div.unknown-nick-list { + padding: 0.5em 0; + + div.nick { + display: inline-block; + padding: 0.25em 0.5ch; + margin: 2px; + background-color: #111; + color: #881; + } + div.nick:hover { + cursor: pointer; + background-color: #222; + color: #CC2; + } +} \ No newline at end of file diff --git a/marko/page/data/components/add-character-modal/component.js b/marko/page/data/components/add-character-modal/component.js index 44c59ac..d6749b7 100644 --- a/marko/page/data/components/add-character-modal/component.js +++ b/marko/page/data/components/add-character-modal/component.js @@ -33,6 +33,14 @@ module.exports = class { this.emit("close") } + selectUnknown(nick) { + this.state.values = Object.assign({}, this.state.values, { + nick: nick, + name: nick.replace(/_/g, " ").replace(/`/g, "'"), + shortName: (!nick.includes("_") && nick.includes("`")) ? nick.split("`")[0] : "", + }) + } + save() { if (this.state.loading) { return diff --git a/marko/page/data/components/add-character-modal/index.marko b/marko/page/data/components/add-character-modal/index.marko index c1808c5..0519695 100644 --- a/marko/page/data/components/add-character-modal/index.marko +++ b/marko/page/data/components/add-character-modal/index.marko @@ -21,4 +21,12 @@