package com.example.wadi;

import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.Toast;

import androidx.fragment.app.Fragment;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


public class NewOrder extends Fragment {
    private ListView listView;
    private List<SItem> itemList = new ArrayList<>();
    private SItemAdapter adapter;

    private SQLiteHandler db;
    private SearchView searchView;
    private List<SItem> filteredList = new ArrayList<>();

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.new_order, container, false);
        listView = view.findViewById(R.id.listView);
        adapter = new SItemAdapter(getContext(), itemList);
        listView.setAdapter(adapter);

        db = new SQLiteHandler(getActivity());

        fetchData();



        listView.setOnItemClickListener((parent, view1, position, id) -> {
            SItem selectedItem = itemList.get(position);
            Intent intent = new Intent(getActivity(), Order_Detils.class);
            intent.putExtra("Services", selectedItem.getUid());
            startActivity(intent);
        });

        return view;
    }

    private void fetchData() {
        HashMap<String, String> user = db.getUserDetails();
        String url = AppConfig.URL_NewOrder+user.get("uid");

        RequestQueue queue = Volley.newRequestQueue(getContext());
        JsonArrayRequest request = new JsonArrayRequest(Request.Method.GET, url, null,
                response -> {
                    for (int i = 0; i < response.length(); i++) {
                        try {
                            JSONObject obj = response.getJSONObject(i);
                            String title = obj.getString("service_type");
                            String imageUrl = obj.getString("url_image");
                            String rate = obj.getString("dater");
                            String price = obj.getString("timer");
                            String shortdesc = obj.getString("service_number");
                            String uid = obj.getString("service_id");
                            itemList.add(new SItem(title, imageUrl,rate,price,shortdesc,uid));
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    adapter.notifyDataSetChanged();
                },
                error -> Toast.makeText(getContext(), "حدث خطا اثناء احضار البيانات", Toast.LENGTH_SHORT).show()
        );

        queue.add(request);
    }
}