Вход Регистрация
Файл: resources/views/admin/dashboard/index.blade.php
Строк: 411
<?php
@extends('layouts.app')

@
section('site_title'formatTitle([__('Dashboard'), config('settings.title')]))

@
section('content')
    <
div class="bg-base-1 flex-fill">
        <
div class="bg-base-0">
            <
div class="container py-5">
                <
div class="d-flex">
                    <
div class="row no-gutters w-100">
                        <
div class="d-flex col-12 col-md">
                            <
div class="flex-grow-1 d-flex align-items-center">
                                <
div>
                                    <
h1 class="h2 font-weight-medium mb-0">{{ config('settings.title') }}</h1>

                                    <
div class="d-flex flex-wrap">
                                        <
div class="d-inline-block mt-2 {{ (__('lang_dir') == 'rtl' ? 'ml-4' : 'mr-4') }}">
                                            <
div class="d-flex">
                                                <
div class="d-inline-flex align-items-center">
                                                    @include(
'icons.info', ['class' => 'text-muted fill-current width-4 height-4'])
                                                </
div>

                                                <
div class="d-inline-block {{ (__('lang_dir') == 'rtl' ? 'mr-2' : 'ml-2') }}">
                                                    <
a href="{{ config('info.software.url') }}/{{ mb_strtolower(config('info.software.name')) }}/changelog" class="text-dark text-decoration-none d-flex align-items-center" target="_blank">{{ __('Version') }} <span class="badge badge-primary {{ (__('lang_dir') == 'rtl' ? 'mr-2' : 'ml-2') }}">{{ config('info.software.version') }}</span></a>
                                                </
div>
                                            </
div>
                                        </
div>

                                        <
div class="d-inline-block mt-2 {{ (__('lang_dir') == 'rtl' ? 'ml-4' : 'mr-4') }}">
                                            <
div class="d-flex">
                                                <
div class="d-inline-flex align-items-center">
                                                    @include(
'icons.vpn-key', ['class' => 'text-muted fill-current width-4 height-4'])
                                                </
div>

                                                <
div class="d-inline-block {{ (__('lang_dir') == 'rtl' ? 'mr-2' : 'ml-2') }}">
                                                    <
a href="{{ route('admin.settings', 'license') }}" class="text-dark text-decoration-none d-flex align-items-center">{{ __('License') }} <span class="badge badge-primary {{ (__('lang_dir') == 'rtl' ? 'mr-2' : 'ml-2') }}">{{ config('settings.license_type') ? 'Extended' 'Regular' }}</span></a>
                                                </
div>
                                            </
div>
                                        </
div>
                                    </
div>
                                </
div>
                            </
div>
                        </
div>

                        <
div class="col-12 col-md-auto d-flex flex-row-reverse align-items-center"></div>
                    </
div>
                </
div>
            </
div>
        </
div>

        <
div class="bg-base-1">
            <
div class="container py-3 my-3">
                <
h4 class="mb-3">{{ __('Overview') }}</h4>

                <
div class="row m-n2">
                    @
php
                        $cards 
= [
                            
'users' =>
                            [
                                
'title' => 'Users',
                                
'value' => $stats['users'],
                                
'route' => 'admin.users',
                                
'icon' => 'people-alt'
                            
],
                            [
                                
'title' => 'Plans',
                                
'value' => $stats['plans'],
                                
'route' => 'admin.plans',
                                
'icon' => 'package'
                            
],
                            [
                                
'title' => 'Payments',
                                
'value' => $stats['payments'],
                                
'route' => 'admin.payments',
                                
'icon' => 'credit-card'
                            
],
                            [
                                
'title' => 'Websites',
                                
'value' => $stats['websites'],
                                
'route' => 'admin.websites',
                                
'icon' => 'website'
                            
]
                        ];
                    @
endphp

                    
@foreach($cards as $card)
                        <
div class="col-12 col-md-6 col-xl-3 p-2">
                            <
div class="card border-0 shadow-sm h-100 overflow-hidden">
                                <
div class="card-body d-flex">
                                    <
div class="d-flex position-relative text-primary width-10 height-10 align-items-center justify-content-center flex-shrink-0">
                                        <
