Add channel management features and localization support

- Implemented functionality to add new channels with a dialog interface.
- Added validation for channel name and secret inputs, ensuring they meet specified criteria.
- Integrated channel creation logic into the connection provider, including automatic slot assignment and MD5 hashing for channel secrets.
- Updated localization files for multiple languages (Spanish, French, Croatian, Italian, German, Slovenian, and English) to include new channel-related strings.
- Enhanced the contacts tab to display the add channel button conditionally based on device connection status.
- Refactored the contacts tab to improve readability and maintainability.
This commit is contained in:
Janez T
2025-10-28 10:17:02 +01:00
parent 6b15006d4e
commit e6289199ba
20 changed files with 1092 additions and 122 deletions

View File

@@ -1932,4 +1932,55 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get recentMessages => 'Aktuelle Nachrichten';
@override
String get addChannel => 'Kanal hinzufügen';
@override
String get channelName => 'Kanalname';
@override
String get channelNameHint => 'z.B. Rettungsteam Alpha';
@override
String get channelSecret => 'Kanal-Passwort';
@override
String get channelSecretHint => 'Gemeinsames Passwort für diesen Kanal';
@override
String get channelSecretHelp =>
'Dieses Passwort muss mit allen Teammitgliedern geteilt werden, die Zugriff auf diesen Kanal benötigen';
@override
String get channelNameRequired => 'Kanalname ist erforderlich';
@override
String get channelNameTooLong =>
'Kanalname darf maximal 31 Zeichen lang sein';
@override
String get channelSecretRequired => 'Kanal-Passwort ist erforderlich';
@override
String get channelSecretTooLong =>
'Kanal-Passwort darf maximal 32 Zeichen lang sein';
@override
String get invalidAsciiCharacters => 'Nur ASCII-Zeichen sind erlaubt';
@override
String get channelCreatedSuccessfully => 'Kanal erfolgreich erstellt';
@override
String channelCreationFailed(String error) {
return 'Kanal konnte nicht erstellt werden: $error';
}
@override
String get allChannelSlotsInUse =>
'Alle Kanalplätze sind belegt (maximal 39 benutzerdefinierte Kanäle)';
@override
String get createChannel => 'Kanal erstellen';
}