Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/resources/views/user-backend/ |
@extends('user-backend.layouts.base')
@section('main-content')
<div class="container-fluid">
@include('user-backend.layouts.notification')
<!-- Page Heading -->
<div class="d-sm-flex align-items-center justify-content-between mb-4">
<h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
</div>
<!-- Content Row -->
<div class="row">
{{-- <!-- Category -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Category</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{\App\Models\Category::countActiveCategory()}}</div>
</div>
<div class="col-auto">
<i class="fas fa-sitemap fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Products -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Products</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{\App\Models\Product::countActiveProduct()}}</div>
</div>
<div class="col-auto">
<i class="fas fa-cubes fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div> --}}
<!-- Order -->
<div class="col-xl-6 mb-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Orders placed</div>
<div class="row no-gutters align-items-center">
<div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">{{\App\Models\Order::query()->whereUserId(auth()->id())->count()}}</div>
</div>
</div>
</div>
<div class="col-auto">
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!--Posts-->
<div class="col-xl-6 mb-4">
<div class="card border-left-warning shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Your Posts</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">{{\App\Models\Post::query()->whereAddedBy(auth()->id())->count()}}</div>
</div>
<div class="col-auto">
<i class="fas fa-folder fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Content Row -->
{{-- <div class="row">
@php
$orders = DB::table('orders')
->where('user_id', auth()->id())
->paginate(10);
@endphp
<!-- Order -->
<div class="col-xl-12 col-lg-12">
<table class="table table-bordered text-nowrap" id="order-dataTable" width="100%" cellspacing="0">
<thead>
<tr>
<th>S.N.</th>
<th>Order No.</th>
<th>Name</th>
<th>Email</th>
<th>Quantity</th>
<th>Total Amount</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tfoot>
<tr>
<th>S.N.</th>
<th>Order No.</th>
<th>Name</th>
<th>Email</th>
<th>Quantity</th>
<th>Total Amount</th>
<th>Status</th>
<th>Action</th>
</tr>
</tfoot>
<tbody>
@if (count($orders) > 0)
@foreach ($orders as $order)
<tr>
<td>{{ $order->id }}</td>
<td>{{ $order->order_number }}</td>
<td>{{ $order->first_name }} {{ $order->last_name }}</td>
<td>{{ $order->email }}</td>
<td>{{ $order->quantity }}</td>
<td>{!! config('shop.currency_symbol') !!} {{ number_format($order->total_amount, 2) }}</td>
<td>
@if ($order->status == 'new')
<span class="badge badge-primary">{{ $order->status }}</span>
@elseif($order->status == 'process')
<span class="badge badge-warning">{{ $order->status }}</span>
@elseif($order->status == 'delivered')
<span class="badge badge-success">{{ $order->status }}</span>
@else
<span class="badge badge-danger">{{ $order->status }}</span>
@endif
</td>
<td>
<a href="{{ route('user.order.show', $order->id) }}"
class="btn btn-warning btn-sm float-left mr-1"
style="height:30px; width:30px;border-radius:50%" data-toggle="tooltip"
title="view" data-placement="bottom"><i class="fas fa-eye"></i></a>
@if ($order->status === 'new')
<form method="POST" action="{{ route('user.order.delete', [$order->id]) }}">
@csrf
@method('delete')
<button class="btn btn-danger btn-sm dltBtn" data-id={{ $order->id }}
style="height:30px; width:30px;border-radius:50%" data-toggle="tooltip"
data-placement="bottom" title="Cancel"><i
class="fas fa-trash-alt"></i></button>
</form>
@endif
</td>
</tr>
@endforeach
@else
<td colspan="8" class="text-center">
<h4 class="my-4">You have no order yet!! Please order some products</h4>
</td>
@endif
</tbody>
</table>
{{ $orders->links() }}
</div>
</div> --}}
</div>
@endsection
@push('scripts')
<script type="text/javascript">
const url = "{{ route('product.order.income') }}";
// Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = 'Nunito',
'-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#858796';
function number_format(number, decimals, dec_point, thousands_sep) {
// * example: number_format(1234.56, 2, ',', ' ');
// * return: '1 234,56'
number = (number + '').replace(',', '').replace(' ', '');
var n = !isFinite(+number) ? 0 : +number,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
s = '',
toFixedFix = function(n, prec) {
var k = Math.pow(10, prec);
return '' + Math.round(n * k) / k;
};
// Fix for IE parseFloat(0.55).toFixed(0) = 0;
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || '';
s[1] += new Array(prec - s[1].length + 1).join('0');
}
return s.join(dec);
}
// Area Chart Example
var ctx = document.getElementById("myAreaChart");
axios.get(url)
.then(function(response) {
const data_keys = Object.keys(response.data);
const data_values = Object.values(response.data);
var myLineChart = new Chart(ctx, {
type: 'line',
data: {
labels: data_keys, //["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
datasets: [{
label: "Earnings",
lineTension: 0.3,
backgroundColor: "rgba(78, 115, 223, 0.05)",
borderColor: "rgba(78, 115, 223, 1)",
pointRadius: 3,
pointBackgroundColor: "rgba(78, 115, 223, 1)",
pointBorderColor: "rgba(78, 115, 223, 1)",
pointHoverRadius: 3,
pointHoverBackgroundColor: "rgba(78, 115, 223, 1)",
pointHoverBorderColor: "rgba(78, 115, 223, 1)",
pointHitRadius: 10,
pointBorderWidth: 2,
data: data_values, //[0, 10000, 5000, 15000, 10000, 20000, 15000, 25000, 20000, 30000, 25000, 44660],
}],
},
options: {
maintainAspectRatio: false,
layout: {
padding: {
left: 10,
right: 25,
top: 25,
bottom: 0
}
},
scales: {
xAxes: [{
time: {
unit: 'date'
},
gridLines: {
display: false,
drawBorder: false
},
ticks: {
maxTicksLimit: 7
}
}],
yAxes: [{
ticks: {
maxTicksLimit: 5,
padding: 10,
// Include a dollar sign in the ticks
callback: function(value, index, values) {
return '$' + number_format(value);
}
},
gridLines: {
color: "rgb(234, 236, 244)",
zeroLineColor: "rgb(234, 236, 244)",
drawBorder: false,
borderDash: [2],
zeroLineBorderDash: [2]
}
}],
},
legend: {
display: false
},
tooltips: {
backgroundColor: "rgb(255,255,255)",
bodyFontColor: "#858796",
titleMarginBottom: 10,
titleFontColor: '#6e707e',
titleFontSize: 14,
borderColor: '#dddfeb',
borderWidth: 1,
xPadding: 15,
yPadding: 15,
displayColors: false,
intersect: false,
mode: 'index',
caretPadding: 10,
callbacks: {
label: function(tooltipItem, chart) {
var datasetLabel = chart.datasets[tooltipItem.datasetIndex].label || '';
return datasetLabel + ': $' + number_format(tooltipItem.yLabel);
}
}
}
}
});
})
.catch(function(error) {
// vm.answer = 'Error! Could not reach the API. ' + error
console.log(error)
});
</script>
@endpush