Skip to content

Commit 71e181e

Browse files
committed
Merge development into feat/vpn-link-selector: resolve conflicts by keeping development versions
2 parents 18afe04 + f381149 commit 71e181e

38 files changed

Lines changed: 979 additions & 894 deletions

.github/workflows/quality.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@ jobs:
2121
runs-on: ubuntu-latest
2222
steps:
2323
- uses: actions/checkout@v4
24-
- name: Setup dart
25-
uses: dart-lang/setup-dart@v1
24+
- name: Setup Flutter
25+
uses: subosito/flutter-action@v2
26+
with:
27+
channel: stable
28+
flutter-version-file: pubspec.yaml
2629
- name: Format code
2730
run: dart format --output=none --set-exit-if-changed .
2831
matrics:

.vscode/settings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"IDX.aI.enableInlineCompletion": true,
3+
"IDX.aI.enableCodebaseIndexing": true
4+
}

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Changelog
2+
3+
4+
## [Unreleased]
5+
6+
### Added
7+
- Run scripts for different platforms (Android device/emulator, iOS device/simulator)
8+
- Flutter Gen integration for better asset management
9+
- Improved localization with proper l10n configuration
10+
- Enhanced search dialog UI and state management
11+
12+
### Changed
13+
- Replaced flutter_v2ray with vpnclient_engine_flutter
14+
- Updated dependencies and removed unused code
15+
- Improved UI responsiveness and overflow handling
16+
- Refactored main.dart for better localization support
17+
18+
### Fixed
19+
- Resolved potential UI overflow issues in search dialog
20+
- Enhanced state initialization and lifecycle management
21+
- Improved layout responsiveness and SafeArea integration
22+
23+
## [1.0.12] - 2025-01-XX
24+
25+
### Added
26+
- Initial release of VPN Client app
27+
- Basic VPN functionality
28+
- Multi-language support (English, Russian, Thai, Chinese)
29+
- Dark/Light theme support
30+
- Server selection interface
31+
- Apps management page
32+
33+
### Changed
34+
- Initial project structure and architecture
35+
36+
### Fixed
37+
- Various UI improvements and bug fixes

assets/lang/en.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
3+
"app_name": "VPN Client",
4+
"apps_selection": "App Selection",
5+
"search": "Search",
6+
"your_location": "Your Location",
7+
"auto_select": "Auto Select",
8+
"kazakhstan": "Kazakhstan",
9+
"turkey": "Turkey",
10+
"poland": "Poland",
11+
"fastest": "Fastest",
12+
"selected_server": "Selected server",
13+
"server_selection": "Server selection",
14+
"all_servers": "All servers",
15+
"country_name": "Country name",
16+
"all_apps": "All Applications",
17+
"done": "Done",
18+
"cancel": "Cancel",
19+
"recently_searched": "Recently searched",
20+
"nothing_found": "Nothing found",
21+
"connected": "CONNECTED",
22+
"disconnected": "DISCONNECTED",
23+
"reconnecting": "RECONNECTING",
24+
"connecting": "CONNECTING",
25+
"disconnecting": "DISCONNECTING"
26+
}

assets/lang/ru.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
3+
"app_name": "VPN Клиент",
4+
"apps_selection": "Выбор приложений",
5+
"search": "Поиск",
6+
"your_location": "Ваша локация",
7+
"auto_select": "Автовыбор",
8+
"kazakhstan": "Казахстан",
9+
"turkey": "Турция",
10+
"poland": "Польша",
11+
"fastest": "Самый быстрый",
12+
"selected_server": "Выбранный сервер",
13+
"server_selection": "Выбор сервера",
14+
"all_servers": "Все серверы",
15+
"country_name": "Название страны",
16+
"all_apps": "Все приложения",
17+
"done": "Готово",
18+
"cancel": "Отмена",
19+
"recently_searched": "Недавно искали",
20+
"nothing_found": "Ничего не найдено",
21+
"connected": "ПОДКЛЮЧЕН",
22+
"disconnected": "ОТКЛЮЧЕН",
23+
"reconnecting": "Повторное подключение",
24+
"connecting": "ПОДКЛЮЧЕНИЕ",
25+
"disconnecting": "ОТКЛЮЧЕНИЕ"
26+
}

