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:
@@ -19,6 +19,11 @@ class _ListHistory {
|
||||
}
|
||||
|
||||
List get all => _history;
|
||||
|
||||
void clear() {
|
||||
_history.clear();
|
||||
_box.put(_name, _history);
|
||||
}
|
||||
}
|
||||
|
||||
class _MapHistory {
|
||||
@@ -44,13 +49,13 @@ class HistoryStore extends HiveStore {
|
||||
|
||||
static final instance = HistoryStore._();
|
||||
|
||||
/// Paths that user has visited by 'Locate' button
|
||||
late final sftpGoPath = _ListHistory(box: box, name: 'sftpPath');
|
||||
|
||||
late final sftpLastPath = _MapHistory(box: box, name: 'sftpLastPath');
|
||||
|
||||
late final sshCmds = _ListHistory(box: box, name: 'sshCmds');
|
||||
|
||||
/// Notify users that this app will write script to server to works properly
|
||||
late final sshServerHistory = _ListHistory(box: box, name: 'sshServerHistory');
|
||||
|
||||
late final writeScriptTipShown = propertyDefault('writeScriptTipShown', false);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user