createWebIcons function

void createWebIcons({
  1. required String imagePath,
  2. String? maskableImagePath,
})

Start create web icons

Implementation

void createWebIcons({required String imagePath, String? maskableImagePath}) {
  CliLogger.info('Creating Web icons...', emoji: '🌐');

  final image = Icon.loadFile(imagePath);
  if (image == null) {
    CliLogger.error('The file $imagePath could not be read.', level: .two);
    exit(1);
  }

  final maskableImageFile =
      (maskableImagePath == null || maskableImagePath == imagePath)
      ? image
      : Icon.loadFile(maskableImagePath);
  if (maskableImageFile == null) {
    CliLogger.error(
      'The file ${maskableImagePath!} could not be read.',
      level: .two,
    );
    exit(1);
  }

  final webIcons = <WebIconTemplate>[
    WebIconTemplate(name: 'Icon-192.png', size: 192),
    WebIconTemplate(name: 'Icon-512.png', size: 512),
  ];

  for (final template in webIcons) {
    _saveImageWeb(template, image);
  }

  final pwaIcons = <WebIconTemplate>[
    WebIconTemplate(name: 'Icon-maskable-192.png', size: 192),
    WebIconTemplate(name: 'Icon-maskable-512.png', size: 512),
  ];

  for (final template in pwaIcons) {
    _saveImageWeb(template, maskableImageFile);
  }

  CliLogger.success('Generated icon images', level: .two);
}