import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:gifunavi/utils/const.dart';

class PerfectureService {
  static Future<List<dynamic>?> loadPerfectures() async {
    List<dynamic> perfs = [];
    String serverUrl = ConstValues.currentServer();
    String url = '$serverUrl/api/perf_main/';
    //print('++++++++$url');
    final response = await http.get(
      Uri.parse(url),
      headers: <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      },
    );

    if (response.statusCode == 200) {
      perfs = json.decode(utf8.decode(response.bodyBytes));
    }
    return perfs;
  }

  static Future<List<dynamic>?> loadSubPerfectures(String area) async {
    List<dynamic> perfs = [];
    String serverUrl = ConstValues.currentServer();
    String url = '$serverUrl/api/subperfinmain/?area=$area';
    //print('++++++++$url');
    final response = await http.get(
      Uri.parse(url),
      headers: <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      },
    );

    if (response.statusCode == 200) {
      perfs = json.decode(utf8.decode(response.bodyBytes));
    }
    return perfs;
  }

  static Future<List<dynamic>?> getMainPerfExt(String id) async {
    List<dynamic> perfs = [];
    String serverUrl = ConstValues.currentServer();
    String url = '$serverUrl/api/mainperfext/?perf=$id';
    //print('++++++++$url');
    final response = await http.get(
      Uri.parse(url),
      headers: <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      },
    );

    if (response.statusCode == 200) {
      perfs = json.decode(utf8.decode(response.bodyBytes));
    }
    return perfs;
  }

  static Future<List<dynamic>?> loadGifuAreas(String perf) async {
    List<dynamic> perfs = [];
    String serverUrl = ConstValues.currentServer();
    String url = '$serverUrl/api/allgifuareas/?perf=$perf';
    //print('++++++++$url');
    final response = await http.get(
      Uri.parse(url),
      headers: <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      },
    );

    if (response.statusCode == 200) {
      perfs = json.decode(utf8.decode(response.bodyBytes));
    }
    return perfs;
  }

  static Future<List<dynamic>?> loadCustomAreas() async {
    List<dynamic> perfs = [];
    String serverUrl = ConstValues.currentServer();
    String url = '$serverUrl/api/customareanames';
    //print('++++++++$url');
    final response = await http.get(
      Uri.parse(url),
      headers: <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      },
    );

    if (response.statusCode == 200) {
      perfs = json.decode(utf8.decode(response.bodyBytes));
    }
    return perfs;
  }

  static Future<List<dynamic>?> getSubExt(String id) async {
    List<dynamic> perfs = [];
    String serverUrl = ConstValues.currentServer();
    String url = '$serverUrl/api/perfext/?sub_perf=$id';
    //print('++++++++$url');
    final response = await http.get(
      Uri.parse(url),
      headers: <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      },
    );

    if (response.statusCode == 200) {
      perfs = json.decode(utf8.decode(response.bodyBytes));
    }
    return perfs;
  }
}
