mirror of
https://github.com/bra1n/townsquare.git
synced 2025-04-04 22:24:36 +00:00
making reminders for pluis 1 roles available
This commit is contained in:
parent
f1e1f7f773
commit
c27fb9c7d0
1 changed files with 27 additions and 18 deletions
|
@ -21,7 +21,7 @@
|
||||||
: require('../../assets/icons/' +
|
: require('../../assets/icons/' +
|
||||||
(reminder.imageAlt || reminder.role) +
|
(reminder.imageAlt || reminder.role) +
|
||||||
'.png')
|
'.png')
|
||||||
})`
|
})`,
|
||||||
}"
|
}"
|
||||||
></span>
|
></span>
|
||||||
<span class="text">{{ reminder.name }}</span>
|
<span class="text">{{ reminder.name }}</span>
|
||||||
|
@ -39,12 +39,14 @@ import { mapMutations, mapState } from "vuex";
|
||||||
* @param role The role for which the reminder should be generated
|
* @param role The role for which the reminder should be generated
|
||||||
* @return {function(*): {image: string|string[]|string|*, role: *, name: *, imageAlt: string|*}}
|
* @return {function(*): {image: string|string[]|string|*, role: *, name: *, imageAlt: string|*}}
|
||||||
*/
|
*/
|
||||||
const mapReminder = ({ id, image, imageAlt }) => name => ({
|
const mapReminder =
|
||||||
role: id,
|
({ id, image, imageAlt }) =>
|
||||||
image,
|
(name) => ({
|
||||||
imageAlt,
|
role: id,
|
||||||
name
|
image,
|
||||||
});
|
imageAlt,
|
||||||
|
name,
|
||||||
|
});
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { Modal },
|
components: { Modal },
|
||||||
|
@ -53,31 +55,38 @@ export default {
|
||||||
availableReminders() {
|
availableReminders() {
|
||||||
let reminders = [];
|
let reminders = [];
|
||||||
const { players, bluffs } = this.$store.state.players;
|
const { players, bluffs } = this.$store.state.players;
|
||||||
this.$store.state.roles.forEach(role => {
|
this.$store.state.roles.forEach((role) => {
|
||||||
// add reminders from player roles
|
// add reminders from player roles
|
||||||
if (players.some(p => p.role.id === role.id)) {
|
if (players.some((p) => p.role.id === role.id)) {
|
||||||
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
||||||
}
|
}
|
||||||
// add reminders from bluff/other roles
|
// add reminders from bluff/other roles
|
||||||
else if (bluffs.some(bluff => bluff.id === role.id)) {
|
else if (bluffs.some((bluff) => bluff.id === role.id)) {
|
||||||
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
||||||
}
|
}
|
||||||
// add global reminders
|
// add global reminders
|
||||||
if (role.remindersGlobal && role.remindersGlobal.length) {
|
if (role.remindersGlobal && role.remindersGlobal.length) {
|
||||||
reminders = [
|
reminders = [
|
||||||
...reminders,
|
...reminders,
|
||||||
...role.remindersGlobal.map(mapReminder(role))
|
...role.remindersGlobal.map(mapReminder(role)),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// add fabled reminders
|
// add fabled reminders
|
||||||
this.$store.state.players.fabled.forEach(role => {
|
this.$store.state.players.fabled.forEach((role) => {
|
||||||
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
||||||
});
|
});
|
||||||
|
|
||||||
// add out of script traveler reminders
|
// add out of script traveler reminders
|
||||||
this.$store.state.otherTravelers.forEach(role => {
|
this.$store.state.otherTravelers.forEach((role) => {
|
||||||
if (players.some(p => p.role.id === role.id)) {
|
if (players.some((p) => p.role.id === role.id)) {
|
||||||
|
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// add out of script role reminders
|
||||||
|
this.$store.state.otherRoles.forEach((role) => {
|
||||||
|
if (players.some((p) => p.role.id === role.id)) {
|
||||||
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
reminders = [...reminders, ...role.reminders.map(mapReminder(role))];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -88,7 +97,7 @@ export default {
|
||||||
return reminders;
|
return reminders;
|
||||||
},
|
},
|
||||||
...mapState(["modals", "grimoire"]),
|
...mapState(["modals", "grimoire"]),
|
||||||
...mapState("players", ["players"])
|
...mapState("players", ["players"]),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
addReminder(reminder) {
|
addReminder(reminder) {
|
||||||
|
@ -104,12 +113,12 @@ export default {
|
||||||
this.$store.commit("players/update", {
|
this.$store.commit("players/update", {
|
||||||
player,
|
player,
|
||||||
property: "reminders",
|
property: "reminders",
|
||||||
value
|
value,
|
||||||
});
|
});
|
||||||
this.$store.commit("toggleModal", "reminder");
|
this.$store.commit("toggleModal", "reminder");
|
||||||
},
|
},
|
||||||
...mapMutations(["toggleModal"])
|
...mapMutations(["toggleModal"]),
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue