import 'dart:developer'; import 'package:flutter/cupertino.dart'; import 'package:mnemo_cards/di/locator.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; class ImagesHolder { Map _images = {}; Map _packImages = {}; DateTime? unlockTime; ImagesHolder(); void setPackImages(Map images) { _packImages = Map.from(images); } void setImage(String key, MemoryImage image) { _images[key] = image; } void clear() { _images.clear(); _packImages.clear(); } MemoryImage? get(String id) { final memoryImage = getPackImage(id) ?? _images[id]; return memoryImage; } MemoryImage? getPackImage(String id) { final memoryImage = _packImages[id]; return memoryImage; } } extension ImagesHolderStringExt on String { MemoryImage? get memoryImage => locator.imagesHolder.get(this); } extension ImagesHolderCardExt on GameCardDto { MemoryImage? get memoryImage => locator.imagesHolder.get(id.toString()); }