Skip to content

Commit 9f1b36e

Browse files
committed
Added support for "WikiUrl" on duty list items
1 parent 9a2d994 commit 9f1b36e

File tree

1 file changed

+58
-20
lines changed

1 file changed

+58
-20
lines changed

frontend/src/components/DutyListItem.vue

+58-20
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
<template>
22
<div
3-
class="list-group-item align-items-center"
3+
class="list-group-item align-items-center duty-list-group"
44
:class="{
55
'list-group-item-action':
66
this.$store.getters.hasCharacter && isHovering && (duty.cleared == -1 || duty.cleared == 2),
77
'cursor-pointer': this.$store.getters.hasCharacter && (duty.cleared == -1 || duty.cleared == 2),
88
}"
9-
@click="check"
10-
@mouseover="isHovering = true"
11-
@mouseout="isHovering = false"
129
>
1310
<div
1411
class="d-flex justify-content-between align-items-center"
@@ -23,6 +20,9 @@
2320
'duty-list-item-blur': duty.blur,
2421
}"
2522
:title="title"
23+
@click="check"
24+
@mouseover="onDutyItemMouseOver"
25+
@mouseout="onDutyItemMouseOut"
2626
>
2727
<i
2828
class="me-2 fa-fw fal"
@@ -46,7 +46,7 @@
4646
'user-select-none': duty.blur,
4747
}"
4848
>
49-
{{ duty["Name" + $i18n.locale.toUpperCase()] || duty["NameEN"] }}
49+
{{ dutyName }}
5050
</a>
5151
<span
5252
v-else
@@ -58,23 +58,35 @@
5858
'text-bold': duty.Bold,
5959
}"
6060
>
61-
{{ duty["Name" + $i18n.locale.toUpperCase()] || duty["NameEN"] }}
61+
{{ dutyName }}
6262
</span>
6363
</span>
64-
<span
65-
v-if="duty.IsMSQ"
66-
class="icon-marker-msq"
67-
data-bs-toggle="tooltip"
68-
data-bs-placement="top"
69-
:title="$t('encounters.msqContent')"
70-
></span>
71-
<span
72-
v-if="duty.Expansion && showPatchNums"
73-
:class="'icon-exp-' + duty.Expansion"
74-
data-bs-toggle="tooltip"
75-
data-bs-placement="top"
76-
:title="$t('encounters.unlockedInExp')"
77-
></span>
64+
<div class="d-inline-flex align-items-center duty-icons">
65+
<span
66+
v-if="duty.IsMSQ"
67+
class="icon-marker-msq"
68+
data-bs-toggle="tooltip"
69+
data-bs-placement="top"
70+
:title="$t('encounters.msqContent')"
71+
@click="check"
72+
@mouseover="onDutyItemMouseOver"
73+
@mouseout="onDutyItemMouseOut"
74+
></span>
75+
<span
76+
v-if="duty.Expansion && showPatchNums"
77+
:class="'icon-exp-' + duty.Expansion"
78+
data-bs-toggle="tooltip"
79+
data-bs-placement="top"
80+
:title="$t('encounters.unlockedInExp')"
81+
@click="check"
82+
@mouseover="onDutyItemMouseOver"
83+
@mouseout="onDutyItemMouseOut"
84+
></span>
85+
<a v-if="showWikiLink" href="{{duty.WikiUrl}}" class="text-success tt duty-wiki-link" @hover.stop="">
86+
<i class="fa-fw fad fa-external-link"></i>
87+
<span class="tt-text">Wiki resource</span>
88+
</a>
89+
</div>
7890
</div>
7991
<div id="rewards" v-if="filters.rewards && !duty.blur && ('Mounts' in duty || 'Minions' in duty)">
8092
<div v-if="'Mounts' in duty">
@@ -143,10 +155,24 @@
143155
text-overflow: unset;
144156
}
145157
158+
.duty-list-group {
159+
padding: 0;
160+
}
161+
146162
.duty-list-item {
147163
overflow: hidden;
148164
white-space: nowrap;
149165
text-overflow: "";
166+
width: 100%;
167+
}
168+
169+
.duty-wiki-link,
170+
.duty-list-item {
171+
padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
172+
}
173+
174+
.duty-icons > :not(.duty-wiki-link):last-child {
175+
padding-right: var(--bs-list-group-item-padding-x);
150176
}
151177
152178
.duty-list-item-blur {
@@ -206,6 +232,9 @@ export default {
206232
title() {
207233
return this.duty.LodestoneID || this.duty.blur ? "" : this.duty.Name;
208234
},
235+
dutyName() {
236+
return this.duty["Name" + this.$i18n.locale.toUpperCase()] || this.duty["NameEN"];
237+
},
209238
showPatchNums() {
210239
let patchNumsSetting = this.$store.getters.settings.patchNumsOption || 0;
211240
@@ -215,6 +244,9 @@ export default {
215244
patchNumsSetting == 2
216245
);
217246
},
247+
showWikiLink() {
248+
return !this.duty.blur && this.duty.WikiUrl ? true : false;
249+
},
218250
},
219251
methods: {
220252
getLodestoneURL: getLodestoneURL,
@@ -243,6 +275,12 @@ export default {
243275
let characterID = this.$store.getters.lodestoneData.Character.ID;
244276
updateEncounterIDs(characterID, encounterIDsAsArray);
245277
},
278+
onDutyItemMouseOver() {
279+
this.isHovering = true
280+
},
281+
onDutyItemMouseOut() {
282+
this.isHovering = false
283+
}
246284
},
247285
};
248286
</script>

0 commit comments

Comments
 (0)