diff --git a/lib/screens/account/leveling.dart b/lib/screens/account/leveling.dart index 25bc1c4..7f697cc 100644 --- a/lib/screens/account/leveling.dart +++ b/lib/screens/account/leveling.dart @@ -280,7 +280,7 @@ class LevelingScreen extends HookConsumerWidget { try { showLoadingModal(context); final client = ref.watch(apiClientProvider); - await client.post('/subscriptions/${membership.identifier}/cancel'); + await client.post('/id/subscriptions/${membership.identifier}/cancel'); ref.invalidate(accountStellarSubscriptionProvider); ref.read(userInfoProvider.notifier).fetchUser(); if (context.mounted) { @@ -603,7 +603,7 @@ class LevelingScreen extends HookConsumerWidget { try { showLoadingModal(context); final resp = await client.post( - '/subscriptions', + '/id/subscriptions', data: { 'identifier': tierId, 'payment_method': 'solian.wallet', @@ -615,7 +615,7 @@ class LevelingScreen extends HookConsumerWidget { final subscription = SnWalletSubscription.fromJson(resp.data); if (subscription.status == 1) return; final orderResp = await client.post( - '/subscriptions/${subscription.identifier}/order', + '/id/subscriptions/${subscription.identifier}/order', ); final order = SnWalletOrder.fromJson(orderResp.data); @@ -633,7 +633,7 @@ class LevelingScreen extends HookConsumerWidget { if (paidOrder != null) { await client.post( - '/subscriptions/order/handle', + '/id/subscriptions/order/handle', data: {'order_id': paidOrder.id}, ); diff --git a/lib/screens/auth/oidc.native.dart b/lib/screens/auth/oidc.native.dart index de46c8d..c9fdde5 100644 --- a/lib/screens/auth/oidc.native.dart +++ b/lib/screens/auth/oidc.native.dart @@ -205,7 +205,7 @@ class _OidcScreenState extends ConsumerState { onPressed: () { if (currentUrl != null) { Clipboard.setData(ClipboardData(text: currentUrl!)); - showSnackBar('copyToClipboard'); + showSnackBar('copyToClipboard'.tr()); } }, ), diff --git a/lib/widgets/account/restore_purchase_sheet.dart b/lib/widgets/account/restore_purchase_sheet.dart index 7891fed..eb514df 100644 --- a/lib/widgets/account/restore_purchase_sheet.dart +++ b/lib/widgets/account/restore_purchase_sheet.dart @@ -32,7 +32,7 @@ class RestorePurchaseSheet extends HookConsumerWidget { try { final client = ref.read(apiClientProvider); await client.post( - '/subscriptions/order/restore/${selectedProvider.value!}', + '/id/subscriptions/order/restore/${selectedProvider.value!}', data: {'order_id': orderIdController.text.trim()}, ); diff --git a/lib/widgets/chat/call_participant_card.dart b/lib/widgets/chat/call_participant_card.dart index d4d6d8e..268748c 100644 --- a/lib/widgets/chat/call_participant_card.dart +++ b/lib/widgets/chat/call_participant_card.dart @@ -41,6 +41,7 @@ class CallParticipantCard extends HookConsumerWidget { const Gap(8), Expanded( child: Slider( + max: 2, value: volumeSliderValue.value, onChanged: (value) { volumeSliderValue.value = value; @@ -52,9 +53,12 @@ class CallParticipantCard extends HookConsumerWidget { padding: EdgeInsets.zero, ), ), - const Gap(8), - Text( - '${(volumeSliderValue.value * 100).toStringAsFixed(0)}%', + const Gap(16), + SizedBox( + width: 40, + child: Text( + '${(volumeSliderValue.value * 100).toStringAsFixed(0)}%', + ), ), ], ), diff --git a/lib/widgets/post/post_item.dart b/lib/widgets/post/post_item.dart index 8b1f56c..5b08614 100644 --- a/lib/widgets/post/post_item.dart +++ b/lib/widgets/post/post_item.dart @@ -458,6 +458,24 @@ class PostItem extends HookConsumerWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ + if ((item.title?.isNotEmpty ?? false) || + (item.description?.isNotEmpty ?? false)) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (item.title?.isNotEmpty ?? false) + Text( + item.title!, + style: Theme.of(context).textTheme.titleMedium! + .copyWith(fontWeight: FontWeight.bold), + ), + if (item.description?.isNotEmpty ?? false) + Text( + item.description!, + style: Theme.of(context).textTheme.bodyMedium, + ), + ], + ).padding(bottom: 4), MarkdownTextContent( content: item.isTruncated ? '${item.content!}...' : item.content!,