Skip to content

Commit 31faa65

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

File tree

1 file changed

+51
-19
lines changed

1 file changed

+51
-19
lines changed

frontend/src/components/DutyListItem.vue

+51-19
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
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
}"
99
@click="check"
10-
@mouseover="isHovering = true"
11-
@mouseout="isHovering = false"
10+
@mouseover="onDutyItemMouseOver"
11+
@mouseout="onDutyItemMouseOut"
1212
>
1313
<div
1414
class="d-flex justify-content-between align-items-center"
@@ -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,29 @@
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+
></span>
72+
<span
73+
v-if="duty.Expansion && showPatchNums"
74+
:class="'icon-exp-' + duty.Expansion"
75+
data-bs-toggle="tooltip"
76+
data-bs-placement="top"
77+
:title="$t('encounters.unlockedInExp')"
78+
></span>
79+
<a v-if="showWikiLink" :href="duty.WikiUrl" class="text-success tt duty-wiki-link" @click.stop="" @hover.stop="">
80+
<i class="fa-fw fad fa-external-link"></i>
81+
<span class="tt-text">Wiki resource</span>
82+
</a>
83+
</div>
7884
</div>
7985
<div id="rewards" v-if="filters.rewards && !duty.blur && ('Mounts' in duty || 'Minions' in duty)">
8086
<div v-if="'Mounts' in duty">
@@ -143,10 +149,24 @@
143149
text-overflow: unset;
144150
}
145151
152+
.duty-list-group {
153+
padding: 0;
154+
}
155+
146156
.duty-list-item {
147157
overflow: hidden;
148158
white-space: nowrap;
149159
text-overflow: "";
160+
width: 100%;
161+
}
162+
163+
.duty-wiki-link,
164+
.duty-list-item {
165+
padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
166+
}
167+
168+
.duty-icons > :not(.duty-wiki-link):last-child {
169+
padding-right: var(--bs-list-group-item-padding-x);
150170
}
151171
152172
.duty-list-item-blur {
@@ -206,6 +226,9 @@ export default {
206226
title() {
207227
return this.duty.LodestoneID || this.duty.blur ? "" : this.duty.Name;
208228
},
229+
dutyName() {
230+
return this.duty["Name" + this.$i18n.locale.toUpperCase()] || this.duty["NameEN"];
231+
},
209232
showPatchNums() {
210233
let patchNumsSetting = this.$store.getters.settings.patchNumsOption || 0;
211234
@@ -215,6 +238,9 @@ export default {
215238
patchNumsSetting == 2
216239
);
217240
},
241+
showWikiLink() {
242+
return !this.duty.blur && this.duty.WikiUrl ? true : false;
243+
},
218244
},
219245
methods: {
220246
getLodestoneURL: getLodestoneURL,
@@ -243,6 +269,12 @@ export default {
243269
let characterID = this.$store.getters.lodestoneData.Character.ID;
244270
updateEncounterIDs(characterID, encounterIDsAsArray);
245271
},
272+
onDutyItemMouseOver() {
273+
this.isHovering = true
274+
},
275+
onDutyItemMouseOut() {
276+
this.isHovering = false
277+
}
246278
},
247279
};
248280
</script>

0 commit comments

Comments
 (0)