From 489402be91c45a4a8b85a7b3157e0f1b86fb1978 Mon Sep 17 00:00:00 2001 From: krille-chan Date: Thu, 20 Nov 2025 20:55:36 +0100 Subject: [PATCH] feat: Edit displayname and attribution for sticker packs --- .../settings_emotes/settings_emotes.dart | 22 +++++++++++++++++++ .../settings_emotes/settings_emotes_view.dart | 7 ++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/pages/settings_emotes/settings_emotes.dart b/lib/pages/settings_emotes/settings_emotes.dart index 0dc860ea3..b1de7f161 100644 --- a/lib/pages/settings_emotes/settings_emotes.dart +++ b/lib/pages/settings_emotes/settings_emotes.dart @@ -171,6 +171,28 @@ class EmotesSettingsController extends State { }); } + void submitDisplaynameAction() { + if (readonly) return; + packDisplayNameController.text = packDisplayNameController.text.trim(); + final input = packDisplayNameController.text; + + setState(() { + pack!.pack.displayName = input; + showSave = true; + }); + } + + void submitAttributionAction() { + if (readonly) return; + packAttributionController.text = packAttributionController.text.trim(); + final input = packAttributionController.text; + + setState(() { + pack!.pack.attribution = input; + showSave = true; + }); + } + void submitImageAction( String oldImageCode, ImagePackImageContent image, diff --git a/lib/pages/settings_emotes/settings_emotes_view.dart b/lib/pages/settings_emotes/settings_emotes_view.dart index 58dc5ffac..d2f1b47ba 100644 --- a/lib/pages/settings_emotes/settings_emotes_view.dart +++ b/lib/pages/settings_emotes/settings_emotes_view.dart @@ -159,7 +159,8 @@ class EmotesSettingsView extends StatelessWidget { child: TextField( maxLength: 256, controller: controller.packDisplayNameController, - readOnly: true, //controller.readonly, + readOnly: controller.readonly, + onSubmitted: (_) => controller.submitDisplaynameAction(), decoration: InputDecoration( counter: const SizedBox.shrink(), hintText: controller.stateKey, @@ -173,7 +174,8 @@ class EmotesSettingsView extends StatelessWidget { child: TextField( maxLength: 256, controller: controller.packAttributionController, - readOnly: true, //controller.readonly, + readOnly: controller.readonly, + onSubmitted: (_) => controller.submitAttributionAction(), decoration: InputDecoration( counter: const SizedBox.shrink(), labelText: L10n.of(context).attribution, @@ -360,6 +362,7 @@ class _EmoteImage extends StatelessWidget { width: size, height: size, isThumbnail: true, + animated: true, ), ); }