🐛 Dozens of bug fixes

This commit is contained in:
2025-08-04 13:34:50 +08:00
parent f3900825e3
commit c8e351514d
5 changed files with 31 additions and 9 deletions

View File

@@ -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},
);

View File

@@ -205,7 +205,7 @@ class _OidcScreenState extends ConsumerState<OidcScreen> {
onPressed: () {
if (currentUrl != null) {
Clipboard.setData(ClipboardData(text: currentUrl!));
showSnackBar('copyToClipboard');
showSnackBar('copyToClipboard'.tr());
}
},
),

View File

@@ -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()},
);

View File

@@ -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)}%',
),
),
],
),

View File

@@ -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!,