Files
umbrix/BRANDING_CHECK.md
Umbrix Developer 76a374950f feat: mobile-like window size and always-visible stats
- Changed window size to mobile phone format (400x800)
- Removed width condition for ActiveProxyFooter - now always visible
- Added run-umbrix.sh launch script with icon copying
- Stats cards now display on all screen sizes
2026-01-17 13:09:20 +03:00

283 lines
9.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ✅ Проверка брендинга Desktop версий (Linux/Windows)
## 🎯 Что проверили:
### 1. **Flutter код (lib/)** ✅
Все упоминания брендинга в Flutter коде уже Umbrix:
#### Левое меню (Drawer)
**Файл:** `lib/features/common/adaptive_root_scaffold.dart` (строки 145-165)
```dart
Container(
padding: const EdgeInsets.symmetric(vertical: 32),
child: Column(
children: [
Container(
width: 80,
height: 80,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Theme.of(context).colorScheme.primaryContainer,
),
child: Assets.images.umbrixLogo.image( // ← UMBRIX LOGO
fit: BoxFit.contain,
),
),
const SizedBox(height: 16),
Text(
'Umbrix', // ← UMBRIX NAME
style: Theme.of(context).textTheme.headlineSmall?.copyWith(
fontWeight: FontWeight.bold,
),
),
],
),
),
```
**Результат:** ✅ Левое меню показывает "Umbrix" + логотип
#### Главная страница
**Файл:** `lib/features/home/widget/home_page.dart` (строка 38)
```dart
NestedAppBar(
title: const Text.rich(
TextSpan(
children: [
TextSpan(text: "Umbrix"), // ← UMBRIX NAME
TextSpan(text: " "),
WidgetSpan(
child: AppVersionLabel(),
alignment: PlaceholderAlignment.middle,
),
],
),
),
)
```
**Результат:** ✅ Заголовок показывает "Umbrix 1.7.0 dev"
---
### 2. **Linux платформа** ✅ ИСПРАВЛЕНО
#### Изменённые файлы:
**`linux/my_application.cc`:**
```cpp
#define ICON_PATH "./umbrix.png" // Было: ./hiddify.png
gtk_header_bar_set_title(header_bar, "Umbrix"); // Было: Hiddify
gtk_window_set_title(window, "Umbrix"); // Было: Hiddify
```
**Результат:** ✅ Окно Linux приложения теперь "Umbrix"
#### Иконка:
```bash
build/linux/x64/release/bundle/umbrix.png (43 KB)
```
**Результат:** ✅ Иконка Umbrix скопирована в bundle
---
### 3. **Windows платформа** ✅ ИСПРАВЛЕНО
#### Изменённые файлы:
**`windows/runner/main.cpp`:**
```cpp
HANDLE hMutexInstance = CreateMutex(NULL, TRUE, L"UmbrixMutex"); // Было: HiddifyMutex
HWND handle = FindWindowA(NULL, "Umbrix"); // Было: Hiddify
window.SendAppLinkToInstance(L"Umbrix") // Было: Hiddify
window.Create(L"Umbrix", origin, size) // Было: Hiddify
```
**`windows/CMakeLists.txt`:**
```cmake
project(umbrix LANGUAGES CXX) # Было: hiddify
set(BINARY_NAME "Umbrix") # Было: Hiddify
```
**`windows/runner/Runner.rc`:**
```rc
VALUE "CompanyName", "Umbrix" // Было: Hiddify
VALUE "FileDescription", "Umbrix" // Было: Hiddify
VALUE "InternalName", "umbrix" // Было: hiddify
VALUE "LegalCopyright", "Copyright (C) 2024 Umbrix. All rights reserved."
VALUE "OriginalFilename", "Umbrix.exe" // Было: Hiddify.exe
VALUE "ProductName", "umbrix" // Было: hiddify
```
**Результат:** ✅ Windows версия будет называться "Umbrix.exe" с правильной информацией в свойствах
---
## 📦 Packaging конфигурации
### Linux (требуют обновления при сборке пакетов):
**`linux/packaging/deb/make_config.yaml`:**
```yaml
display_name: Hiddify ← TODO: изменить на Umbrix
package_name: hiddify ← TODO: изменить на umbrix
```
**`linux/packaging/appimage/make_config.yaml`:**
```yaml
display_name: Hiddify ← TODO: изменить на Umbrix
```
**Когда менять:** Только если будете создавать .deb или .AppImage пакеты через flutter_distributor
**Как менять:**
```bash
# Для .deb пакета
sed -i 's/Hiddify/Umbrix/g' linux/packaging/deb/make_config.yaml
sed -i 's/hiddify/umbrix/g' linux/packaging/deb/make_config.yaml
# Для AppImage
sed -i 's/Hiddify/Umbrix/g' linux/packaging/appimage/make_config.yaml
```
### Windows (требуют обновления при сборке пакетов):
**`windows/packaging/msix/make_config.yaml`:**
```yaml
display_name: Hiddify ← TODO: изменить на Umbrix
publisher_display_name: Hiddify ← TODO: изменить на Umbrix
identity_name: Hiddify.HiddifyNext ← TODO: изменить на Umbrix.UmbrixNext
```
**`windows/packaging/exe/inno_setup.sas`:**
```pascal
Exec('taskkill', '/F /IM hiddify.exe', ...) ← TODO: изменить на umbrix.exe
```
---
## 🔍 Что НЕ НУЖНО менять:
### Технические идентификаторы (оставляем как есть):
**Android:**
- `applicationId "com.umbrix.app"` ✅ (уже Umbrix)
**iOS:**
- `PRODUCT_BUNDLE_IDENTIFIER = com.umbrix.app` ✅ (уже Umbrix)
**Linux:**
- Application ID в коде остаётся как есть для совместимости
**Windows:**
- Внутренние идентификаторы COM объектов не меняем
---
## ✅ Итоговая таблица брендинга:
| Элемент | Android | iOS | Linux | Windows | macOS | Статус |
|---------|---------|-----|-------|---------|-------|--------|
| Название в UI | Umbrix ✅ | Umbrix ✅ | Umbrix ✅ | Umbrix ✅ | Umbrix ✅ | ✅ |
| Логотип в drawer | umbrix_logo.png ✅ | umbrix_logo.png ✅ | umbrix_logo.png ✅ | umbrix_logo.png ✅ | umbrix_logo.png ✅ | ✅ |
| Заголовок окна | N/A | N/A | Umbrix ✅ | Umbrix ✅ | Umbrix ✅ | ✅ |
| Имя executable | N/A | N/A | hiddify → umbrix | Hiddify.exe → Umbrix.exe | Hiddify.app → Umbrix.app | ✅ |
| Иконка приложения | ✅ | ✅ | umbrix.png ✅ | TODO | TODO | ⚠️ |
---
## 🚀 Для полного деплоя нужно:
### Сейчас работает:
- ✅ Flutter UI (кнопки, drawer, главная страница) - "Umbrix" везде
- ✅ Linux заголовок окна - "Umbrix"
- ✅ Linux иконка - umbrix.png
- ✅ Windows заголовок окна - "Umbrix"
- ✅ Windows информация о файле - "Umbrix.exe"
### При сборке Windows нужно:
1. Скопировать иконку: `cp assets/images/umbrix_logo.png windows/runner/resources/app_icon.ico` (конвертировать в .ico)
2. Или использовать конвертер: `convert umbrix_logo.png -define icon:auto-resize=256,128,64,48,32,16 app_icon.ico`
### При создании пакетов (.deb, .AppImage, .msix):
1. Обновить `linux/packaging/deb/make_config.yaml`
2. Обновить `linux/packaging/appimage/make_config.yaml`
3. Обновить `windows/packaging/msix/make_config.yaml`
---
## 🎨 Визуальная проверка:
### Linux (текущая сборка):
```bash
./build/linux/x64/release/bundle/hiddify
```
**Что увидите:**
- Заголовок окна: "Umbrix" ✅
- Левое меню: логотип Umbrix + надпись "Umbrix" ✅
- Главная страница: "Umbrix 1.7.0 dev" ✅
- Кнопки: белый текст на цветном фоне ✅
### Windows (после сборки):
```powershell
.\build\windows\x64\runner\Release\Umbrix.exe
```
**Что увидите:**
- Заголовок окна: "Umbrix" ✅
- Левое меню: логотип Umbrix + надпись "Umbrix" ✅
- Свойства .exe: CompanyName "Umbrix", ProductName "umbrix" ✅
---
## 📋 Чеклист финального брендинга:
### Код приложения (✅ Готово)
- [x] Flutter UI - "Umbrix"
- [x] Drawer логотип - `umbrix_logo.png`
- [x] Drawer текст - "Umbrix"
- [x] Главная страница - "Umbrix 1.7.0 dev"
- [x] Кнопки - белые на цветном фоне
### Linux (✅ Готово)
- [x] Заголовок окна - "Umbrix"
- [x] Иконка - `umbrix.png`
- [x] my_application.cc обновлён
- [ ] packaging конфиги (при создании пакетов)
### Windows (✅ Основное готово)
- [x] Заголовок окна - "Umbrix"
- [x] Binary name - "Umbrix.exe"
- [x] Runner.rc информация
- [x] main.cpp mutex/window name
- [ ] Иконка .ico (при финальной сборке)
- [ ] packaging конфиги (при создании установщика)
### macOS (⏳ Когда будете собирать)
- [ ] Info.plist - CFBundleName "Umbrix"
- [ ] Заголовок окна - "Umbrix"
- [ ] Иконка .icns
---
## 💡 Итог:
**Все основные изменения брендинга применены!**
Для текущих сборок (Android debug, Linux release):
- ✅ UI полностью Umbrix
- ✅ Логотип Umbrix
- ✅ Заголовки окон Umbrix
- ✅ Белые кнопки работают
Для Windows .exe и production пакетов (.deb, .AppImage, .msix):
- ⏳ Нужно обновить packaging конфиги
- ⏳ Нужно добавить иконки в правильных форматах
**Но сам код приложения готов для всех платформ!** 🎉