package com.brisco.meatwholesaler;

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.google.android.material.card.MaterialCardView;

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

public class OrdersActivity extends AppCompatActivity {

    private RecyclerView recyclerView;
    private TextView textViewEmpty;
    private OrderAdapter orderAdapter;
    private List<Order> orderList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_orders);

        // Setup toolbar
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setTitle("My Orders");
        }

        // Initialize views
        initializeViews();

        // Setup RecyclerView
        setupRecyclerView();

        // Load orders
        loadOrders();
    }

    private void initializeViews() {
        recyclerView = findViewById(R.id.recycler_orders);
        textViewEmpty = findViewById(R.id.text_empty);
    }

    private void setupRecyclerView() {
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setHasFixedSize(true);

        orderList = new ArrayList<>();
        orderAdapter = new OrderAdapter(this, orderList);
        recyclerView.setAdapter(orderAdapter);
    }

    private void loadOrders() {
        // For demo purposes, we'll load mock orders
        // In production, this would load from a backend API
        List<Order> mockOrders = getMockOrders();
        
        orderList.clear();
        orderList.addAll(mockOrders);
        orderAdapter.notifyDataSetChanged();

        // Update empty state
        if (orderList.isEmpty()) {
            textViewEmpty.setVisibility(View.VISIBLE);
            recyclerView.setVisibility(View.GONE);
        } else {
            textViewEmpty.setVisibility(View.GONE);
            recyclerView.setVisibility(View.VISIBLE);
        }
    }

    private List<Order> getMockOrders() {
        List<Order> orders = new ArrayList<>();
        
        // Add some sample orders
        orders.add(new Order("BR12345", "JADE HAMPER", 2999.99, "Delivered", "2024-01-15"));
        orders.add(new Order("BR12346", "EVERYDAY Bulk Hamper (Gold)", 1799.99, "In Transit", "2024-01-18"));
        orders.add(new Order("BR12347", "Premium Beef Rump", 89.99, "Processing", "2024-01-20"));
        
        return orders;
    }
}
