game html dan DIO
This commit is contained in:
@@ -52,11 +52,13 @@ class _ListDetailScreenState extends State<ListDetailScreen> {
|
||||
await controller.loadData(
|
||||
data: html,
|
||||
baseUrl: WebUri(
|
||||
"http://localhost/$base",
|
||||
"file:///android_asset/flutter_assets/$base",
|
||||
), // agar path relatif seperti img1/* jalan
|
||||
mimeType: 'text/html',
|
||||
encoding: 'utf-8',
|
||||
);
|
||||
debugPrint("http://localhost/$base");
|
||||
debugPrint("file:///android_asset/flutter_assets/$base");
|
||||
},
|
||||
onLoadStop: (controller, url) async {
|
||||
debugPrint("🚀 onLoadStop called. URL: $url");
|
||||
|
||||
@@ -6,10 +6,13 @@ import 'package:flutter/services.dart';
|
||||
import 'package:freekake/components/card_list.dart';
|
||||
import 'package:freekake/components/collection_container%20copy.dart';
|
||||
import 'package:freekake/helpers/color_helper.dart';
|
||||
import 'package:freekake/models/users.dart';
|
||||
import 'package:freekake/screen/pustaka/list_detail_screen.dart';
|
||||
import 'package:freekake/util/api_client.dart';
|
||||
import 'package:list_detail_extension/list_detail_extension.dart';
|
||||
import 'package:webview_flutter/webview_flutter.dart';
|
||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
class ListEducation extends StatefulWidget {
|
||||
final String? selectedCategory;
|
||||
@@ -27,6 +30,12 @@ class _ListEducationState extends State<ListEducation> {
|
||||
String? selectedCategory;
|
||||
final listDetailExtension = ListDetailExtension();
|
||||
|
||||
// Data fetch
|
||||
final ApiClient _apiClient = ApiClient();
|
||||
List<Users> _posts = [];
|
||||
bool _isLoading = true;
|
||||
String _error = '';
|
||||
|
||||
Future<void> _initExtension() async {
|
||||
await listDetailExtension.load();
|
||||
}
|
||||
@@ -165,6 +174,41 @@ class _ListEducationState extends State<ListEducation> {
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> _fetchPosts() async {
|
||||
try {
|
||||
setState(() {
|
||||
_isLoading = true;
|
||||
_error = '';
|
||||
});
|
||||
|
||||
// Melakukan permintaan GET ke endpoint
|
||||
final Response response = await _apiClient.dio.get('auth/users');
|
||||
|
||||
if (response.statusCode == 200) {
|
||||
// Konversi data JSON ke List
|
||||
List<dynamic> postJson = response.data;
|
||||
_posts = postJson.map((json) => Users.fromJson(json)).toList();
|
||||
} else {
|
||||
_error = 'Gagal memuat data: ${response.statusCode}';
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
if (e.response != null) {
|
||||
_error =
|
||||
'Server Error: ${e.response?.statusCode} - ${e.response?.statusMessage}';
|
||||
} else {
|
||||
_error = 'Network Error: ${e.message}';
|
||||
}
|
||||
print('DioError: $e');
|
||||
} catch (e) {
|
||||
_error = 'Terjadi kesalahan tidak terduga: $e';
|
||||
print('General Error: $e');
|
||||
} finally {
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final List<Map<String, dynamic>> collections = [
|
||||
|
||||
Reference in New Issue
Block a user