This commit is contained in:
team3
2026-09-09 18:15:10 +02:00
parent 847b747870
commit 3dc091d04a
8 changed files with 103 additions and 155 deletions

View File

@@ -694,7 +694,8 @@ onUnmounted(() => {
v-else-if="activeTab === 'wheel'"
ref="rad"
:host="host"
:ich="ich"
:merkliste="merkliste"
:mine="meinVorschlag?.id ?? null"
@open="selected = $event"
@reset="meinVorschlag = null"
/>

View File

@@ -1,17 +1,17 @@
<script setup>
import { computed, onMounted, onUnmounted, ref, watch } from 'vue'
import { computed, onMounted, onUnmounted, ref } from 'vue'
import { posterUrl } from '../images'
import { abonnieren } from '../live'
const props = defineProps({
host: Boolean,
// Wer gerade angemeldet ist. Beim Wechsel gehört eine andere Sammlung dazu.
ich: { type: Object, default: null },
// Beides hält die App schon aktuell — auch nach einem Namenswechsel
merkliste: { type: Array, default: () => [] },
mine: { type: Number, default: null },
})
const emit = defineEmits(['open', 'reset'])
const items = ref([])
const mine = ref(null)
const laden = ref(true)
const fehler = ref('')
@@ -91,7 +91,6 @@ async function laden_() {
if (!resp.ok) throw new Error('Vorschläge konnten nicht geladen werden')
const daten = await resp.json()
items.value = daten.items
mine.value = daten.mine
} catch (err) {
fehler.value = err.message
} finally {
@@ -99,14 +98,8 @@ async function laden_() {
}
}
watch(() => props.ich?.id, () => {
sammlungLaden()
laden_()
})
onMounted(async () => {
await laden_()
await sammlungLaden()
await laufendenDrehHolen()
verbinden()
})
@@ -197,18 +190,9 @@ async function zuruecksetzen() {
// Aus der eigenen Sammlung würfeln. Der Schalter trennt Horror von allem
// anderen — für Abende, an denen es keiner gruselig mag.
const nurHorror = ref(true)
const sammlung = ref([])
const sammlung = computed(() => props.merkliste.filter((e) => e.mine))
const wuerfelt = ref(false)
async function sammlungLaden() {
try {
const resp = await fetch('/api/wishlist')
if (resp.ok) sammlung.value = (await resp.json()).filter((e) => e.mine)
} catch {
sammlung.value = []
}
}
function nachGenre(horror) {
return sammlung.value.filter(
(e) => (e.genres || []).includes('Horror') === horror