div class="position-absolute bg-primary opacity-10 top-0 right-0 bottom-0 left-0 border-radius-xl"></div>
                                        @include(
'icons.' $card['icon'], ['class' => 'fill-current width-5 height-5'])
                                    </
div>

                                    <
div class="flex-grow-1"></div>

                                    <
div class="d-flex align-items-center h2 font-weight-bold mb-0 text-truncate">
                                        {{ 
number_format($card['value'], 0__('.'), __(',')) }}
                                    </
div>
                                </
div>
                                <
div class="card-footer bg-base-2 border-0">
                                    <
a href="{{ route($card['route']) }}" class="text-muted font-weight-medium d-inline-flex align-items-baseline">{{ __($card['title']) }} @include((__('lang_dir') == 'rtl' 'icons.chevron-left' 'icons.chevron-right'), ['class' => 'width-3 height-3 fill-current '.(__('lang_dir') == 'rtl' 'mr-2' 'ml-2')])</a>
                                </
div>
                            </
div>
                        </
div>
                    @endforeach
                </
div>

                <
h4 class="mb-3 mt-5">{{ __('Activity') }}</h4>

                <
div class="row m-n2">
                    <
div class="col-12 col-xl-6 p-2">
                        <
div class="card border-0 shadow-sm h-100">
                            <
div class="card-header align-items-center">
                                <
div class="row">
                                    <
div class="col"><div class="font-weight-medium py-1">{{ __('Latest users') }}</div></div>
                                </
div>
                            </
div>
                            <
div class="card-body">
                                @if(
count($users) == 0)
                                    {{ 
__('No data') }}.
                                @else
                                    <
div class="list-group list-group-flush my-n3">
                                        @foreach(
$users as $user)
                                            <
div class="list-group-item px-0">
                                                <
div class="row align-items-center">
                                                    <
div class="col text-truncate">
                                                        <
div class="text-truncate">
                                                            <
div class="d-flex align-items-center">
                                                                <
img src="{{ gravatar($user->email, 48) }}" class="rounded-circle width-4 height-4 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}">

                                                                <
div class="text-truncate">
                                                                    <
a href="{{ route('admin.users.edit', $user->id) }}" class="text-truncate">{{ $user->name }}</a>
                                                                </
div>
                                                            </
div>
                                                            <
div class="d-flex align-items-center">
                                                                <
div class="width-4 flex-shrink-0 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}"></div>
                                                                <
div class="text-muted text-truncate small">
                                                                    {{ 
$user->email }}
                                                                </
div>
                                                            </
div>
                                                        </
div>
                                                    </
div>
                                                    <
div class="col-auto">
                                                        <
div class="form-row">
                                                            <
div class="col">
                                                                @include(
'admin.users.partials.menu', ['user' => $user])
                                                            </
div>
                                                        </
div>
                                                    </
div>
                                                </
div>
                                            </
div>
                                        @endforeach
                                    </
div>
                                @endif
                            </
div>

                            @if(
count($users) > 0)
                                <
div class="card-footer bg-base-2 border-0">
                                    <
a href="{{ route('admin.users') }}" class="text-muted font-weight-medium d-flex align-items-center justify-content-center">{{ __('View all') }} @include((__('lang_dir') == 'rtl' 'icons.chevron-left' 'icons.chevron-right'), ['class' => 'width-3 height-3 fill-current '.(__('lang_dir') == 'rtl' 'mr-2' 'ml-2')])</a>
                                </
div>
                            @endif
                        </
div>
                    </
div>

                    @if(
paymentProcessors())
                        <
div class="col-12 col-xl-6 p-2">
                            <
div class="card border-0 shadow-sm h-100">
                                <
div class="card-header align-items-center">
                                    <
div class="row">
                                        <
div class="col"><div class="font-weight-medium py-1">{{ __('Latest payments') }}</div></div>
                                    </
div>
                                </
div>
                                <
div class="card-body">
                                    @if(
count($payments) == 0)
                                        {{ 
__('No data') }}.
                                    @else
                                        <
div class="list-group list-group-flush my-n3">
                                            @foreach(
$payments as $payment)
                                                <
div class="list-group-item px-0">
                                                    <