assets/lang/th.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
3+
"app_name": "VPN Client",
4+
"apps_selection": "เลือกแอป",
5+
"search": "ค้นหา",
6+
"your_location": "ตำแหน่งของคุณ",
7+
"auto_select": "เลือกอัตโนมัติ",
8+
"kazakhstan": "คาซัคสถาน",
9+
"turkey": "ตุรกี",
10+
"poland": "โปแลนด์",
11+
"fastest": "เร็วที่สุด",
12+
"selected_server": "เซิร์ฟเวอร์ที่เลือก",
13+
"server_selection": "เลือกเซิร์ฟเวอร์",
14+
"all_servers": "เซิร์ฟเวอร์ทั้งหมด",
15+
"country_name": "ชื่อประเทศ",
16+
"all_apps": "แอปทั้งหมด",
17+
"done": "เสร็จสิ้น",
18+
"cancel": "ยกเลิก",
19+
"recently_searched": "การค้นหาล่าสุด",
20+
"nothing_found": "ไม่พบข้อมูล",
21+
"connected": "เชื่อมต่อแล้ว",
22+
"disconnected": "ไม่ได้เชื่อมต่อ",
23+
"reconnecting": "กำลังเชื่อมต่อใหม่",
24+
"connecting": "กำลังเชื่อมต่อ",
25+
"disconnecting": "กำลังตัดการเชื่อมต่อ"
26+
}

assets/lang/zh.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
3+
"app_name": "VPN客户端",
4+
"apps_selection": "应用选择",
5+
"search": "搜索",
6+
"your_location": "你的位置",
7+
"auto_select": "自动选择",
8+
"kazakhstan": "哈萨克斯坦",
9+
"turkey": "土耳其",
10+
"poland": "波兰",
11+
"fastest": "最快",
12+
"selected_server": "已选择服务器",
13+
"server_selection": "服务器选择",
14+
"all_servers": "所有服务器",
15+
"country_name": "国家名称",
16+
"all_apps": "所有应用",
17+
"done": "完成",
18+
"cancel": "取消",
19+
"recently_searched": "最近搜索",
20+
"nothing_found": "未找到内容",
21+
"connected": "已连接",
22+
"disconnected": "已断开连接",
23+
"reconnecting": "重新连接",
24+
"connecting": "连接中",
25+
"disconnecting": "断开中"
26+
}

l10n.yaml

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// lib/core/constants/storage_keys.dart
2+
class StorageKeys {
3+
static const String selectedApps = 'selected_apps';
4+
static const String selectedServers = 'selected_servers';
5+
static const String recentlySearchedApps = 'recently_searched_apps';
6+
static const String recentlySearchedServers = 'recently_searched_servers';
7+
static const String isDarkTheme = 'isDarkTheme';
8+
}

lib/design/dimensions.dart

Lines changed: 3 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,3 @@
1-
import 'package:flutter/material.dart';
2-
3-
class CustomString {
4-
final BuildContext context;
5-
late Locale locale;
6-
7-
CustomString(this.context) {
8-
locale = Localizations.localeOf(context);
9-
}
10-
11-
String get connected {
12-
return _localized('connected');
13-
}
14-
15-
String get disconnected {
16-
return _localized('disconnected');
17-
}
18-
19-
String get connecting {
20-
return _localized('connecting');
21-
}
22-
23-
String get disconnecting {
24-
return _localized('disconnecting');
25-
}
26-
27-
String get allapp {
28-
return _localized('all_apps');
29-
}
30-
31-
String _localized(String key) {
32-
switch (locale.languageCode) {
33-
case 'ru':
34-
return {
35-
'connected': 'ПОДКЛЮЧЕН',
36-
'disconnected': 'ОТКЛЮЧЕН',
37-
'connecting': 'ПОДКЛЮЧЕНИЕ',
38-
'disconnecting': 'ОТКЛЮЧЕНИЕ',
39-
"all_apps": "Все приложения",
40-
}[key]!;
41-
case 'th':
42-
return {
43-
"connected": "เชื่อมต่อแล้ว",
44-
"disconnected": "ไม่ได้เชื่อมต่อ",
45-
"connecting": "กำลังเชื่อมต่อ",
46-
"disconnecting": "กำลังตัดการเชื่อมต่อ",
47-
"all_apps": "แอปทั้งหมด",
48-
}[key]!;
49-
case 'zh':
50-
return {
51-
"connected": "已连接",
52-
"disconnected": "已断开",
53-
"connecting": "正在连接",
54-
"disconnecting": "正在断开",
55-
"all_apps": "所有应用",
56-
}[key]!;
57-
case 'en':
58-
default:
59-
return {
60-
'connected': 'CONNECTED',
61-
'disconnected': 'DISCONNECTED',
62-
'connecting': 'CONNECTING',
63-
'disconnecting': 'DISCONNECTING',
64-
"all_apps": "All Applications",
65-
}[key]!;
66-
}
67-
}
68-
}
69-
701
// style
712
const double elevation0 = 0;
723

@@ -77,3 +8,6 @@ const double fontSize15 = 15;
778
const double fontSize17 = 17;
789
const double fontSize24 = 24;
7910
const double fontSize40 = 40;
11+
12+
const String connectionTgUrl = 't.me/vpn_client_bot';
13+
const String supportTgUrl = 't.me/vpn_client_support';

0 commit comments

Comments
 (0)