|
42 | 42 | <div class="quest-header" @click="toggleQuest(quest.id)"> |
43 | 43 | <span class="quest-name">{{ quest.name }}</span> |
44 | 44 | <span class="quest-id">(ID: {{ quest.id }})</span> |
45 | | - <span class="expand-icon">{{ expandedQuests.has(quest.id) ? '▼' : '▶' }}</span> |
| 45 | + <span class="expand-icon">{{ store.expandedQuestId === quest.id ? '▼' : '▶' }}</span> |
46 | 46 | </div> |
47 | 47 |
|
48 | 48 | <!-- Show phases and scripts when expanded --> |
49 | | - <div v-if="expandedQuests.has(quest.id)" class="quest-details"> |
| 49 | + <div v-if="store.expandedQuestId === quest.id" class="quest-details"> |
50 | 50 | <div v-if="quest.phaseScripts && quest.phaseScripts.length > 0"> |
51 | 51 | <div v-for="phaseScript in quest.phaseScripts" :key="phaseScript.phase" class="phase-group"> |
52 | 52 | <div class="phase-header">Phase {{ phaseScript.phase }}</div> |
@@ -86,7 +86,6 @@ const store = useFgoStore() |
86 | 86 | const router = useRouter() |
87 | 87 | const selectedRegion = ref<RegionType>(store.region) |
88 | 88 |
|
89 | | -const expandedQuests = ref<Set<number>>(new Set()) |
90 | 89 | const containerRef = ref<HTMLElement | null>(null) |
91 | 90 |
|
92 | 91 | watch(() => store.currentWarId, () => { |
@@ -115,10 +114,10 @@ const backToWars = () => { |
115 | 114 | } |
116 | 115 |
|
117 | 116 | const toggleQuest = (questId: number) => { |
118 | | - if (expandedQuests.value.has(questId)) { |
119 | | - expandedQuests.value.delete(questId) |
| 117 | + if (store.expandedQuestId === questId) { |
| 118 | + store.expandedQuestId = null |
120 | 119 | } else { |
121 | | - expandedQuests.value.add(questId) |
| 120 | + store.expandedQuestId = questId |
122 | 121 | } |
123 | 122 | } |
124 | 123 |
|
|
0 commit comments