div class="row align-items-center">
                                                        <
div class="col text-truncate">
                                                            <
div class="text-truncate">
                                                                <
div class="d-flex align-items-center">
                                                                    <
img src="{{ url('/') }}/images/icons/payments/{{ $payment->processor }}.svg" class="width-4 rounded-sm {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}">

                                                                    <
div class="text-truncate d-flex align-items-center">
                                                                        <
div class="text-truncate {{ (__('lang_dir') == 'rtl' ? 'ml-2' : 'mr-2') }}">
                                                                            <
a href="{{ route('admin.payments.edit', $payment->id) }}">{{ formatMoney($payment->amount$payment->currency) }}</a> <span class="text-muted">{{ $payment->currency }}</span>
                                                                        </
div>

                                                                        @if(
$payment->status == 'completed')
                                                                            <
span class="badge badge-success text-truncate">{{ __('Completed') }}</span>
                                                                        @elseif(
$payment->status == 'pending')
                                                                            <
span class="badge badge-secondary text-truncate">{{ __('Pending') }}</span>
                                                                        @else
                                                                            <
span class="badge badge-danger text-truncate">{{ __('Cancelled') }}</span>
                                                                        @endif
                                                                    </
div>
                                                                </
div>
                                                                <
div class="d-flex align-items-center">
                                                                    <
div class="width-4 flex-shrink-0 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}"></div>
                                                                    <
div class="text-muted text-truncate small">
                                                                        {{ 
$payment->plan->name }}
                                                                    </
div>
                                                                </
div>
                                                            </
div>
                                                        </
div>
                                                        <
div class="col-auto">
                                                            <
div class="form-row">
                                                                <
div class="col">
                                                                    @include(
'account.payments.partials.menu')
                                                                </
div>
                                                            </
div>
                                                        </
div>
                                                    </
div>
                                                </
div>
                                            @endforeach
                                        </
div>
                                    @endif
                                </
div>

                                @if(
count($payments) > 0)
                                    <
div class="card-footer bg-base-2 border-0">
                                        <
a href="{{ route('admin.payments') }}" class="text-muted font-weight-medium d-flex align-items-center justify-content-center">{{ __('View all') }} @include((__('lang_dir') == 'rtl' 'icons.chevron-left' 'icons.chevron-right'), ['class' => 'width-3 height-3 fill-current '.(__('lang_dir') == 'rtl' 'mr-2' 'ml-2')])</a>
                                    </
div>
                                @endif
                            </
div>
                        </
div>
                    @else
                        <
div class="col-12 col-xl-6 p-2">
                            <
div class="card border-0 shadow-sm h-100">
                                <
div class="card-header align-items-center">
                                    <
div class="row">
                                        <
div class="col"><div class="font-weight-medium py-1">{{ __('Latest websites') }}</div></div>
                                    </
div>
                                </
div>
                                <
div class="card-body">
                                    @if(
count($websites) == 0)
                                        {{ 
__('No data') }}.
                                    @else
                                        <
div class="list-group list-group-flush my-n3">
                                            @foreach(
$websites as $website)
                                                <
div class="list-group-item px-0">
                                                    <
div class="row align-items-center">
                                                        <
div class="col text-truncate">
                                                            <
div class="text-truncate">
                                                                <
div class="d-flex align-items-center">
                                                                    <
img src="https://icons.duckduckgo.com/ip3/{{ $website->domain }}.ico" class="rounded-circle width-4 height-4 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}" rel="noreferrer">

                                                                    <
div class="text-truncate">
                                                                        <
a href="{{ route('admin.websites.edit', $website->id) }}" class="text-truncate">{{ $website->domain }}</a>
                                                                    </
div>
                                                                </
div>
                                                                <
div class="d-flex align-items-center">
                                                                    <
div class="width-4 flex-shrink-0 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}"></div>
                                                                    <
div class="text-muted text-truncate small">
                                                                        <
span class="text-muted" data-tooltip="true" title="{{ $website->updated_at->tz(Auth::user()->timezone ?? config('app.timezone'))->format(__('Y-m-d') . ' H:i:s') }}">{{ $website->updated_at->diffForHumans() }}</span>
                                                                    </
