Fix remote image urls not showing up in image grids #427

Closed
Vylpes wants to merge 55 commits from feature/CD-425 into hotfix/0.8.4
Showing only changes of commit 6fd9b756e4 - Show all commits

View file

@ -30,22 +30,21 @@ export default class ImageHelper {
const filePath = path.join(process.env.DATA_DIR!, "cards", card.path); const filePath = path.join(process.env.DATA_DIR!, "cards", card.path);
const exists = existsSync(filePath) || card.path.startsWith("http://") || card.path.startsWith("https://");
if (!exists) {
AppLogger.LogError("ImageHelper/GenerateCardImageGrid", `Failed to load image from path ${card.path}`);
continue;
}
let bitmap: Bitmap; let bitmap: Bitmap;
Review

Do we want to instead make the startsWith part its own variable? Might be a bit more readable and such IMO

Do we want to instead make the `startsWith` part its own variable? Might be a bit more readable and such IMO
if (card.path.startsWith("http://") || card.path.startsWith("https://")) { if (existsSync(filePath)) {
const data = await Jimp.read(filePath);
bitmap = data.bitmap;
} else if (card.path.startsWith("http://") || card.path.startsWith("https://")) {
const response = await axios.get(card.path, { responseType: "arraybuffer" }); const response = await axios.get(card.path, { responseType: "arraybuffer" });
const buffer = Buffer.from(response.data); const buffer = Buffer.from(response.data);
const data = await Jimp.fromBuffer(buffer);
bitmap = (await Jimp.fromBuffer(buffer)).bitmap; bitmap = data.bitmap;
} else { } else {
bitmap = (await Jimp.read(filePath)).bitmap; AppLogger.LogError("ImageHelper/GenerateCardImageGrid", `Failed to load image from path ${card.path}`);
continue;
} }
const imageData = Jimp.fromBitmap(bitmap); const imageData = Jimp.fromBitmap(bitmap);