diff --git a/lib/l10n/intl_uz.arb b/lib/l10n/intl_uz.arb index 7737b4667..eacb617ec 100644 --- a/lib/l10n/intl_uz.arb +++ b/lib/l10n/intl_uz.arb @@ -2168,7 +2168,7 @@ "type": "String", "placeholders": {} }, - "unknownEvent": "Noma’lum shifrlash algoritmi", + "unknownEvent": "Noma’lum hodisa '{type}'", "@unknownEvent": { "type": "String", "placeholders": { @@ -2604,7 +2604,7 @@ "@shareKeysWithDescription": {}, "enterNewChat": "Yangi suhbatga kirish", "@enterNewChat": {}, - "removeFromSpaceDescription": "Chat maydondan olib tashlanadi, lekin hali ham chatlar ro‘yxatida chiqadi.", + "removeFromSpaceDescription": "Suhbat maydondan olib tashlanadi, lekin hali ham suhbatlarlar ro‘yxatida chiqadi.", "@removeFromSpaceDescription": {}, "countChats": "{chats} suhbatlar", "@countChats": { @@ -3467,5 +3467,12 @@ "yourGlobalUserIdIs": "Global foydalanuvchi ID raqamingiz: ", "@yourGlobalUserIdIs": {}, "notificationRuleTombstone": "Qabrtosh", - "@notificationRuleTombstone": {} + "@notificationRuleTombstone": {}, + "identity": "Shaxs", + "@identity": { + "type": "String", + "placeholders": {} + }, + "emojis": "Emojilar", + "@emojis": {} } diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 3ea6d2bff..81f696e54 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -63,12 +63,11 @@ class ChatView extends StatelessWidget { // onPressed: () => controller // .enterThread(controller.selectedEvents.single.eventId), // ), - // if (controller.canPinSelectedEvents) - // IconButton( - // icon: const Icon(Icons.push_pin_outlined), - // onPressed: controller.pinEvent, - // tooltip: L10n.of(context).pinMessage, - // ), + // IconButton( + // icon: const Icon(Icons.copy_outlined), + // tooltip: L10n.of(context).copyToClipboard, + // onPressed: controller.copyEventsAction, + // ), // if (controller.canRedactSelectedEvents) // IconButton( // icon: const Icon(Icons.delete_outlined), @@ -90,18 +89,19 @@ class ChatView extends StatelessWidget { // } // }, // itemBuilder: (context) => [ - // PopupMenuItem( - // onTap: controller.copyEventsAction, - // value: null, - // child: Row( - // mainAxisSize: MainAxisSize.min, - // children: [ - // const Icon(Icons.copy_outlined), - // const SizedBox(width: 12), - // Text(L10n.of(context).copy), - // ], + // if (controller.canPinSelectedEvents) + // PopupMenuItem( + // onTap: controller.pinEvent, + // value: null, + // child: Row( + // mainAxisSize: MainAxisSize.min, + // children: [ + // const Icon(Icons.push_pin_outlined), + // const SizedBox(width: 12), + // Text(L10n.of(context).pinMessage), + // ], + // ), // ), - // ), // if (controller.canSaveSelectedEvent) // PopupMenuItem( // onTap: () => controller.saveSelectedEvent(context), diff --git a/lib/pages/settings_emotes/settings_emotes_view.dart b/lib/pages/settings_emotes/settings_emotes_view.dart index d2f1b47ba..92a8b25c4 100644 --- a/lib/pages/settings_emotes/settings_emotes_view.dart +++ b/lib/pages/settings_emotes/settings_emotes_view.dart @@ -5,6 +5,7 @@ import 'package:matrix/matrix.dart'; import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/utils/platform_infos.dart'; +import 'package:fluffychat/utils/url_launcher.dart'; import 'package:fluffychat/widgets/layouts/max_width_body.dart'; import 'package:fluffychat/widgets/mxc_image.dart'; import 'package:fluffychat/widgets/mxc_image_viewer.dart'; @@ -38,6 +39,9 @@ class EmotesSettingsView extends StatelessWidget { if (packKeys != null && packKeys.isEmpty) { packKeys.add(''); } + final attributionUrl = Uri.tryParse( + controller.packAttributionController.text, + ); return Scaffold( appBar: AppBar( @@ -71,12 +75,12 @@ class EmotesSettingsView extends StatelessWidget { break; } }, - enabled: !controller.readonly, itemBuilder: (context) => [ - PopupMenuItem( - value: PopupMenuEmojiActions.import, - child: Text(L10n.of(context).importFromZipFile), - ), + if (!controller.readonly) + PopupMenuItem( + value: PopupMenuEmojiActions.import, + child: Text(L10n.of(context).importFromZipFile), + ), if (imageKeys.isNotEmpty) PopupMenuItem( value: PopupMenuEmojiActions.export, @@ -175,10 +179,19 @@ class EmotesSettingsView extends StatelessWidget { maxLength: 256, controller: controller.packAttributionController, readOnly: controller.readonly, + keyboardType: TextInputType.url, onSubmitted: (_) => controller.submitAttributionAction(), decoration: InputDecoration( counter: const SizedBox.shrink(), labelText: L10n.of(context).attribution, + suffixIcon: attributionUrl == null + ? null + : IconButton( + icon: const Icon(Icons.link_outlined), + onPressed: () => + UrlLauncher(context, attributionUrl.toString()) + .launchUrl(), + ), ), ), ), diff --git a/pubspec.lock b/pubspec.lock index 17727f667..1f31d3f8b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -566,10 +566,10 @@ packages: dependency: "direct main" description: name: file_selector - sha256: "5f1d15a7f17115038f433d1b0ea57513cc9e29a9d5338d166cb0bef3fa90a7a0" + sha256: bd15e43e9268db636b53eeaca9f56324d1622af30e5c34d6e267649758c84d9a url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" file_selector_android: dependency: transitive description: @@ -590,26 +590,26 @@ packages: dependency: transitive description: name: file_selector_linux - sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" + sha256: "2567f398e06ac72dcf2e98a0c95df2a9edd03c2c2e0cacd4780f20cdf56263a0" url: "https://pub.dev" source: hosted - version: "0.9.3+2" + version: "0.9.4" file_selector_macos: dependency: transitive description: name: file_selector_macos - sha256: "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711" + sha256: "5e0bbe9c312416f1787a68259ea1505b52f258c587f12920422671807c4d618a" url: "https://pub.dev" source: hosted - version: "0.9.4+3" + version: "0.9.5" file_selector_platform_interface: dependency: transitive description: name: file_selector_platform_interface - sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b + sha256: "35e0bd61ebcdb91a3505813b055b09b79dfdc7d0aee9c09a7ba59ae4bb13dc85" url: "https://pub.dev" source: hosted - version: "2.6.2" + version: "2.7.0" file_selector_web: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b61ada8f0..c677105ed 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,7 +32,7 @@ dependencies: dynamic_color: ^1.8.1 emoji_picker_flutter: ^4.3.0 file_picker: ^10.3.6 - file_selector: ^1.0.4 + file_selector: ^1.1.0 flutter: sdk: flutter flutter_foreground_task: ^9.1.0