feat (SSH page): Added server sorting, search, and history features (#1097)

* feat (SSH page): Added server sorting, search, and history features

- Added sorting functionality to the SSH page, supporting sorting by name or date added
- Added a server search feature, allowing searches by name, username, or IP address
- Implemented a server access history feature, allowing users to view and clear the history
- Added persistent storage for sorting options in Settings
- Updated the multilingual files to support the new features

* fix(ssh/tab): Fixed an issue where tabs were not refreshed after sorting

Added _tabRN.notify() to refresh tabs after sorting, while also changing _TabBar from ConsumerWidget to StatelessWidget and fixing the sorting logic

* fix(ssh/tab): Fixed an issue where tabs were not refreshed after sorting

Added _tabRN.notify() to refresh tabs after sorting, while also changing _TabBar from ConsumerWidget to StatelessWidget and fixing the sorting logic

* fix(ssh): Fixed the sorting functionality and optimized the UI display

- Fixed performance issues caused by using `indexOf` during server sorting; switched to pre-built index mappings
- Optimized divider colors to use theme colors
- Removed unnecessary nested `Column` and `Expanded` structures
- Replaced hard-coded blue with theme colors
- Added error handling to display a snackbar
- Ensured all `ValueNotifier` instances are properly released upon disposal
This commit is contained in:
GT610
2026-04-02 14:46:50 +08:00
committed by GitHub
parent d79770e6cc
commit 1d3534242c
21 changed files with 730 additions and 32 deletions

View File

@@ -282,4 +282,7 @@ class SettingStore extends HiveStore {
/// Hide port forward beta warning
late final portForwardBetaWarned = propertyDefault('portForwardBetaWarned', false);
late final sshPageSortBy = propertyDefault('sshPageSortBy', 0);
late final sshPageSortAsc = propertyDefault('sshPageSortAsc', true);
}