From d0d6ebcea19884f24cdb5aff13d2f96f4addab6f Mon Sep 17 00:00:00 2001 From: nns Date: Thu, 8 Oct 2026 17:35:05 +0500 Subject: [PATCH] =?UTF-8?q?rebrand:=20=D0=BA=D0=B0=D1=81=D1=81=D0=B0=20ALL?= =?UTF-8?q?=20MARKET=20(=D0=BB=D0=BE=D0=B3=D0=BE,=20=D0=B8=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D0=BA=D0=B0,=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2=D0=BE=D0=BA,=20=D1=87=D0=B5=D0=BA)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Верхняя полоса и экран входа: логотип-изображение ALL MARKET из ресурсов (avares Assets/), color на светлой теме и white на тёмной (Brand.ApplyLogo). - Заголовок окна «ALL MARKET · Касса»; иконка окна и ApplicationIcon = allmarket.ico (собрана из фирменных PNG 32/180/192). - Чек: в шапке — название точки/магазина (резолвится из RetailPoint, PosSession.StoreName), внизу мелко «ALL MARKET — система учёта торговли» (был хардкод «Food Market» в шапке). - AppImage .desktop: Name «ALL MARKET Касса» + фирменная иконка. - Эталон-макет pos-mockup.html — логотип «all market». - AssemblyName/exe (foodmarket.Pos) и имена артефактов не менялись (инфраструктура). Co-Authored-By: Claude Opus 5.5 --- deploy/pos-publish.sh | 10 +++-- docs/pos-design/pos-mockup.html | 7 +-- src/food-market.pos.core/Auth/TokenStore.cs | 2 + .../Assets/allmarket-icon-512.png | Bin 0 -> 18142 bytes .../Assets/allmarket-logo-color.png | Bin 0 -> 20522 bytes .../Assets/allmarket-logo-white.png | Bin 0 -> 19734 bytes src/food-market.pos/Assets/allmarket.ico | Bin 0 -> 24310 bytes .../Services/CheckoutService.cs | 6 ++- src/food-market.pos/ViewModels/ViewModels.cs | 20 +++++++++ src/food-market.pos/Views/Brand.cs | 42 ++++++++++++++++++ src/food-market.pos/Views/LoginView.axaml | 9 ++-- src/food-market.pos/Views/LoginView.axaml.cs | 6 ++- src/food-market.pos/Views/MainWindow.axaml | 11 ++--- src/food-market.pos/Views/MainWindow.axaml.cs | 2 + src/food-market.pos/food-market.pos.csproj | 7 ++- 15 files changed, 101 insertions(+), 21 deletions(-) create mode 100644 src/food-market.pos/Assets/allmarket-icon-512.png create mode 100644 src/food-market.pos/Assets/allmarket-logo-color.png create mode 100644 src/food-market.pos/Assets/allmarket-logo-white.png create mode 100644 src/food-market.pos/Assets/allmarket.ico create mode 100644 src/food-market.pos/Views/Brand.cs diff --git a/deploy/pos-publish.sh b/deploy/pos-publish.sh index 674c550..1a0259c 100755 --- a/deploy/pos-publish.sh +++ b/deploy/pos-publish.sh @@ -42,14 +42,18 @@ build_appimage() { cp -r "$src/." "$appdir/usr/bin/" cat > "$appdir/foodmarket-pos.desktop" < "$appdir/foodmarket-pos.png" + # Фирменная иконка ALL MARKET (зелёный квадрат 512). Фоллбэк — 1x1 PNG. + if [ -f src/food-market.pos/Assets/allmarket-icon-512.png ]; then + cp src/food-market.pos/Assets/allmarket-icon-512.png "$appdir/foodmarket-pos.png" + else + printf '\x89PNG\r\n\x1a\n' > "$appdir/foodmarket-pos.png" + fi cat > "$appdir/AppRun" <<'RUN' #!/bin/sh HERE="$(dirname "$(readlink -f "$0")")" diff --git a/docs/pos-design/pos-mockup.html b/docs/pos-design/pos-mockup.html index 7b47de5..7a09e15 100644 --- a/docs/pos-design/pos-mockup.html +++ b/docs/pos-design/pos-mockup.html @@ -18,8 +18,9 @@ /* верхняя полоса */ .top{background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 24px} - .logo{font-weight:800;font-size:20px;color:var(--green);letter-spacing:.2px} - .logo span{color:var(--text);font-weight:600} + .logo{font-weight:500;font-size:22px;color:var(--green);letter-spacing:-.5px} + .logo b{color:#4C4F54;font-weight:300} + .logo span{color:var(--muted);font-weight:600;font-size:17px;margin-left:4px} .sep{width:1px;height:28px;background:var(--line)} .meta{color:var(--muted);font-size:15px} .meta b{color:var(--text);font-weight:600} @@ -125,7 +126,7 @@
- +
Магазин Демо-магазин · Точка Касса 1
diff --git a/src/food-market.pos.core/Auth/TokenStore.cs b/src/food-market.pos.core/Auth/TokenStore.cs index 5979d9d..4b871b2 100644 --- a/src/food-market.pos.core/Auth/TokenStore.cs +++ b/src/food-market.pos.core/Auth/TokenStore.cs @@ -9,6 +9,8 @@ public sealed class PosSession public required string AccessToken { get; set; } public required string RefreshToken { get; set; } public string? CashierName { get; set; } + /// Название точки/магазина — для шапки чека (резолвится из RetailPoint). + public string? StoreName { get; set; } public Guid? CashierUserId { get; set; } public string[]? Roles { get; set; } public Guid? RetailPointId { get; set; } diff --git a/src/food-market.pos/Assets/allmarket-icon-512.png b/src/food-market.pos/Assets/allmarket-icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d9d620ae55182ef622ea344a6a268e4290e01141 GIT binary patch literal 18142 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 literal 0 HcmV?d00001 diff --git a/src/food-market.pos/Assets/allmarket-logo-white.png b/src/food-market.pos/Assets/allmarket-logo-white.png new file mode 100644 index 0000000000000000000000000000000000000000..a2e4f0fdfd82ee06706ad8fa8b403d32ac690e5c GIT binary patch literal 19734 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�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 t66NU=FbH&V(ohnx4}1=H0X literal 0 HcmV?d00001 diff --git a/src/food-market.pos/Assets/allmarket.ico b/src/food-market.pos/Assets/allmarket.ico new file mode 100644 index 0000000000000000000000000000000000000000..51be300db82e008bad2ac049c2f03109e67f9337 GIT binary patch literal 24310 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 display, decimal refundCash, decimal refundCard) { var doc = new ReceiptDoc { Title = "ВОЗВРАТ" }; - doc.Add("Food Market", center: true, bold: true); + doc.Add(_svc.Session?.StoreName ?? "Магазин", center: true, bold: true); if (CurrentShift?.Number is { } sn) doc.Add($"Смена {sn}", center: true); if (_svc.Session?.CashierName is { } c) doc.Add($"Кассир: {c}"); doc.Add(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")); @@ -117,6 +117,7 @@ public sealed record CommitResult(Guid ClientSaleId, bool PushedNow, int Pending if (refundCash > 0m) doc.Add("Наличными", $"{refundCash:N0}"); if (refundCard > 0m) doc.Add("На карту", $"{refundCard:N0}"); doc.Separator(); + doc.Add("ALL MARKET — система учёта торговли", center: true); return doc; } @@ -124,7 +125,7 @@ private ReceiptDoc BuildReceipt(Cart cart, decimal paidCash, decimal paidCard, d { var t = cart.Totals(); var doc = new ReceiptDoc { Title = isReturn ? "ВОЗВРАТ" : "ТОВАРНЫЙ ЧЕК" }; - doc.Add("Food Market", center: true, bold: true); + doc.Add(_svc.Session?.StoreName ?? "Магазин", center: true, bold: true); if (CurrentShift?.Number is { } sn) doc.Add($"Смена {sn}", center: true); if (_svc.Session?.CashierName is { } c) doc.Add($"Кассир: {c}"); doc.Add(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")); @@ -145,6 +146,7 @@ private ReceiptDoc BuildReceipt(Cart cart, decimal paidCash, decimal paidCard, d if (t.Vat > 0m) doc.Add("в т.ч. НДС", $"{t.Vat:N0}"); doc.Separator(); doc.Add("Спасибо за покупку!", center: true); + doc.Add("ALL MARKET — система учёта торговли", center: true); return doc; } } diff --git a/src/food-market.pos/ViewModels/ViewModels.cs b/src/food-market.pos/ViewModels/ViewModels.cs index d337056..afd8ea5 100644 --- a/src/food-market.pos/ViewModels/ViewModels.cs +++ b/src/food-market.pos/ViewModels/ViewModels.cs @@ -61,6 +61,7 @@ private void StartSession() { CashierName = _svc!.Session?.CashierName ?? "кассир"; QueueCount = _svc.Store.PendingCount(); + _ = ResolvePointNameAsync(); _sale = new SaleViewModel(_svc) { PaymentRequested = OpenPayment, SaleCommitted = _ => RefreshStatus(), @@ -72,6 +73,25 @@ private void StartSession() _ = CheckForUpdateAsync(); } + /// Резолвит название точки продаж (для шапки чека и верхней полосы). + private async Task ResolvePointNameAsync() + { + var pid = _svc?.Session?.RetailPointId; + if (_svc?.Api is null || pid is null) return; + try + { + var points = await _svc.Api.RetailPointsAsync(); + var name = points.items.FirstOrDefault(p => p.id == pid.Value)?.name; + if (!string.IsNullOrWhiteSpace(name)) + { + PointName = name; + StoreName = name; + if (_svc.Session is not null) _svc.Session.StoreName = name; + } + } + catch { /* офлайн — оставляем значения по умолчанию */ } + } + private async Task CheckForUpdateAsync() { if (_svc?.Api is null) return; diff --git a/src/food-market.pos/Views/Brand.cs b/src/food-market.pos/Views/Brand.cs new file mode 100644 index 0000000..a5468ea --- /dev/null +++ b/src/food-market.pos/Views/Brand.cs @@ -0,0 +1,42 @@ +using System; +using Avalonia; +using Avalonia.Controls; +using Avalonia.Media.Imaging; +using Avalonia.Platform; +using Avalonia.Styling; + +namespace foodmarket.Pos.Views; + +/// Логотип и иконка ALL MARKET из ресурсов (avares). Логотип подбирается +/// под тему: color на светлой, white на тёмной. Файлы готовые — не перерисовывать. +public static class Brand +{ + private const string Pkg = "avares://foodmarket.Pos/Assets/"; + + private static bool IsDark => + Application.Current?.ActualThemeVariant == ThemeVariant.Dark; + + /// Загрузить логотип (под текущую тему) в переданный Image. + public static void ApplyLogo(Image? target) + { + if (target is null) return; + var file = IsDark ? "allmarket-logo-white.png" : "allmarket-logo-color.png"; + try + { + using var s = AssetLoader.Open(new Uri(Pkg + file)); + target.Source = new Bitmap(s); + } + catch { /* ресурс недоступен — оставить пустым */ } + } + + /// Поставить иконку окна/приложения. + public static void ApplyWindowIcon(Window window) + { + try + { + using var s = AssetLoader.Open(new Uri(Pkg + "allmarket.ico")); + window.Icon = new WindowIcon(s); + } + catch { /* ресурс недоступен */ } + } +} diff --git a/src/food-market.pos/Views/LoginView.axaml b/src/food-market.pos/Views/LoginView.axaml index f614cb5..6521626 100644 --- a/src/food-market.pos/Views/LoginView.axaml +++ b/src/food-market.pos/Views/LoginView.axaml @@ -6,12 +6,9 @@ - - - - - - + + + diff --git a/src/food-market.pos/Views/LoginView.axaml.cs b/src/food-market.pos/Views/LoginView.axaml.cs index e5a418f..73e631c 100644 --- a/src/food-market.pos/Views/LoginView.axaml.cs +++ b/src/food-market.pos/Views/LoginView.axaml.cs @@ -4,5 +4,9 @@ namespace foodmarket.Pos.Views; public partial class LoginView : UserControl { - public LoginView() => InitializeComponent(); + public LoginView() + { + InitializeComponent(); + Brand.ApplyLogo(this.FindControl("BrandLogo")); + } } diff --git a/src/food-market.pos/Views/MainWindow.axaml b/src/food-market.pos/Views/MainWindow.axaml index 26582af..d6a59de 100644 --- a/src/food-market.pos/Views/MainWindow.axaml +++ b/src/food-market.pos/Views/MainWindow.axaml @@ -4,7 +4,7 @@ x:Class="foodmarket.Pos.Views.MainWindow" x:DataType="vm:MainWindowViewModel" Width="1366" Height="768" MinWidth="1100" MinHeight="680" - Background="{DynamicResource PosBg}" Title="Касса food-market" + Background="{DynamicResource PosBg}" Title="ALL MARKET · Касса" WindowStartupLocation="CenterScreen"> @@ -12,10 +12,11 @@ - - - - + + + + + diff --git a/src/food-market.pos/Views/MainWindow.axaml.cs b/src/food-market.pos/Views/MainWindow.axaml.cs index 3b28ea1..034d427 100644 --- a/src/food-market.pos/Views/MainWindow.axaml.cs +++ b/src/food-market.pos/Views/MainWindow.axaml.cs @@ -11,6 +11,8 @@ public MainWindow() { InitializeComponent(); AddHandler(KeyDownEvent, OnKeyDown, Avalonia.Interactivity.RoutingStrategies.Tunnel); + Brand.ApplyWindowIcon(this); + Brand.ApplyLogo(this.FindControl("BrandLogo")); // Адаптив шапки по ширине: при нехватке места сокращаем тексты чипов и // прячем «Магазин …», но чипы статуса никогда не обрезаем. this.GetObservable(BoundsProperty).Subscribe(new BoundsObserver(_ => ApplyTopBarDensity())); diff --git a/src/food-market.pos/food-market.pos.csproj b/src/food-market.pos/food-market.pos.csproj index 37751b9..35a3a6b 100644 --- a/src/food-market.pos/food-market.pos.csproj +++ b/src/food-market.pos/food-market.pos.csproj @@ -7,9 +7,14 @@ enable enable true - + Assets\allmarket.ico + + + + +