Persist hideAnswer switch

This commit is contained in:
2025-10-06 12:19:07 +02:00
parent cbd126c7a2
commit ae1f65f262
5 changed files with 25 additions and 5 deletions
+6 -5
View File
@@ -1,5 +1,6 @@
<script setup lang="ts">
import TeamAddModal from '~/components/TeamAddModal.vue';
import { useSettingsStore } from '~/stores/settings';
import { useTitleStore } from '~/stores/title';
import { fullDate } from '~~/server/utils/date';
@@ -15,7 +16,7 @@ const titleStore = useTitleStore();
const { data, pending, refresh, error } = await useFetch(`/api/hunt/${id}`);
const hideAnswers = ref(true);
const settings = useSettingsStore();
useHead({
title: t('layouts.title', {
@@ -204,7 +205,7 @@ ${document.location.href}`
</VaCardActions>
</VaCard>
<div v-else-if="!data.isMember" class="my-4 flex flex-row gap-2">
<VaSwitch v-model="hideAnswers" icon="image">{{
<VaSwitch v-model="settings.hideAnswers" icon="image">{{
t('page.hunt.hide_answers')
}}</VaSwitch>
</div>
@@ -235,7 +236,7 @@ ${document.location.href}`
>
<VaCardTitle><QuestTags :quest="quest" /></VaCardTitle>
<VaImage
v-if="!hideAnswers"
v-if="!settings.hideAnswers"
:src="quest?.answer?.picture?.url ?? ''"
:fallback-text="t('page.hunt.no_picture_uploaded')"
class="h-32"
@@ -251,14 +252,14 @@ ${document.location.href}`
quest.answer?.review?.score > 0) ||
quest.answer?.final
) ||
(!hideAnswers && quest.answer?.text)
(!settings.hideAnswers && quest.answer?.text)
"
>
<p class="line-clamp-4">
{{ tKey(quest, 'description').value.split('\n')[0] }}
</p>
<div v-if="!hideAnswers && quest.answer?.text">
<div v-if="!settings.hideAnswers && quest.answer?.text">
<VaDivider />
<p class="line-clamp-1">{{ quest.answer?.text }}</p>
</div>
+12
View File
@@ -0,0 +1,12 @@
export const useSettingsStore = defineStore(
'picSettings',
() => {
const hideAnswers = ref(true);
return { hideAnswers };
},
{ persist: true }
);
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useSettingsStore, import.meta.hot));
}