mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-13 17:30:28 +00:00
feat: Add support for hash and private channels with corresponding UI updates
- Introduced new localization strings for channel types and their descriptions in Italian, German, Spanish, French, Croatian, Slovenian, and English. - Updated the `AppProvider` to handle channel info reception, including deletion of channels and updating the UI accordingly. - Enhanced `ChannelsProvider` to support channel removal and notify listeners. - Modified `ConnectionProvider` to include methods for checking empty channel slots and deleting channels. - Updated BLE service methods to handle channel deletion and verification. - Improved the `AddChannelDialog` to differentiate between hash and private channels, including dynamic UI elements based on channel type. - Added delete functionality for channels in the `ContactTile` widget with confirmation dialogs. - Adjusted permission request dialog behavior to allow dismissing by tapping outside.
This commit is contained in:
@@ -3491,6 +3491,16 @@
|
||||
"description": "Help text explaining channel secret"
|
||||
},
|
||||
|
||||
"channelTypesInfo": "Hash channels (#team): Secret auto-generated from name. Same name = same channel across devices.\n\nPrivate channels: Use explicit secret. Only those with the secret can join.",
|
||||
"@channelTypesInfo": {
|
||||
"description": "Information banner explaining hash and private channel types"
|
||||
},
|
||||
|
||||
"hashChannelInfo": "Hash channel: Secret will be auto-generated from the channel name. Anyone using the same name will join the same channel.",
|
||||
"@hashChannelInfo": {
|
||||
"description": "Help text for hash channels (# prefix)"
|
||||
},
|
||||
|
||||
"channelNameRequired": "Channel name is required",
|
||||
"@channelNameRequired": {
|
||||
"description": "Validation error for empty channel name"
|
||||
@@ -3531,6 +3541,36 @@
|
||||
}
|
||||
},
|
||||
|
||||
"deleteChannel": "Delete Channel",
|
||||
"@deleteChannel": {
|
||||
"description": "Delete channel button/menu item"
|
||||
},
|
||||
|
||||
"deleteChannelConfirmation": "Are you sure you want to delete channel \"{channelName}\"? This action cannot be undone.",
|
||||
"@deleteChannelConfirmation": {
|
||||
"description": "Confirmation dialog when deleting a channel",
|
||||
"placeholders": {
|
||||
"channelName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"channelDeletedSuccessfully": "Channel deleted successfully",
|
||||
"@channelDeletedSuccessfully": {
|
||||
"description": "Success message after deleting channel"
|
||||
},
|
||||
|
||||
"channelDeletionFailed": "Failed to delete channel: {error}",
|
||||
"@channelDeletionFailed": {
|
||||
"description": "Error message when channel deletion fails",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"allChannelSlotsInUse": "All channel slots are in use (maximum 39 custom channels)",
|
||||
"@allChannelSlotsInUse": {
|
||||
"description": "Error when no channel slots available"
|
||||
|
||||
Reference in New Issue
Block a user