diff --git a/src/App.vue b/src/App.vue
index 730bcd0..c16020f 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -14,8 +14,9 @@
-
-
+
+
+
@@ -27,9 +28,11 @@ import Menu from "./components/Menu";
import RolesModal from "./components/modals/RolesModal";
import EditionModal from "./components/modals/EditionModal";
import Intro from "./components/Intro";
+import ReferenceModal from "./components/modals/ReferenceModal";
export default {
components: {
+ ReferenceModal,
Intro,
TownInfo,
TownSquare,
@@ -54,7 +57,7 @@ export default {
this.$refs.menu.addPlayer();
break;
case "r":
- this.$refs.menu.randomizeSeatings();
+ this.$store.commit("toggleModal", "reference");
break;
case "e":
if (this.session.isSpectator) return;
diff --git a/src/components/Menu.vue b/src/components/Menu.vue
index 8359002..17a81b2 100644
--- a/src/components/Menu.vue
+++ b/src/components/Menu.vue
@@ -86,12 +86,18 @@
Remove all
+
-
-
-
- Characters
-
+
+
+
+ Characters
+
+
+ [R]
+ Reference Sheet
+
+
[E]
Select Edition
diff --git a/src/components/modals/Modal.vue b/src/components/modals/Modal.vue
index 4232748..b6f4d12 100644
--- a/src/components/modals/Modal.vue
+++ b/src/components/modals/Modal.vue
@@ -48,6 +48,11 @@ export default {
flex-direction: column;
max-width: 60%;
+ .characters & {
+ max-height: 80%;
+ overflow-y: auto;
+ }
+
ul {
list-style-type: none;
margin: 0;
diff --git a/src/components/modals/ReferenceModal.vue b/src/components/modals/ReferenceModal.vue
new file mode 100644
index 0000000..807cdd0
--- /dev/null
+++ b/src/components/modals/ReferenceModal.vue
@@ -0,0 +1,212 @@
+
+
+ {{ editionName }} Character Reference
+
+ -
+ Name
+ Icon
+ Ability
+
+ Player
+
+
+
+
+
{{ team }}
+
+ -
+ {{ role.name }}
+
+ {{ role.ability }}
+ {{
+ playersByRole[role.id] ? playersByRole[role.id].join(", ") : ""
+ }}
+
+
+
+
+
+
+
+
+
diff --git a/src/store/index.js b/src/store/index.js
index 0caf31a..e699f8a 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -42,6 +42,7 @@ export default new Vuex.Store({
playerCount: 0
},
modals: {
+ reference: false,
edition: false,
roles: false,
role: false,
@@ -91,6 +92,12 @@ export default new Vuex.Store({
},
toggleModal({ modals }, name) {
modals[name] = !modals[name];
+ if (modals[name]) {
+ for (let modal in modals) {
+ if (modal === name) continue;
+ modals[modal] = false;
+ }
+ }
},
updateScreenshot({ grimoire }, status) {
if (status !== true && status !== false) {