+
+ {t("settings.cache.totalStorage")}
+ {formatBytes(stats.total)}
+
+
+
+ {t("settings.cache.imagesQuota", { used: Math.round(usagePercent) })}
+
+
+ )}
+
+ {/* Liste des caches */}
+
+ {stats ? (
+ <>
+
}
+ label={t("settings.cache.static")}
+ size={stats.static.size}
+ entries={stats.static.entries}
+ cacheType="static"
+ description={t("settings.cache.staticDesc")}
+ onClear={() => handleClearCache("static")}
+ isClearing={clearingCache === "static"}
+ onLoadEntries={handleLoadEntries}
+ />
+
}
+ label={t("settings.cache.api")}
+ size={stats.api.size}
+ entries={stats.api.entries}
+ cacheType="api"
+ description={t("settings.cache.apiDesc")}
+ onClear={() => handleClearCache("api")}
+ isClearing={clearingCache === "api"}
+ onLoadEntries={handleLoadEntries}
+ />
+
}
+ label={t("settings.cache.images")}
+ size={stats.images.size}
+ entries={stats.images.entries}
+ cacheType="images"
+ description={t("settings.cache.imagesDesc")}
+ onClear={() => handleClearCache("images")}
+ isClearing={clearingCache === "images"}
+ onLoadEntries={handleLoadEntries}
+ />
+
}
+ label={t("settings.cache.books")}
+ size={stats.books.size}
+ entries={stats.books.entries}
+ cacheType="books"
+ description={t("settings.cache.booksDesc")}
+ onLoadEntries={handleLoadEntries}
+ />
+ >
+ ) : isLoading ? (
+
+
+
+ ) : (
+
+ {t("settings.cache.unavailable")}
+
+ )}
+
+
+ {/* Bouton vider tout */}
+ {stats && stats.total > 0 && (
+