<?php

class DASHBOARD
{
    public function __construct()
    {
        echo "<link rel='stylesheet' href='/styles/dash_styles.css'>";
        echo "<link rel='preconnect' href='https://fonts.googleapis.com'>";
        echo "<link rel='preconnect' href='https://fonts.gstatic.com' crossorigin>";
        echo "<link href='https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap' rel='stylesheet'>";
        echo "<link href='https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap' rel='stylesheet'>";
        echo "<link href='https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap' rel='stylesheet'>";
    }
    public function select_creator($dash_type, $dash_size, $dash_data, $condition, $title)
    {
        $item = new DASHBOARD;
        switch ($dash_type) {
            case 'create_graph':
                // echo'Graph';
                $item->create_graph($dash_size, $dash_data, $condition, $title);
                break;
            case 'create_details':
                // echo'Details';
                $item->create_details($dash_size, $dash_data, $condition, $title);
                break;
            default:
                echo "Error: Invalid Dashboard Type";
        }
    }

    private function create_graph($dash_size, $dash_data, $condition, $title)
    {
        if (isset($condition)) {
            $new_con = "AND" . $condition;
        }

        $db = new db_safeguard();
        $results = $db->select_query("{$dash_data}", '*', "user_id_assigned = {$_SESSION['user_id']} {$new_con}");

        switch ($dash_size) {
            case 'small':
                $result = $results->num_rows();
                echo "{$result}";

                echo "Small Graph Created";
                break;
            case 'medium':
                echo "Medium Graph Created";
                break;
            case 'large':
                echo "Large Graph Created";
                break;
            default:
                echo "Error: Invalid Dashboard Size";
        }
    }

    private function create_details($dash_size, $dash_data, $condition, $title)
    {
        if (isset($condition)) {
            $new_con = " AND " . $condition;
        }
        // echo "select_query('{$dash_data}', '*', 'user_id_assigned = {$_SESSION['user_id']} {$new_con}');";
        $db = new db_safeguard();
        $results = $db->select_query("{$dash_data}", '*', "user_id_assigned = {$_SESSION['user_id']} {$new_con}");

        switch ($dash_size) {
            case 'small':
                $result = $results->num_rows;
                echo "<div class='dashboard_small'>
                <div class='dashboard_small_title poppins_light'>{$title}</div>
                    <div class='dashboard_small_content nunito_sans_regular'>
                        {$result}
                    </div>
                </div>";

                // echo "Small details Created";
                break;
            case 'medium':
                $result = $results->num_rows;


                echo "<div class='dashboard_small'>
                <div class='dashboard_small_title poppins_light'>{$title}</div>
                <div class='dashboard_small_title nunito_sans_regular'>{$result}</div>";
                while ($row = $results->fetch_assoc()) {
                    // $clients = $db->select_query("clients", '*', "record_id = {$row[]} {$new_con}");

                }
                ;
                echo "</div>";

                // echo "Medium details Created";
                break;
            case 'large':
                echo "Large details Created";
                break;
        }
    }
}
