Skip to content

Commit a7fe072

Browse files
committed
Consolidate npcSettings/allySettings/playerSettings into single displaySettings prop
Replace three separate prop bindings drilled through 6+ component layers with a single displaySettings object. Each consumer exposes the three as computed getters so all existing template and mixin code is unchanged. Also removes npcSettings/allySettings from Avatar.vue where they were declared but never used.
1 parent 7a31426 commit a7fe072

8 files changed

Lines changed: 55 additions & 57 deletions

File tree

src/components/trackCampaign/Meters.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
>
3636
<div class="info">
3737
<span class="name">
38-
<Name :entity="entity" :players="players" :npcs="npcs" :npcSettings="npcSettings || {}" :allySettings="allySettings" />
38+
<Name :entity="entity" :players="players" :npcs="npcs" :displaySettings="displaySettings" />
3939
</span>
4040
<span class="numbers">
4141
<span :class="{
@@ -79,9 +79,12 @@
7979
'campaign',
8080
'players',
8181
'npcs',
82-
'npcSettings',
83-
'allySettings'
82+
'displaySettings'
8483
],
84+
computed: {
85+
npcSettings() { return this.displaySettings?.npc; },
86+
allySettings() { return this.displaySettings?.ally; },
87+
},
8588
data() {
8689
return {
8790
userId: this.$route.params.userid,

src/components/trackCampaign/Shares.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<div class="header">
2020
<!-- NAME -->
2121
<div class="name truncate" v-if="entity_key && entities && Object.keys(entities).includes(entity_key)">
22-
<Name :entity="entities[entity_key]" :players="players" :npcs="npcs" :npcSettings="npcSettings" :allySettings="allySettings" />
22+
<Name :entity="entities[entity_key]" :players="players" :npcs="npcs" :displaySettings="displaySettings" />
2323
</div>
2424

2525

@@ -47,7 +47,7 @@
4747
<div v-if="entities && Object.keys(entities).includes(target)" :key="target" class="img">
4848
<Avatar :entity="entities[target]" :players="players" :npcs="npcs" />
4949
<q-tooltip anchor="top middle" self="center middle">
50-
<Name :entity="entities[target]" :players="players" :npcs="npcs" :npcSettings="npcSettings" :allySettings="allySettings" />
50+
<Name :entity="entities[target]" :players="players" :npcs="npcs" :displaySettings="displaySettings" />
5151
</q-tooltip>
5252
</div>
5353
</template>
@@ -138,15 +138,15 @@
138138
type: Object,
139139
default: undefined
140140
},
141-
npcSettings: {
142-
type: Object,
143-
default: undefined
144-
},
145-
allySettings: {
141+
displaySettings: {
146142
type: Object,
147143
default: undefined
148144
}
149145
},
146+
computed: {
147+
npcSettings() { return this.displaySettings?.npc; },
148+
allySettings() { return this.displaySettings?.ally; },
149+
},
150150
data() {
151151
return {
152152
damage_types: damage_types,

src/components/trackCampaign/live/Avatar.vue

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,6 @@ export default {
3030
type: Object,
3131
required: true,
3232
},
33-
npcSettings: {
34-
type: Object,
35-
},
36-
allySettings: {
37-
type: Object,
38-
},
3933
},
4034
methods: {
4135
displayImg(entity) {

src/components/trackCampaign/live/Health.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,13 @@ export default {
119119
"campCompanions",
120120
"npcs",
121121
"players",
122-
"playerSettings",
123-
"npcSettings",
124-
"allySettings",
122+
"displaySettings",
125123
],
124+
computed: {
125+
playerSettings() { return this.displaySettings?.player || {}; },
126+
npcSettings() { return this.displaySettings?.npc; },
127+
allySettings() { return this.displaySettings?.ally; },
128+
},
126129
data() {
127130
return {
128131
userId: this.$route.params.userid,

src/components/trackCampaign/live/Initiative.vue

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,7 @@
165165
:entity="entity"
166166
:players="players"
167167
:npcs="npcs"
168-
:npcSettings="npcSettings"
169-
:allySettings="allySettings"
168+
:displaySettings="displaySettings"
170169
/>
171170
</td>
172171

@@ -177,9 +176,7 @@
177176
:campCompanions="campCompanions"
178177
:players="players"
179178
:npcs="npcs"
180-
:npcSettings="npcSettings"
181-
:allySettings="allySettings"
182-
:playerSettings="playerSettings"
179+
:displaySettings="displaySettings"
183180
/>
184181
</td>
185182

@@ -233,8 +230,7 @@
233230
:entity="entity"
234231
:players="players"
235232
:npcs="npcs"
236-
:npcSettings="npcSettings"
237-
:allySettings="allySettings"
233+
:displaySettings="displaySettings"
238234
/>
239235
</q-item-section>
240236
<q-item-section avatar>
@@ -301,12 +297,15 @@ export default {
301297
"campPlayers",
302298
"campCompanions",
303299
"players",
304-
"playerSettings",
305300
"npcs",
306-
"npcSettings",
307-
"allySettings",
301+
"displaySettings",
308302
"screenWidth",
309303
],
304+
computed: {
305+
playerSettings() { return this.displaySettings?.player || {}; },
306+
npcSettings() { return this.displaySettings?.npc; },
307+
allySettings() { return this.displaySettings?.ally; },
308+
},
310309
data() {
311310
return {
312311
dmId: this.$route.params.userid,

src/components/trackCampaign/live/Name.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@
2828
type: Object,
2929
required: true
3030
},
31-
npcSettings: {
32-
type: Object,
33-
required: true
34-
},
35-
allySettings: {
31+
displaySettings: {
3632
type: Object,
3733
default: undefined
3834
}
3935
},
36+
computed: {
37+
npcSettings() { return this.displaySettings?.npc; },
38+
allySettings() { return this.displaySettings?.ally; },
39+
},
4040
methods: {
4141
name() {
4242
if(this.entity.entityType == 'companion' && this.npcs) {

src/components/trackCampaign/live/Turns.vue

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
<h2 class="d-none d-md-flex justify-content-start">
2727
<span class="mr-3">
28-
<Name :entity="current" :players="players" :npcs="npcs" :npcSettings="npcSettings" :allySettings="allySettings" />
28+
<Name :entity="current" :players="players" :npcs="npcs" :displaySettings="displaySettings" />
2929
</span>
3030

3131
<!-- Companion health is stored in campaign.companions -->
@@ -40,8 +40,7 @@
4040
:campCompanions="campCompanions"
4141
:players="players"
4242
:npcs="npcs"
43-
:npcSettings="npcSettings"
44-
:allySettings="allySettings"
43+
:displaySettings="displaySettings"
4544
/>
4645
<template
4746
v-else-if="
@@ -110,12 +109,15 @@ export default {
110109
"campPlayers",
111110
"campCompanions",
112111
"players",
113-
"playerSettings",
114112
"npcs",
115-
"npcSettings",
116-
"allySettings",
113+
"displaySettings",
117114
"timer",
118115
],
116+
computed: {
117+
playerSettings() { return this.displaySettings?.player || {}; },
118+
npcSettings() { return this.displaySettings?.npc; },
119+
allySettings() { return this.displaySettings?.ally; },
120+
},
119121
data() {
120122
return {
121123
userId: this.$route.params.userid,

src/components/trackCampaign/live/index.vue

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@
2020
:campCompanions="campaign.companions"
2121
:players="players"
2222
:npcs="npcs"
23-
:playerSettings="playerSettings"
24-
:npcSettings="npcSettings"
25-
:allySettings="allySettings"
23+
:displaySettings="displaySettings"
2624
@setWeather="setWeather"
2725
:timer="timer['.value']"
2826
/>
@@ -44,10 +42,8 @@
4442
:campCompanions="campaign.companions"
4543
:players="players"
4644
:npcs="npcs"
47-
:playerSettings="playerSettings"
45+
:displaySettings="displaySettings"
4846
:screenWidth="width"
49-
:npcSettings="npcSettings"
50-
:allySettings="allySettings"
5147
/>
5248
<Rewards v-else :encounter="encounter" />
5349
</div>
@@ -62,8 +58,7 @@
6258
:entities="encounter.entities"
6359
:npcs="npcs"
6460
:players="players"
65-
:npcSettings="npcSettings"
66-
:allySettings="allySettings"
61+
:displaySettings="displaySettings"
6762
/>
6863
</div>
6964
</q-scroll-area>
@@ -78,8 +73,7 @@
7873
:entities="encounter.entities"
7974
:npcs="npcs"
8075
:players="players"
81-
:npcSettings="npcSettings"
82-
:allySettings="allySettings"
76+
:displaySettings="displaySettings"
8377
/>
8478
</div>
8579
</div>
@@ -145,9 +139,7 @@
145139
:campCompanions="campaign.companions"
146140
:players="players"
147141
:npcs="npcs"
148-
:playerSettings="playerSettings"
149-
:npcSettings="npcSettings"
150-
:allySettings="allySettings"
142+
:displaySettings="displaySettings"
151143
:screenWidth="width"
152144
/>
153145
<Rewards v-else :encounter="encounter" />
@@ -157,8 +149,7 @@
157149
:entities="encounter.entities"
158150
:npcs="npcs"
159151
:players="players"
160-
:npcSettings="npcSettings"
161-
:allySettings="allySettings"
152+
:displaySettings="displaySettings"
162153
/>
163154
</q-tab-panel>
164155
<q-tab-panel name="shares">
@@ -168,8 +159,7 @@
168159
:entities="encounter.entities"
169160
:npcs="npcs"
170161
:players="players"
171-
:npcSettings="npcSettings"
172-
:allySettings="allySettings"
162+
:displaySettings="displaySettings"
173163
/>
174164
</q-tab-panel>
175165
</q-tab-panels>
@@ -251,6 +241,13 @@ export default {
251241
};
252242
},
253243
computed: {
244+
displaySettings() {
245+
return {
246+
npc: this.npcSettings,
247+
ally: this.allySettings,
248+
player: this.playerSettings,
249+
};
250+
},
254251
_allEntities() {
255252
return _.chain(this.encounter.entities)
256253
.filter(function (entity, key) {

0 commit comments

Comments
 (0)