This commit is contained in:
Ferks-FK 2023-10-28 13:03:23 -04:00
parent f3a341fa1b
commit 3b99ae527f

View file

@ -4,7 +4,7 @@
<!-- CONTENT HEADER -->
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="mb-2 row">
<div class="col-sm-6">
<h1>{{__('Admin Overview')}}</h1>
</div>
@ -33,22 +33,22 @@
<section class="content">
<div class="container-fluid">
<div class="row mb-3">
<div class="mb-3 row">
<div class="col-md-3">
<a href="https://discord.gg/4Y6HjD2uyU" class="btn btn-dark btn-block px-3"><i
class="fab fa-discord mr-2"></i> {{__('Support server')}}</a>
<a href="https://discord.gg/4Y6HjD2uyU" class="px-3 btn btn-dark btn-block"><i
class="mr-2 fab fa-discord"></i> {{__('Support server')}}</a>
</div>
<div class="col-md-3">
<a href="https://CtrlPanel.gg/docs/intro" class="btn btn-dark btn-block px-3"><i
class="fas fa-link mr-2"></i> {{__('Documentation')}}</a>
<a href="https://CtrlPanel.gg/docs/intro" class="px-3 btn btn-dark btn-block"><i
class="mr-2 fas fa-link"></i> {{__('Documentation')}}</a>
</div>
<div class="col-md-3">
<a href="https://github.com/ControlPanel-gg/dashboard" class="btn btn-dark btn-block px-3"><i
class="fab fa-github mr-2"></i> {{__('Github')}}</a>
<a href="https://github.com/ControlPanel-gg/dashboard" class="px-3 btn btn-dark btn-block"><i
class="mr-2 fab fa-github"></i> {{__('Github')}}</a>
</div>
<div class="col-md-3">
<a href="https://CtrlPanel.gg/docs/Contributing/donating" class="btn btn-dark btn-block px-3"><i
class="fas fa-money-bill mr-2"></i> {{__('Support CtrlPanel')}}</a>
<a href="https://CtrlPanel.gg/docs/Contributing/donating" class="px-3 btn btn-dark btn-block"><i
class="mr-2 fas fa-money-bill"></i> {{__('Support CtrlPanel')}}</a>
</div>
</div>
@ -59,7 +59,7 @@
<div class="info-box-content">
<span class="info-box-text">{{__('Servers')}}
<i class="fas fa-info-circle mr-4" data-toggle="popover"
<i class="mr-4 fas fa-info-circle" data-toggle="popover"
data-trigger="hover" data-placement="top"
data-html="true"
data-content="{{ __("This shows the total active servers and the total servers. Total active servers are all servers which are not suspended") }}"></i>
@ -77,7 +77,7 @@
<div class="info-box-content">
<span class="info-box-text">{{__('Users')}}
<i class="fas fa-info-circle mr-4" data-toggle="popover"
<i class="mr-4 fas fa-info-circle" data-toggle="popover"
data-trigger="hover" data-placement="top"
data-html="true"
data-content="{{ __("This shows the total active Users and the total Users. Total active Users are all Users which are not suspended") }}"></i>
@ -92,7 +92,7 @@
<div class="col-12 col-sm-6 col-md-3">
<div class="info-box">
<span class="info-box-icon bg-warning elevation-1"><i
class="fas fa-coins text-white"></i></span>
class="text-white fas fa-coins"></i></span>
<div class="info-box-content">
<span class="info-box-text">{{__('Total')}} {{ $credits_display_name }}</span>
@ -123,15 +123,15 @@
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="card-title ">
<span><i class="fas fa-kiwi-bird mr-2"></i>{{__('Pterodactyl')}}</span>
<span><i class="mr-2 fas fa-kiwi-bird"></i>{{__('Pterodactyl')}}</span>
</div>
<a href="{{route('admin.overview.sync')}}" class="btn btn-primary btn-sm"><i
class="fas fa-sync mr-2"></i>{{__('Sync')}}</a>
class="mr-2 fas fa-sync"></i>{{__('Sync')}}</a>
</div>
</div>
<div class="card-body py-1">
<div class="py-1 card-body">
@if ($deletedNodesPresent)
<div class="alert alert-danger m-2">
<div class="m-2 alert alert-danger">
<h5><i class="icon fas fa-exclamation-circle"></i>{{ __('Warning!') }}</h5>
<p class="mb-2">
{{ __('Some nodes got deleted on pterodactyl only. Please click the sync button above.') }}
@ -166,42 +166,44 @@
</table>
</div>
<div class="card-footer">
<span><i class="fas fa-sync mr-2"></i>{{__('Last updated :date', ['date' => $syncLastUpdate])}}</span>
<span><i class="mr-2 fas fa-sync"></i>{{__('Last updated :date', ['date' => $syncLastUpdate])}}</span>
</div>
</div>
<div class="card">
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="card-title ">
<span><i class="fas fa-ticket-alt mr-2"></i>{{__('Latest tickets')}}</span>
<span><i class="mr-2 fas fa-ticket-alt"></i>{{__('Latest tickets')}}</span>
</div>
</div>
</div>
<div class="card-body py-1">
<div class="py-1 card-body">
@if(!$tickets->count())<span style="font-size: 16px; font-weight:700">{{__('There are no tickets')}}.</span>
@else
<table class="table">
<thead>
<tr>
<th>{{__('Title')}}</th>
<th>{{__('User')}}</th>
<th>{{__('Status')}}</th>
<th>{{__('Last updated')}}</th>
</tr>
</thead>
<tbody>
<div class="overflow-auto">
<table class="table">
<thead>
<tr class="text-nowrap">
<th>{{__('Title')}}</th>
<th>{{__('User')}}</th>
<th>{{__('Status')}}</th>
<th>{{__('Last updated')}}</th>
</tr>
</thead>
<tbody>
@foreach($tickets as $ticket_id => $ticket)
<tr>
<td><a class="text-info" href="{{route('admin.ticket.show', ['ticket_id' => $ticket_id])}}">#{{$ticket_id}} - {{$ticket->title}}</td>
<td><a href="{{route('admin.users.show', $ticket->user_id)}}">{{$ticket->user}}</a></td>
<td><span class="badge {{$ticket->statusBadgeColor}}">{{$ticket->status}}</span></td>
<td>{{$ticket->last_updated}}</td>
</tr>
@endforeach
@foreach($tickets as $ticket_id => $ticket)
<tr class="text-nowrap">
<td><a class="text-info" href="{{route('admin.ticket.show', ['ticket_id' => $ticket_id])}}">#{{$ticket_id}} - {{$ticket->title}}</td>
<td><a href="{{route('admin.users.show', $ticket->user_id)}}">{{$ticket->user}}</a></td>
<td><span class="badge {{$ticket->statusBadgeColor}}">{{$ticket->status}}</span></td>
<td>{{$ticket->last_updated}}</td>
</tr>
@endforeach
</tbody>
</table>
</tbody>
</table>
</div>
@endif
</div>
</div>
@ -209,14 +211,14 @@
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="card-title ">
<span><i class="fas fa-server mr-2"></i>{{__('CtrlPanel.gg')}}</span>
<span><i class="mr-2 fas fa-server"></i>{{__('CtrlPanel.gg')}}</span>
</div>
</div>
<div class="card-body py-1">
<div class="py-1 card-body">
</div>
<div class="card-footer">
<span><i class="fas fa-info mr-2"></i>{{__("Version")}} {{config("app.version")}} - {{config("BRANCHNAME")}}</span>
<span><i class="mr-2 fas fa-info"></i>{{__("Version")}} {{config("app.version")}} - {{config("BRANCHNAME")}}</span>
</div>
</div>
</div>
@ -226,13 +228,13 @@
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="card-title ">
<span><i class="fas fa-server mr-2"></i>{{__('Individual nodes')}}</span>
<span><i class="mr-2 fas fa-server"></i>{{__('Individual nodes')}}</span>
</div>
</div>
</div>
<div class="card-body py-1">
<div class="py-1 card-body">
@if ($perPageLimit)
<div class="alert alert-danger m-2">
<div class="m-2 alert alert-danger">
<h5><i class="icon fas fa-exclamation-circle"></i>{{ __('Error!') }}</h5>
<p class="mb-2">
{{ __('You reached the Pterodactyl perPage limit. Please make sure to set it higher than your server count.') }}<br>
@ -240,39 +242,41 @@
{{ __('Note') }}: {{ __('If this error persists even after changing the limit, it might mean a server was deleted on Pterodactyl, but not on CtrlPanel. Try clicking the button below.') }}
</p>
<a href="{{route('admin.servers.sync')}}" class="btn btn-primary btn-md"><i
class="fas fa-sync mr-2"></i>{{__('Sync servers')}}</a>
class="mr-2 fas fa-sync"></i>{{__('Sync servers')}}</a>
</div>
@endif
<table class="table">
<thead>
<tr>
<th>{{__('ID')}}</th>
<th>{{__('Node')}}</th>
<th>{{__('Server count')}}</th>
<th>{{__('Resource usage')}}</th>
<th>{{ $credits_display_name . ' ' . __('Usage') ." (".__('per month').")"}}</th>
</tr>
</thead>
<tbody>
@foreach($nodes as $nodeID => $node)
<tr>
<td>{{$nodeID}}</td>
<td>{{$node->name}}</td>
<td>{{$node->activeServers}}/{{$node->totalServers}}</td>
<td>{{$node->usagePercent}}%</td>
<td>{{$node->activeEarnings}}/{{$node->totalEarnings}}</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<td colspan="2"><span style="float: right; font-weight: 700">{{__('Total')}} ({{__('active')}}/{{__('total')}}):</span></td>
<td>{{$counters['servers']->active}}/{{$counters['servers']->total}}</td>
<td>{{$counters['totalUsagePercent']}}%</td>
<td>{{$counters['earnings']->active}}/{{$counters['earnings']->total}}</td>
<div class="overflow-auto">
<table class="table">
<thead>
<tr class="text-nowrap">
<th>{{__('ID')}}</th>
<th>{{__('Node')}}</th>
<th>{{__('Server count')}}</th>
<th>{{__('Resource usage')}}</th>
<th>{{ $credits_display_name . ' ' . __('Usage') ." (".__('per month').")"}}</th>
</tr>
</tfoot>
</table>
</thead>
<tbody>
@foreach($nodes as $nodeID => $node)
<tr>
<td>{{$nodeID}}</td>
<td>{{$node->name}}</td>
<td>{{$node->activeServers}}/{{$node->totalServers}}</td>
<td>{{$node->usagePercent}}%</td>
<td>{{$node->activeEarnings}}/{{$node->totalEarnings}}</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<td class="text-nowrap" colspan="2"><span style="float: right; font-weight: 700">{{__('Total')}} ({{__('active')}}/{{__('total')}}):</span></td>
<td>{{$counters['servers']->active}}/{{$counters['servers']->total}}</td>
<td>{{$counters['totalUsagePercent']}}%</td>
<td>{{$counters['earnings']->active}}/{{$counters['earnings']->total}}</td>
</tr>
</tfoot>
</table>
</div>
<hr style="width: 100%; height:2px; border-width:0; background-color:#6c757d; margin-top: 0px;">
</div>
</div>
@ -280,11 +284,11 @@
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="card-title ">
<span><i class="fas fa-file-invoice-dollar mr-2"></i>{{__('Latest payments')}}</span>
<span><i class="mr-2 fas fa-file-invoice-dollar"></i>{{__('Latest payments')}}</span>
</div>
</div>
</div>
<div class="card-body py-1">
<div class="py-1 card-body">
<div class="row">
@if($counters['payments']['lastMonth']->count())
<div class="col-md-6" style="border-right:1px solid #6c757d">
@ -293,25 +297,26 @@
data-content="{{ __('Payments in this time window') }}:<br>{{$counters['payments']['lastMonth']->timeStart}} - {{$counters['payments']['lastMonth']->timeEnd}}"
class="fas fa-info-circle"></i>
</span>
<table class="table">
<thead>
<tr>
<th><b>{{__('Currency')}}</b></th>
<th>{{__('Number of payments')}}</th>
<th>{{__('Total amount')}}</th>
</tr>
</thead>
<tbody>
@foreach($counters['payments']['lastMonth'] as $currency => $income)
<tr>
<td>{{$currency}}</td>
<td>{{$income->count}}</td>
<td>{{$income->total}}</td>
</tr>
@endforeach
</tbody>
</table>
<hr style="width: 100%; height:1px; border-width:0; background-color:#6c757d; margin-top: -16px">
<div class="overflow-auto">
<table class="table">
<thead>
<tr class="text-nowrap">
<th><b>{{__('Currency')}}</b></th>
<th>{{__('Number of payments')}}</th>
<th>{{__('Total amount')}}</th>
</tr>
</thead>
<tbody>
@foreach($counters['payments']['lastMonth'] as $currency => $income)
<tr>
<td>{{$currency}}</td>
<td>{{$income->count}}</td>
<td>{{$income->total}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endif
@if($counters['payments']['lastMonth']->count()) <div class="col-md-6">
@ -321,25 +326,26 @@
data-content="{{ __('Payments in this time window') }}:<br>{{$counters['payments']['thisMonth']->timeStart}} - {{$counters['payments']['thisMonth']->timeEnd}}"
class="fas fa-info-circle"></i>
</span>
<table class="table">
<thead>
<tr>
<th><b>{{__('Currency')}}</b></th>
<th>{{__('Number of payments')}}</th>
<th>{{__('Total amount')}}</th>
</tr>
</thead>
<tbody>
@foreach($counters['payments']['thisMonth'] as $currency => $income)
<tr>
<td>{{$currency}}</td>
<td>{{$income->count}}</td>
<td>{{$income->total}}</td>
</tr>
@endforeach
</tbody>
</table>
<hr style="width: 100%; height:1px; border-width:0; background-color:#6c757d; margin-top: -16px">
<div class="overflow-auto">
<table class="table">
<thead>
<tr class="text-nowrap">
<th><b>{{__('Currency')}}</b></th>
<th>{{__('Number of payments')}}</th>
<th>{{__('Total amount')}}</th>
</tr>
</thead>
<tbody>
@foreach($counters['payments']['thisMonth'] as $currency => $income)
<tr>
<td>{{$currency}}</td>
<td>{{$income->count}}</td>
<td>{{$income->total}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@ -349,20 +355,52 @@
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="card-title ">
<span><i class="fas fa-hand-holding-usd mr-2"></i>{{__('Tax overview')}}</span>
<span><i class="mr-2 fas fa-hand-holding-usd"></i>{{__('Tax overview')}}</span>
</div>
</div>
</div>
<div class="card-body py-1">
<div class="py-1 card-body">
@if($counters['taxPayments']['lastYear']->count())
<span style="margin:auto; display:table; font-size: 18px; font-weight:700">{{__('Last year')}}:
<i data-toggle="popover" data-trigger="hover" data-html="true"
data-content="{{ __('Payments in this time window') }}:<br>{{$counters['taxPayments']['lastYear']->timeStart}} - {{$counters['taxPayments']['lastYear']->timeEnd}}"
class="fas fa-info-circle"></i>
</span>
<div class="overflow-auto">
<table class="table">
<thead>
<tr class="text-nowrap">
<th><b>{{__('Currency')}}</b></th>
<th>{{__('Number of payments')}}</th>
<th><b>{{__('Base amount')}}</b></th>
<th><b>{{__('Total taxes')}}</b></th>
<th>{{__('Total amount')}}</th>
</tr>
</thead>
<tbody>
@foreach($counters['taxPayments']['lastYear'] as $currency => $income)
<tr>
<td>{{$currency}}</td>
<td>{{$income->count}}</td>
<td>{{$income->price}}</td>
<td>{{$income->taxes}}</td>
<td>{{$income->total}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr style="width: 100%; height:2px; border-width:0; background-color:#6c757d; margin-top: 0px; margin-bottom: 8px">
@endif
<span style="margin:auto; display:table; font-size: 18px; font-weight:700">{{__('This year')}}:
<i data-toggle="popover" data-trigger="hover" data-html="true"
data-content="{{ __('Payments in this time window') }}:<br>{{$counters['taxPayments']['thisYear']->timeStart}} - {{$counters['taxPayments']['thisYear']->timeEnd}}"
class="fas fa-info-circle"></i>
</span>
<div class="overflow-auto">
<table class="table">
<thead>
<tr>
<tr class="text-nowrap">
<th><b>{{__('Currency')}}</b></th>
<th>{{__('Number of payments')}}</th>
<th><b>{{__('Base amount')}}</b></th>
@ -371,7 +409,7 @@
</tr>
</thead>
<tbody>
@foreach($counters['taxPayments']['lastYear'] as $currency => $income)
@foreach($counters['taxPayments']['thisYear'] as $currency => $income)
<tr>
<td>{{$currency}}</td>
<td>{{$income->count}}</td>
@ -382,35 +420,7 @@
@endforeach
</tbody>
</table>
<hr style="width: 100%; height:2px; border-width:0; background-color:#6c757d; margin-top: 0px; margin-bottom: 8px">
@endif
<span style="margin:auto; display:table; font-size: 18px; font-weight:700">{{__('This year')}}:
<i data-toggle="popover" data-trigger="hover" data-html="true"
data-content="{{ __('Payments in this time window') }}:<br>{{$counters['taxPayments']['thisYear']->timeStart}} - {{$counters['taxPayments']['thisYear']->timeEnd}}"
class="fas fa-info-circle"></i>
</span>
<table class="table">
<thead>
<tr>
<th><b>{{__('Currency')}}</b></th>
<th>{{__('Number of payments')}}</th>
<th><b>{{__('Base amount')}}</b></th>
<th><b>{{__('Total taxes')}}</b></th>
<th>{{__('Total amount')}}</th>
</tr>
</thead>
<tbody>
@foreach($counters['taxPayments']['thisYear'] as $currency => $income)
<tr>
<td>{{$currency}}</td>
<td>{{$income->count}}</td>
<td>{{$income->price}}</td>
<td>{{$income->taxes}}</td>
<td>{{$income->total}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr style="width: 100%; height:2px; border-width:0; background-color:#6c757d; margin-top: 0px;">
</div>
</div>