mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-07-15 05:12:05 +10:00
Merge remote-tracking branch 'origin/issue-fix-channel-edit-delete-actions' into combined-prs
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Неуспешно изтриване на канала \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "bg",
|
"@@locale": "bg",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Контакти",
|
"nav_contacts": "Контакти",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Kanal {name} konnte nicht gelöscht werden",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "de",
|
"@@locale": "de",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Kontakte",
|
"nav_contacts": "Kontakte",
|
||||||
|
|||||||
@@ -365,6 +365,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"channels_channelDeleteFailed": "Failed to delete channel \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": {
|
||||||
|
"placeholders": {
|
||||||
|
"name": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"channels_channelDeleted": "Channel \"{name}\" deleted",
|
"channels_channelDeleted": "Channel \"{name}\" deleted",
|
||||||
"@channels_channelDeleted": {
|
"@channels_channelDeleted": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "No se pudo eliminar el canal \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "es",
|
"@@locale": "es",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Contactos",
|
"nav_contacts": "Contactos",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Échec de la suppression de la chaîne \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "fr",
|
"@@locale": "fr",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Contacts",
|
"nav_contacts": "Contacts",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Impossibile eliminare il canale \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "it",
|
"@@locale": "it",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Contatti",
|
"nav_contacts": "Contatti",
|
||||||
|
|||||||
@@ -1582,6 +1582,12 @@ abstract class AppLocalizations {
|
|||||||
/// **'Delete \"{name}\"? This cannot be undone.'**
|
/// **'Delete \"{name}\"? This cannot be undone.'**
|
||||||
String channels_deleteChannelConfirm(String name);
|
String channels_deleteChannelConfirm(String name);
|
||||||
|
|
||||||
|
/// No description provided for @channels_channelDeleteFailed.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Failed to delete channel \"{name}\"'**
|
||||||
|
String channels_channelDeleteFailed(String name);
|
||||||
|
|
||||||
/// No description provided for @channels_channelDeleted.
|
/// No description provided for @channels_channelDeleted.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
|
|||||||
@@ -820,6 +820,11 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||||||
return 'Изтрий \"$name\"? Това не може да бъде отменено.';
|
return 'Изтрий \"$name\"? Това не може да бъде отменено.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Неуспешно изтриване на канала \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Каналът \"$name\" е изтрит';
|
return 'Каналът \"$name\" е изтрит';
|
||||||
|
|||||||
@@ -817,6 +817,11 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||||||
return 'Löschen von \"$name\"? Dies kann nicht rückgängig gemacht werden.';
|
return 'Löschen von \"$name\"? Dies kann nicht rückgängig gemacht werden.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Kanal $name konnte nicht gelöscht werden';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Kanal \"$name\" gelöscht';
|
return 'Kanal \"$name\" gelöscht';
|
||||||
|
|||||||
@@ -808,6 +808,11 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||||||
return 'Delete \"$name\"? This cannot be undone.';
|
return 'Delete \"$name\"? This cannot be undone.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Failed to delete channel \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Channel \"$name\" deleted';
|
return 'Channel \"$name\" deleted';
|
||||||
|
|||||||
@@ -818,6 +818,11 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||||||
return 'Eliminar \"$name\"? Esto no se puede deshacer.';
|
return 'Eliminar \"$name\"? Esto no se puede deshacer.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'No se pudo eliminar el canal \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Canal \"$name\" eliminado';
|
return 'Canal \"$name\" eliminado';
|
||||||
|
|||||||
@@ -820,6 +820,11 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||||||
return 'Supprimer $name? Cela ne peut pas être annulé.';
|
return 'Supprimer $name? Cela ne peut pas être annulé.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Échec de la suppression de la chaîne \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Le canal \"$name\" a été supprimé';
|
return 'Le canal \"$name\" a été supprimé';
|
||||||
|
|||||||
@@ -816,6 +816,11 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||||||
return 'Eliminare \"$name\"? Non può essere annullato.';
|
return 'Eliminare \"$name\"? Non può essere annullato.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Impossibile eliminare il canale \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Canale \"$name\" eliminato';
|
return 'Canale \"$name\" eliminato';
|
||||||
|
|||||||
@@ -813,6 +813,11 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||||||
return 'Verwijderen \"$name\"? Dit kan niet worden teruggedraaid.';
|
return 'Verwijderen \"$name\"? Dit kan niet worden teruggedraaid.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Kan kanaal $name niet verwijderen';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Kanaal \"$name\" verwijderd';
|
return 'Kanaal \"$name\" verwijderd';
|
||||||
|
|||||||
@@ -818,6 +818,11 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||||||
return 'Usuń \"$name\"? Nie można tego cofnąć.';
|
return 'Usuń \"$name\"? Nie można tego cofnąć.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Nie udało się usunąć kanału \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Kanał \"$name\" usunięto';
|
return 'Kanał \"$name\" usunięto';
|
||||||
|
|||||||
@@ -819,6 +819,11 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||||||
return 'Excluir \"$name\"? Não pode ser desfeito.';
|
return 'Excluir \"$name\"? Não pode ser desfeito.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Falha ao excluir o canal \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Canal \"$name\" excluído';
|
return 'Canal \"$name\" excluído';
|
||||||
|
|||||||
@@ -817,6 +817,11 @@ class AppLocalizationsRu extends AppLocalizations {
|
|||||||
return 'Удалить \"$name\"? Это действие нельзя отменить.';
|
return 'Удалить \"$name\"? Это действие нельзя отменить.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Не удалось удалить канал $name.';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Канал \"$name\" удалён';
|
return 'Канал \"$name\" удалён';
|
||||||
|
|||||||
@@ -813,6 +813,11 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||||||
return 'Odstrániť \"$name\"? To sa nedá zrušiť.';
|
return 'Odstrániť \"$name\"? To sa nedá zrušiť.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Kanál \"$name\" sa nepodarilo odstrániť';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Kanál \"$name\" bol odstránený';
|
return 'Kanál \"$name\" bol odstránený';
|
||||||
|
|||||||
@@ -811,6 +811,11 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||||||
return 'Izbrišem \"$name\"? To se ne da povrniti.';
|
return 'Izbrišem \"$name\"? To se ne da povrniti.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Kanala $name ni bilo mogoče izbrisati';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Kanal \"$name\" izbrisan.';
|
return 'Kanal \"$name\" izbrisan.';
|
||||||
|
|||||||
@@ -807,6 +807,11 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||||||
return 'Radera \"$name\"? Detta kan inte ångras.';
|
return 'Radera \"$name\"? Detta kan inte ångras.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Det gick inte att ta bort kanalen \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Kanalen \"$name\" raderad';
|
return 'Kanalen \"$name\" raderad';
|
||||||
|
|||||||
@@ -815,6 +815,11 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||||||
return 'Видалити $name? Це не можна скасувати.';
|
return 'Видалити $name? Це не можна скасувати.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return 'Не вдалося видалити канал \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return 'Канал «$name» видалено';
|
return 'Канал «$name» видалено';
|
||||||
|
|||||||
@@ -775,6 +775,11 @@ class AppLocalizationsZh extends AppLocalizations {
|
|||||||
return 'Delete \"$name\"? This cannot be undone.';
|
return 'Delete \"$name\"? This cannot be undone.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String channels_channelDeleteFailed(String name) {
|
||||||
|
return '无法删除频道 \"$name\"';
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String channels_channelDeleted(String name) {
|
String channels_channelDeleted(String name) {
|
||||||
return '删除频道 \"$name\"';
|
return '删除频道 \"$name\"';
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Kan kanaal {name} niet verwijderen",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "nl",
|
"@@locale": "nl",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Contacten",
|
"nav_contacts": "Contacten",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Nie udało się usunąć kanału \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "pl",
|
"@@locale": "pl",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Kontakty",
|
"nav_contacts": "Kontakty",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Falha ao excluir o canal \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "pt",
|
"@@locale": "pt",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Contactos",
|
"nav_contacts": "Contactos",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Не удалось удалить канал {name}.",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "ru",
|
"@@locale": "ru",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Контакты",
|
"nav_contacts": "Контакты",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Kanál \"{name}\" sa nepodarilo odstrániť",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "sk",
|
"@@locale": "sk",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Kontakty",
|
"nav_contacts": "Kontakty",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Kanala {name} ni bilo mogoče izbrisati",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "sl",
|
"@@locale": "sl",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Stiki",
|
"nav_contacts": "Stiki",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Det gick inte att ta bort kanalen \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "sv",
|
"@@locale": "sv",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Kontakter",
|
"nav_contacts": "Kontakter",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "Не вдалося видалити канал \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "uk",
|
"@@locale": "uk",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "Контакти",
|
"nav_contacts": "Контакти",
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
|
"channels_channelDeleteFailed": "无法删除频道 \"{name}\"",
|
||||||
|
"@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } },
|
||||||
"@@locale": "zh",
|
"@@locale": "zh",
|
||||||
"appTitle": "MeshCore Open",
|
"appTitle": "MeshCore Open",
|
||||||
"nav_contacts": "联系方式",
|
"nav_contacts": "联系方式",
|
||||||
|
|||||||
@@ -489,12 +489,13 @@ class _ChannelsScreenState extends State<ChannelsScreen>
|
|||||||
ChannelMessageStore channelMessageStore,
|
ChannelMessageStore channelMessageStore,
|
||||||
Channel channel,
|
Channel channel,
|
||||||
) {
|
) {
|
||||||
|
final parentContext = context;
|
||||||
final settingsService = context.read<AppSettingsService>();
|
final settingsService = context.read<AppSettingsService>();
|
||||||
final isMuted = settingsService.isChannelMuted(channel.name);
|
final isMuted = settingsService.isChannelMuted(channel.name);
|
||||||
|
|
||||||
showModalBottomSheet(
|
showModalBottomSheet(
|
||||||
context: context,
|
context: parentContext,
|
||||||
builder: (context) => SafeArea(
|
builder: (sheetContext) => SafeArea(
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
@@ -502,10 +503,10 @@ class _ChannelsScreenState extends State<ChannelsScreen>
|
|||||||
leading: const Icon(Icons.edit_outlined),
|
leading: const Icon(Icons.edit_outlined),
|
||||||
title: Text(context.l10n.channels_editChannel),
|
title: Text(context.l10n.channels_editChannel),
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
Navigator.pop(context);
|
Navigator.pop(sheetContext);
|
||||||
await Future.delayed(const Duration(milliseconds: 100));
|
await Future.delayed(const Duration(milliseconds: 100));
|
||||||
if (context.mounted) {
|
if (parentContext.mounted) {
|
||||||
_showEditChannelDialog(context, connector, channel);
|
_showEditChannelDialog(parentContext, connector, channel);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -521,7 +522,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
|
|||||||
: context.l10n.channels_muteChannel,
|
: context.l10n.channels_muteChannel,
|
||||||
),
|
),
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
Navigator.pop(context);
|
Navigator.pop(sheetContext);
|
||||||
if (isMuted) {
|
if (isMuted) {
|
||||||
await settingsService.unmuteChannel(channel.name);
|
await settingsService.unmuteChannel(channel.name);
|
||||||
} else {
|
} else {
|
||||||
@@ -536,9 +537,9 @@ class _ChannelsScreenState extends State<ChannelsScreen>
|
|||||||
style: const TextStyle(color: Colors.red),
|
style: const TextStyle(color: Colors.red),
|
||||||
),
|
),
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
Navigator.pop(context);
|
Navigator.pop(sheetContext);
|
||||||
await Future.delayed(const Duration(milliseconds: 100));
|
await Future.delayed(const Duration(milliseconds: 100));
|
||||||
if (context.mounted) {
|
if (parentContext.mounted) {
|
||||||
_confirmDeleteChannel(
|
_confirmDeleteChannel(
|
||||||
context,
|
context,
|
||||||
connector,
|
connector,
|
||||||
@@ -1454,7 +1455,7 @@ class _ChannelsScreenState extends State<ChannelsScreen>
|
|||||||
child: Text(dialogContext.l10n.common_cancel),
|
child: Text(dialogContext.l10n.common_cancel),
|
||||||
),
|
),
|
||||||
FilledButton(
|
FilledButton(
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
final name = nameController.text.trim();
|
final name = nameController.text.trim();
|
||||||
final pskHex = pskController.text.trim();
|
final pskHex = pskController.text.trim();
|
||||||
|
|
||||||
@@ -1471,13 +1472,25 @@ class _ChannelsScreenState extends State<ChannelsScreen>
|
|||||||
}
|
}
|
||||||
|
|
||||||
Navigator.pop(dialogContext);
|
Navigator.pop(dialogContext);
|
||||||
connector.setChannel(channel.index, name, psk);
|
try {
|
||||||
connector.setChannelSmazEnabled(channel.index, smazEnabled);
|
await connector.setChannel(channel.index, name, psk);
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
await connector.setChannelSmazEnabled(
|
||||||
SnackBar(
|
channel.index,
|
||||||
content: Text(context.l10n.channels_channelUpdated(name)),
|
smazEnabled,
|
||||||
),
|
);
|
||||||
);
|
if (!context.mounted) return;
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(context.l10n.channels_channelUpdated(name)),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} catch (e, st) {
|
||||||
|
debugPrint(st.toString());
|
||||||
|
if (!context.mounted) return;
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(content: Text('Failed to update channel: $e')),
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Text(dialogContext.l10n.common_save),
|
child: Text(dialogContext.l10n.common_save),
|
||||||
),
|
),
|
||||||
@@ -1506,17 +1519,36 @@ class _ChannelsScreenState extends State<ChannelsScreen>
|
|||||||
child: Text(dialogContext.l10n.common_cancel),
|
child: Text(dialogContext.l10n.common_cancel),
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
Navigator.pop(dialogContext);
|
Navigator.pop(dialogContext);
|
||||||
connector.deleteChannel(channel.index);
|
try {
|
||||||
channelMessageStore.clearChannelMessages(channel.index);
|
await connector.deleteChannel(channel.index);
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
|
||||||
SnackBar(
|
channelMessageStore.clearChannelMessages(channel.index);
|
||||||
content: Text(
|
|
||||||
context.l10n.channels_channelDeleted(channel.name),
|
if (!context.mounted) return;
|
||||||
|
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(
|
||||||
|
context.l10n.channels_channelDeleted(channel.name),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
);
|
||||||
);
|
} catch (e, st) {
|
||||||
|
if (!context.mounted) return;
|
||||||
|
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(
|
||||||
|
context.l10n.channels_channelDeleteFailed(channel.name),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
// Preserve existing logging (if it was there)
|
||||||
|
debugPrint('Failed to delete channel: $e\n$st');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
dialogContext.l10n.common_delete,
|
dialogContext.l10n.common_delete,
|
||||||
|
|||||||
+1
-1
@@ -1140,4 +1140,4 @@ packages:
|
|||||||
version: "3.1.3"
|
version: "3.1.3"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.10.3 <4.0.0"
|
dart: ">=3.10.3 <4.0.0"
|
||||||
flutter: ">=3.38.4"
|
flutter: ">=3.38.4"
|
||||||
Reference in New Issue
Block a user