X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FChallengeList.vue;h=a350c705b2fb88c3c9aa337a8ff5c65373ab261e;hb=658c47bf5843fb0855659f22f7b1c38318c66ce5;hp=f6d3090e0206dca954be463b7c6338e799516539;hpb=2f258c37c19c5be20ec68695ddfaec2c21f7f0ae;p=vchess.git diff --git a/client/src/components/ChallengeList.vue b/client/src/components/ChallengeList.vue index f6d3090e..a350c705 100644 --- a/client/src/components/ChallengeList.vue +++ b/client/src/components/ChallengeList.vue @@ -4,12 +4,16 @@ div thead tr th {{ st.tr["Variant"] }} - th {{ st.tr["From"] }} + th {{ st.tr["With"] }} th {{ st.tr["Cadence"] }} tbody - tr(v-for="c in sortedChallenges" :class="{toyou:c.priority==1,fromyou:c.priority==2}" @click="$emit('click-challenge',c)") + tr( + v-for="c in sortedChallenges" + :class="{toyou:c.priority==1,fromyou:c.priority==2}" + @click="$emit('click-challenge',c)" + ) td {{ c.vname }} - td {{ c.from.name || "@nonymous" }} + td {{ withWho(c) }} td {{ c.cadence }} @@ -20,37 +24,41 @@ export default { props: ["challenges"], data: function() { return { - st: store.state, + st: store.state }; }, computed: { sortedChallenges: function() { // Show in order: challenges I sent, challenges I received, other challenges - let minAdded = Number.MAX_SAFE_INTEGER - let maxAdded = 0 + let minAdded = Number.MAX_SAFE_INTEGER; + let maxAdded = 0; let augmentedChalls = this.challenges.map(c => { let priority = 0; - if (!!c.to && c.to == this.st.user.name) - priority = 1; + if (!!c.to && c.to == this.st.user.name) priority = 1; else if (c.from.sid == this.st.user.sid || c.from.id == this.st.user.id) priority = 2; - if (c.added < minAdded) - minAdded = c.added; - if (c.added > maxAdded) - maxAdded = c.added - return Object.assign({}, c, {priority: priority}); + if (c.added < minAdded) minAdded = c.added; + if (c.added > maxAdded) maxAdded = c.added; + return Object.assign({}, c, { priority: priority }); }); const deltaAdded = maxAdded - minAdded; - return augmentedChalls.sort((c1,c2) => { + return augmentedChalls.sort((c1, c2) => { return c2.priority - c1.priority + (c2.added - c1.added) / deltaAdded; }); - }, + } }, + methods: { + withWho: function(c) { + if (c.from.sid == this.st.user.sid || c.from.id == this.st.user.id) + return c.to || this.st.tr["Any player"]; + return c.from.name || "@nonymous"; + } + } };