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
This commit is contained in:
282
BRANDING_CHECK.md
Normal file
282
BRANDING_CHECK.md
Normal file
@@ -0,0 +1,282 @@
|
||||
# ✅ Проверка брендинга 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 конфиги
|
||||
- ⏳ Нужно добавить иконки в правильных форматах
|
||||
|
||||
**Но сам код приложения готов для всех платформ!** 🎉
|
||||
Reference in New Issue
Block a user