Update: 2026-05-08 13:52:23

This commit is contained in:
Hamza-Ayed
2026-05-08 13:52:23 +03:00
parent 9832493d59
commit cfc330e291
3 changed files with 16 additions and 3 deletions

View File

@@ -106,7 +106,12 @@ class InvoicesController extends GetxController {
isLoading.value = true;
final res = await DioClient().client.get('invoices');
if (res.data['success'] == true && res.data['data'] != null) {
invoices.value = List<Map<String, dynamic>>.from(res.data['data']);
final rawData = res.data['data'];
if (rawData is Map && rawData.containsKey('items')) {
invoices.value = List<Map<String, dynamic>>.from(rawData['items']);
} else if (rawData is List) {
invoices.value = List<Map<String, dynamic>>.from(rawData);
}
}
} catch (e) {
AppLogger.error('Failed to load invoices', e);

View File

@@ -5,6 +5,7 @@ import '../../../app/routes/app_pages.dart';
import '../../../core/utils/app_snackbar.dart';
import '../../../core/services/shorebird_update_service.dart';
import '../../../core/services/device_security_service.dart';
import 'package:url_launcher/url_launcher.dart';
class SettingsView extends GetView<SettingsController> {
const SettingsView({super.key});
@@ -175,6 +176,7 @@ class SettingsView extends GetView<SettingsController> {
title: 'الدعم الفني',
trailing: 'support@musadaq.jo',
isDark: isDark,
onTap: () => launchUrl(Uri.parse('mailto:support@musadaq.jo')),
),
const Divider(height: 1),
_buildInfoTile(
@@ -182,7 +184,7 @@ class SettingsView extends GetView<SettingsController> {
title: 'سياسة الخصوصية',
trailing: '',
isDark: isDark,
onTap: () {},
onTap: () => launchUrl(Uri.parse('https://musadaq.intaleqapp.com/privacy.php')),
),
const Divider(height: 1),
_buildInfoTile(
@@ -191,6 +193,7 @@ class SettingsView extends GetView<SettingsController> {
trailing: 'فحص →',
isDark: isDark,
onTap: () {
AppSnackbar.showInfo('جاري الفحص', 'جاري البحث عن تحديثات جديدة عبر Shorebird...');
final shorebird = Get.find<ShorebirdUpdateService>();
shorebird.manualCheckForUpdate();
},

View File

@@ -21,7 +21,12 @@ class UsersManagementController extends GetxController {
isLoading.value = true;
final response = await _dio.get('users');
if (response.data['success'] == true) {
users.value = List<Map<String, dynamic>>.from(response.data['data']);
final rawData = response.data['data'];
if (rawData is Map && rawData.containsKey('items')) {
users.value = List<Map<String, dynamic>>.from(rawData['items']);
} else if (rawData is List) {
users.value = List<Map<String, dynamic>>.from(rawData);
}
}
} catch (e) {
AppLogger.error('Failed to fetch users', e);