feat: cache images
This commit is contained in:
1 parent
71d3c557e9
commit
f3bcc68104
2 files changed
+11
-16
No files matched your search
@@ -61,6 +61,8 @@ export const useSeriesStore = defineStore('series', () => {
|
||||
const loadingDetail = ref(false)
|
||||
const error = ref<string | null>(null)
|
||||
|
||||
const _imageCache = new Set<string>()
|
||||
|
||||
async function fetchSeries() {
|
||||
loadingSeries.value = true
|
||||
error.value = null
|
||||
@@ -69,6 +71,13 @@ export const useSeriesStore = defineStore('series', () => {
|
||||
if (!res.ok) throw new Error(`Erreur ${res.status}`)
|
||||
const data = await res.json()
|
||||
series.value = data.series
|
||||
// Précache des posters en arrière-plan
|
||||
for (const s of data.series as Serie[]) {
|
||||
if (s.poster_image && !_imageCache.has(s.poster_image)) {
|
||||
_imageCache.add(s.poster_image)
|
||||
new Image().src = s.poster_image
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
error.value = err instanceof Error ? err.message : 'Erreur inconnue'
|
||||
} finally {
|
||||
|
||||
@@ -276,23 +276,10 @@ async function fetchOrganizeNotifs() {
|
||||
}
|
||||
|
||||
// ── Cache images ───────────────────────────────────────────────
|
||||
const imageCache = new Set<string>()
|
||||
|
||||
function precacheImages(series: any[]) {
|
||||
for (const s of series) {
|
||||
if (s.poster_image && !imageCache.has(s.poster_image)) {
|
||||
imageCache.add(s.poster_image)
|
||||
const img = new Image()
|
||||
img.src = s.poster_image
|
||||
}
|
||||
}
|
||||
}
|
||||
// Géré directement dans le store series.ts
|
||||
|
||||
onMounted(async () => {
|
||||
if (store.series.length === 0) {
|
||||
await store.fetchSeries()
|
||||
precacheImages(store.series)
|
||||
}
|
||||
if (store.series.length === 0) await store.fetchSeries()
|
||||
fetchActiveDownloads()
|
||||
fetchOrganizeNotifs()
|
||||
dlInterval = setInterval(() => {
|
||||
@@ -304,7 +291,6 @@ onMounted(async () => {
|
||||
// Refresh au retour sur le catalogue (après update ou scan)
|
||||
onActivated(async () => {
|
||||
await store.fetchSeries()
|
||||
precacheImages(store.series)
|
||||
fetchActiveDownloads()
|
||||
})
|
||||
|
||||
|
||||
Reference in new issue
Block a user