diff --git a/VERSION b/VERSION index a08ffae..269aa9c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.8.2 +3.8.3 diff --git a/play-life-web/generate-icons.cjs b/play-life-web/generate-icons.cjs index 990b69b..d6ade16 100644 --- a/play-life-web/generate-icons.cjs +++ b/play-life-web/generate-icons.cjs @@ -7,7 +7,7 @@ const path = require('path'); const publicDir = path.join(__dirname, 'public'); -// Создаем SVG шаблон для иконки +// Создаем SVG шаблон для обычной иконки (со скругленными углами) const createIconSVG = (size) => ` @@ -21,10 +21,27 @@ const createIconSVG = (size) => ` `; +// Создаем SVG шаблон для maskable иконки (без скругления, контент в безопасной зоне 80%) +const createMaskableIconSVG = (size) => ` + + + + + + + + + P + +`; + async function generateIcons() { - // Создаем базовый SVG + // Создаем базовые SVG const baseSVG = createIconSVG(512); const svgBuffer = Buffer.from(baseSVG); + + const maskableSVG = createMaskableIconSVG(512); + const maskableSvgBuffer = Buffer.from(maskableSVG); // Генерируем иконки разных размеров const sizes = [ @@ -37,25 +54,9 @@ async function generateIcons() { ]; for (const icon of sizes) { - let image = sharp(svgBuffer).resize(icon.size, icon.size); - - if (icon.maskable) { - // Для maskable иконки добавляем padding (контент в центральных 80%) - const padding = icon.size * 0.1; - image = sharp({ - create: { - width: icon.size, - height: icon.size, - channels: 4, - background: { r: 0, g: 0, b: 0, alpha: 0 } - } - }) - .composite([{ - input: await sharp(svgBuffer).resize(Math.round(icon.size * 0.8), Math.round(icon.size * 0.8)).toBuffer(), - left: Math.round(padding), - top: Math.round(padding) - }]); - } + // Для maskable иконок используем специальный SVG с контентом в безопасной зоне + const sourceBuffer = icon.maskable ? maskableSvgBuffer : svgBuffer; + const image = sharp(sourceBuffer).resize(icon.size, icon.size); const outputPath = path.join(publicDir, icon.name); await image.png().toFile(outputPath); diff --git a/play-life-web/package.json b/play-life-web/package.json index 2da8e8b..2d3faf2 100644 --- a/play-life-web/package.json +++ b/play-life-web/package.json @@ -1,6 +1,6 @@ { "name": "play-life-web", - "version": "3.8.2", + "version": "3.8.3", "type": "module", "scripts": { "dev": "vite", diff --git a/play-life-web/public/pwa-maskable-192x192.png b/play-life-web/public/pwa-maskable-192x192.png index 82be788..b9ad4e4 100644 Binary files a/play-life-web/public/pwa-maskable-192x192.png and b/play-life-web/public/pwa-maskable-192x192.png differ diff --git a/play-life-web/public/pwa-maskable-512x512.png b/play-life-web/public/pwa-maskable-512x512.png index f3e10d8..2b9b789 100644 Binary files a/play-life-web/public/pwa-maskable-512x512.png and b/play-life-web/public/pwa-maskable-512x512.png differ