Updated PR and Added snackbar Translations

This commit is contained in:
just_stuff_tm 2026-02-22 16:06:08 -05:00
parent 81a423d096
commit 332bb5ef3a
21 changed files with 204 additions and 13 deletions

View file

@ -0,0 +1,48 @@
# Local Agent Operating Rules (Untracked)
This file is NOT version-controlled.
It overrides default agent behavior for this workstation only.
---
## Core Behavior
- Always search the codebase before editing.
- Produce a short plan before modifying BLE or protocol logic.
- Never modify BLE frame structure or command codes without explicit approval.
- After editing connector code, re-check command/response mappings.
- Never perform destructive operations (delete files, mass refactor) without confirmation.
---
## Protocol Discipline
- maxFrameSize must remain 172 unless explicitly instructed.
- Identity hash size is 1 byte (PATH_HASH_SIZE).
- Companion radio formats must not change silently.
- Command codes and response codes must remain backward-compatible.
---
## Coding Discipline
- Keep modifications minimal.
- Prefer refactoring over rewriting.
- Follow existing Flutter patterns (StatelessWidget + Consumer).
- Avoid premature abstraction.
- Explain what changed and why.
---
## Learning Mode
When discovering:
- a working build command
- a protocol quirk
- a confirmed packet layout rule
Append a concise bullet to:
.local-agent/memory.local.md
Keep memory under 15 bullets max.

View file

@ -0,0 +1,6 @@
\# Local Learned Patterns (Machine-Specific)
(empty)

View file

@ -363,6 +363,14 @@
}
}
},
"channels_channelDeleteFailed": "Failed to delete channel \"{name}\"",
"@channels_channelDeleteFailed": {
"placeholders": {
"name": {
"type": "String"
}
}
},
"channels_channelDeleted": "Channel \"{name}\" deleted",
"@channels_channelDeleted": {
"placeholders": {

View file

@ -1570,6 +1570,12 @@ abstract class AppLocalizations {
/// **'Delete \"{name}\"? This cannot be undone.'**
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.
///
/// In en, this message translates to:

View file

@ -812,6 +812,11 @@ class AppLocalizationsBg extends AppLocalizations {
return 'Изтрий \"$name\"? Това не може да бъде отменено.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Каналът \"$name\" е изтрит';

View file

@ -809,6 +809,11 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Löschen von \"$name\"? Dies kann nicht rückgängig gemacht werden.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Kanal \"$name\" gelöscht';

View file

@ -801,6 +801,11 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Delete \"$name\"? This cannot be undone.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Channel \"$name\" deleted';

View file

@ -810,6 +810,11 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Eliminar \"$name\"? Esto no se puede deshacer.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Canal \"$name\" eliminado';

View file

@ -812,6 +812,11 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Supprimer $name? Cela ne peut pas être annulé.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Le canal \"$name\" a été supprimé';

View file

@ -808,6 +808,11 @@ class AppLocalizationsIt extends AppLocalizations {
return 'Eliminare \"$name\"? Non può essere annullato.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Canale \"$name\" eliminato';

View file

@ -806,6 +806,11 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Verwijderen \"$name\"? Dit kan niet worden teruggedraaid.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Kanaal \"$name\" verwijderd';

View file

@ -811,6 +811,11 @@ class AppLocalizationsPl extends AppLocalizations {
return 'Usuń \"$name\"? Nie można tego cofnąć.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Kanał \"$name\" usunięto';

View file

@ -811,6 +811,11 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Excluir \"$name\"? Não pode ser desfeito.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Canal \"$name\" excluído';

View file

@ -809,6 +809,11 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Удалить \"$name\"? Это действие нельзя отменить.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Канал \"$name\" удалён';

View file

@ -806,6 +806,11 @@ class AppLocalizationsSk extends AppLocalizations {
return 'Odstrániť \"$name\"? To sa nedá zrušiť.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Kanál \"$name\" bol odstránený';

View file

@ -804,6 +804,11 @@ class AppLocalizationsSl extends AppLocalizations {
return 'Izbrišem \"$name\"? To se ne da povrniti.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Kanal \"$name\" izbrisan.';

View file

@ -800,6 +800,11 @@ class AppLocalizationsSv extends AppLocalizations {
return 'Radera \"$name\"? Detta kan inte ångras.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Kanalen \"$name\" raderad';

View file

@ -807,6 +807,11 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Видалити $name? Це не можна скасувати.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return 'Канал «$name» видалено';

View file

@ -769,6 +769,11 @@ class AppLocalizationsZh extends AppLocalizations {
return 'Delete \"$name\"? This cannot be undone.';
}
@override
String channels_channelDeleteFailed(String name) {
return 'Failed to delete channel \"$name\"';
}
@override
String channels_channelDeleted(String name) {
return '删除频道 \"$name\"';

View file

@ -1524,18 +1524,14 @@ class _ChannelsScreenState extends State<ChannelsScreen>
try {
await connector.deleteChannel(channel.index);
channelMessageStore.clearChannelMessages(
channel.index,
);
channelMessageStore.clearChannelMessages(channel.index);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
context.l10n.channels_channelDeleted(
channel.name,
),
context.l10n.channels_channelDeleted(channel.name),
),
),
);
@ -1545,17 +1541,13 @@ class _ChannelsScreenState extends State<ChannelsScreen>
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
context.l10n.channels_channelDeleteFailed(
channel.name,
),
context.l10n.channels_channelDeleteFailed(channel.name),
),
),
);
// Preserve existing logging (if it was there)
debugPrint(
'Failed to delete channel: $e\n$st',
);
debugPrint('Failed to delete channel: $e\n$st');
}
},
child: Text(

View file

@ -1 +1,57 @@
{}
{
"bg": [
"channels_channelDeleteFailed"
],
"de": [
"channels_channelDeleteFailed"
],
"es": [
"channels_channelDeleteFailed"
],
"fr": [
"channels_channelDeleteFailed"
],
"it": [
"channels_channelDeleteFailed"
],
"nl": [
"channels_channelDeleteFailed"
],
"pl": [
"channels_channelDeleteFailed"
],
"pt": [
"channels_channelDeleteFailed"
],
"ru": [
"channels_channelDeleteFailed"
],
"sk": [
"channels_channelDeleteFailed"
],
"sl": [
"channels_channelDeleteFailed"
],
"sv": [
"channels_channelDeleteFailed"
],
"uk": [
"channels_channelDeleteFailed"
],
"zh": [
"channels_channelDeleteFailed"
]
}