From 53394b9478719fb6d495023ed9e2776497e7909c Mon Sep 17 00:00:00 2001 From: vladtechno Date: Tue, 18 Aug 2026 18:28:59 +1000 Subject: [PATCH] =?UTF-8?q?fix(pwa):=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=E2=80=94=20=D0=B7=D0=BD=D0=B0=D1=87=D0=BE=D0=BA=20?= =?UTF-8?q?=D1=81=D0=B0=D0=B9=D1=82=D0=B0,=20=D0=B0=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BE=D1=82=D0=B2=D0=B5=D1=80=D0=B3=D0=BD=D1=83=D1=82=D1=8B?= =?UTF-8?q?=D0=B9=20=D0=B7=D0=BD=D0=B0=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Предыдущая иконка была собрана из assets/logos/premium_park_favicon_pack — это неудачный вариант знака, владелец его забраковал. Ставим то, что стоит на самом сайте: красная плитка --s-accent с белой «П», как в pptaxi.ru/favicon.svg. Значок в браузере, на экране телефона и на сайте теперь один. Co-Authored-By: Claude Opus 5 --- .../public/icons/apple-touch-icon.png | Bin 7322 -> 3563 bytes driver-pwa/frontend/public/icons/icon-192.png | Bin 7861 -> 3798 bytes driver-pwa/frontend/public/icons/icon-512.png | Bin 21963 -> 10669 bytes .../public/icons/icon-maskable-512.png | Bin 17633 -> 9155 bytes driver-pwa/frontend/scripts/gen-icons.py | 109 +++++++----------- 5 files changed, 40 insertions(+), 69 deletions(-) diff --git a/driver-pwa/frontend/public/icons/apple-touch-icon.png b/driver-pwa/frontend/public/icons/apple-touch-icon.png index 5ba5e2ce541980ddf02e62d3194aa719123d7c26..aae4b2c23bdfb9825d7d42638779ae00553dfa43 100644 GIT binary patch literal 3563 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 literal 7322 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 literal 7861 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 literal 21963 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 diff --git a/driver-pwa/frontend/public/icons/icon-maskable-512.png b/driver-pwa/frontend/public/icons/icon-maskable-512.png index e8d50a201db00c9e54a34121da6c512a7421608b..f53d53efcec97668bc8532fe46aa5493acfd2dac 100644 GIT binary patch literal 9155 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 diff --git a/driver-pwa/frontend/scripts/gen-icons.py b/driver-pwa/frontend/scripts/gen-icons.py index e03e9f2..6b3ba6a 100644 --- a/driver-pwa/frontend/scripts/gen-icons.py +++ b/driver-pwa/frontend/scripts/gen-icons.py @@ -1,92 +1,63 @@ -"""Иконки приложения из фирменного знака «Премиум Парк». +"""Иконки приложения — тот же значок, что у сайта pptaxi.ru. -Знак — вектор (assets/logos/premium_park_favicon_pack/favicon.svg, поле 64×64, -чёрные штрихи + янтарная дуга). Растеризуем его сами: путей всего три, команды — -только M/L/H/V/C/Z, а тянуть в проект зависимость ради этого не хочется. +Сайт отдаёт `favicon.svg`: красная скруглённая плитка --s-accent и белая «П». +Повторяем её здесь, чтобы значок в браузере, на экране телефона и на сайте был +один и тот же. -Сглаживание — сверхдискретизацией ×4: рисуем крупнее и уменьшаем. Так края -получаются чище, чем у любой заливки «в лоб». +Рисуем сами (Pillow), потому что тянуть растеризатор SVG ради одной плитки с +буквой незачем. Сглаживание — сверхдискретизацией ×4. Запуск (нужен Pillow): python scripts/gen-icons.py """ from pathlib import Path -import re -from PIL import Image, ImageDraw +from PIL import Image, ImageDraw, ImageFont -SVG = Path(r"C:\VibeCoding\assets\logos\premium_park_favicon_pack\favicon.svg") OUT = Path(__file__).resolve().parent.parent / "public" / "icons" -BG = (255, 255, 255, 255) # --s-paper сайта: знак нарисован для светлой подложки -SS = 4 # кратность сверхдискретизации -# Полезная часть знака внутри поля 64×64 (замерено по путям). -MARK = (11.0, 8.0, 59.4, 43.7) +ACCENT = (220, 38, 38, 255) # --s-accent сайта +PAPER = (255, 255, 255, 255) # --s-paper +SS = 4 + +# Шрифт ищем среди системных: у сайта заголовки набраны Manrope, но ради одной +# буквы тащить файл шрифта в репозиторий не стоит — берём ближайший гротеск. +FONT_CANDIDATES = [ + r"C:\Windows\Fonts\segoeuib.ttf", + r"C:\Windows\Fonts\arialbd.ttf", + "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", +] -def _curve(p0, p1, p2, p3, steps=24): - for i in range(1, steps + 1): - t = i / steps - u = 1 - t - yield (u*u*u*p0[0] + 3*u*u*t*p1[0] + 3*u*t*t*p2[0] + t*t*t*p3[0], - u*u*u*p0[1] + 3*u*u*t*p1[1] + 3*u*t*t*p2[1] + t*t*t*p3[1]) +def _font(size: int) -> ImageFont.FreeTypeFont: + for path in FONT_CANDIDATES: + if Path(path).exists(): + return ImageFont.truetype(path, size) + raise SystemExit("не нашёл жирный шрифт для буквы") -def flatten(d: str) -> list[tuple[float, float]]: - """Путь SVG → многоугольник. Поддержаны M, L, H, V, C, Z — больше в знаке нет.""" - tokens = re.findall(r"[MLHVCZmlhvcz]|-?\d*\.?\d+", d) - pts: list[tuple[float, float]] = [] - cur = (0.0, 0.0) - cmd = "" - i = 0 - while i < len(tokens): - t = tokens[i] - if t.isalpha(): - cmd = t - i += 1 - continue - n = lambda k: float(tokens[i + k]) - if cmd in "ML": - cur = (n(0), n(1)); pts.append(cur); i += 2 - elif cmd == "H": - cur = (n(0), cur[1]); pts.append(cur); i += 1 - elif cmd == "V": - cur = (cur[0], n(0)); pts.append(cur); i += 1 - elif cmd == "C": - p1, p2, p3 = (n(0), n(1)), (n(2), n(3)), (n(4), n(5)) - pts.extend(_curve(cur, p1, p2, p3)); cur = p3; i += 6 - else: - i += 1 - return pts - - -def paths() -> list[tuple[list[tuple[float, float]], str]]: - svg = SVG.read_text(encoding="utf-8") - out = [] - for d, fill in re.findall(r' Image.Image: - """inset — доля стороны под знак. Для maskable нужна безопасная зона: - Android режет иконку по кругу, и знак без запаса теряет края.""" +def compose(size: int, inset: float, radius_ratio: float = 0.22) -> Image.Image: + """inset — доля стороны под плитку. У maskable она меньше: Android режет + иконку по кругу, и плитка без запаса теряет углы.""" big = size * SS - img = Image.new("RGBA", (big, big), BG) + img = Image.new("RGBA", (big, big), PAPER) draw = ImageDraw.Draw(img) - x0, y0, x1, y1 = MARK - scale = min(big * inset / (x1 - x0), big * inset / (y1 - y0)) - dx = (big - (x1 - x0) * scale) / 2 - x0 * scale - dy = (big - (y1 - y0) * scale) / 2 - y0 * scale - for pts, fill in paths(): - draw.polygon([(x * scale + dx, y * scale + dy) for x, y in pts], fill=fill) + pad = big * (1 - inset) / 2 + box = (pad, pad, big - pad, big - pad) + draw.rounded_rectangle(box, radius=(box[2] - box[0]) * radius_ratio, fill=ACCENT) + + letter = "П" + font = _font(int((box[3] - box[1]) * 0.72)) + l, t, r, b = draw.textbbox((0, 0), letter, font=font) + draw.text(((box[0] + box[2] - (r - l)) / 2 - l, + (box[1] + box[3] - (b - t)) / 2 - t), letter, font=font, fill=PAPER) return img.resize((size, size), Image.LANCZOS) if __name__ == "__main__": OUT.mkdir(parents=True, exist_ok=True) - for name, size, inset in (("icon-192.png", 192, 0.82), - ("icon-512.png", 512, 0.82), - ("icon-maskable-512.png", 512, 0.60), - ("apple-touch-icon.png", 180, 0.82)): + for name, size, inset in (("icon-192.png", 192, 1.0), + ("icon-512.png", 512, 1.0), + ("icon-maskable-512.png", 512, 0.72), + ("apple-touch-icon.png", 180, 1.0)): compose(size, inset).save(OUT / name) print("собрано", name)