div>
                                                                </
div>
                                                            </
div>
                                                        </
div>
                                                        <
div class="col-auto">
                                                            <
div class="form-row">
                                                                <
div class="col">
                                                                    @include(
'websites.partials.menu')
                                                                </
div>
                                                            </
div>
                                                        </
div>
                                                    </
div>
                                                </
div>
                                            @endforeach
                                        </
div>
                                    @endif
                                </
div>

                                @if(
count($websites) > 0)
                                    <
div class="card-footer bg-base-2 border-0">
                                        <
a href="{{ route('admin.websites') }}" class="text-muted font-weight-medium d-flex align-items-center justify-content-center">{{ __('View all') }} @include((__('lang_dir') == 'rtl' 'icons.chevron-left' 'icons.chevron-right'), ['class' => 'width-3 height-3 fill-current '.(__('lang_dir') == 'rtl' 'mr-2' 'ml-2')])</a>
                                    </
div>
                                @endif
                            </
div>
                        </
div>
                    @endif
                </
div>

                <
h4 class="mb-3 mt-5">{{ __('More') }}</h4>

                <
div class="row m-n2">
                    <
div class="col-12 col-xl-4 p-2">
                        <
div class="card border-0 h-100 shadow-sm">
                            <
div class="card-body d-flex">
                                <
div class="d-flex position-relative text-primary width-12 height-12 align-items-center justify-content-center flex-shrink-0 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}">
                                    <
div class="position-absolute bg-primary opacity-10 top-0 right-0 bottom-0 left-0 border-radius-2xl"></div>
                                    @include(
'icons.website', ['class' => 'fill-current width-6 height-6'])
                                </
div>
                                <
div class="d-flex flex-column justify-content-center">
                                    <
a href="{{ config('info.software.url') }}/{{ mb_strtolower(config('info.software.name')) }}" class="text-dark font-weight-medium text-decoration-none stretched-link">{{ __('Website') }}</a>

                                    <
div class="text-muted">
                                        {{ 
__('Visit the official website.') }}
                                    </
div>
                                </
div>
                            </
div>
                        </
div>
                    </
div>

                    <
div class="col-12 col-xl-4 p-2">
                        <
div class="card border-0 h-100 shadow-sm">
                            <
div class="card-body d-flex">
                                <
div class="d-flex position-relative text-primary width-12 height-12 align-items-center justify-content-center flex-shrink-0 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}">
                                    <
div class="position-absolute bg-primary opacity-10 top-0 right-0 bottom-0 left-0 border-radius-2xl"></div>
                                    @include(
'icons.book', ['class' => 'fill-current width-6 height-6'])
                                </
div>
                                <
div class="d-flex flex-column justify-content-center">
                                    <
a href="{{ config('info.software.url') }}/{{ mb_strtolower(config('info.software.name')) }}/documentation" class="text-dark font-weight-medium text-decoration-none stretched-link">{{ __('Documentation') }}</a>

                                    <
div class="text-muted">
                                        {{ 
__('Read the documentation.') }}
                                    </
div>
                                </
div>
                            </
div>
                        </
div>
                    </
div>

                    <
div class="col-12 col-xl-4 p-2">
                        <
div class="card border-0 h-100 shadow-sm">
                            <
div class="card-body d-flex">
                                <
div class="d-flex position-relative text-primary width-12 height-12 align-items-center justify-content-center flex-shrink-0 {{ (__('lang_dir') == 'rtl' ? 'ml-3' : 'mr-3') }}">
                                    <
div class="position-absolute bg-primary opacity-10 top-0 right-0 bottom-0 left-0 border-radius-2xl"></div>
                                    @include(
'icons.history', ['class' => 'fill-current width-6 height-6'])
                                </
div>
                                <
div class="d-flex flex-column justify-content-center">
                                    <
a href="{{ config('info.software.url') }}/{{ mb_strtolower(config('info.software.name')) }}/changelog" class="text-dark font-weight-medium text-decoration-none stretched-link">{{ __('Changelog') }}</a>

                                    <
div class="text-muted">
                                        {{ 
__('See what'new.') }}
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection
@include('
admin.sidebar')
?>
Онлайн: 2
Реклама