Merge pull request #363 from IceToast/Redeem_Voucher_link

Adds the possibility to provide a "voucher" paramter at the /store route
This commit is contained in:
Dennis 2022-01-19 20:50:39 +01:00 committed by GitHub
commit dd6db1bb0d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 417 additions and 393 deletions

View file

@ -1,5 +1,6 @@
<!doctype html> <!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
@ -7,62 +8,85 @@
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title> <title>{{ config('app.name', 'Laravel') }}</title>
<link rel="icon" <link rel="icon"
href="{{\Illuminate\Support\Facades\Storage::disk('public')->exists('favicon.ico') ? asset('storage/favicon.ico') : asset('favicon.ico')}}" href="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('favicon.ico') ? asset('storage/favicon.ico') : asset('favicon.ico') }}"
type="image/x-icon"> type="image/x-icon">
<script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script> <script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
{{-- <link rel="stylesheet" href="{{asset('css/adminlte.min.css')}}">--}} {{-- <link rel="stylesheet" href="{{asset('css/adminlte.min.css')}}"> --}}
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/dt-1.10.24/datatables.min.css"/> <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/dt-1.10.24/datatables.min.css" />
{{-- summernote --}} {{-- summernote --}}
<link rel="stylesheet" href="{{asset('plugins/summernote/summernote-bs4.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css') }}">
{{-- datetimepicker --}} {{-- datetimepicker --}}
<link rel="stylesheet" href="{{asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css')}}"> <link rel="stylesheet"
href="{{ asset('plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css') }}">
{{-- select2 --}} {{-- select2 --}}
<link rel="stylesheet" href="{{asset('plugins/select2/css/select2.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/select2/css/select2.min.css') }}">
<link rel="stylesheet" href="{{asset('css/app.css')}}"> <link rel="stylesheet" href="{{ asset('css/app.css') }}">
<link rel="preload" href="{{asset('plugins/fontawesome-free/css/all.min.css')}}" as="style" <link rel="preload" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}" as="style"
onload="this.onload=null;this.rel='stylesheet'"> onload="this.onload=null;this.rel='stylesheet'">
<noscript> <noscript>
<link rel="stylesheet" href="{{asset('plugins/fontawesome-free/css/all.min.css')}}"> <link rel="stylesheet" href="{{ asset('plugins/fontawesome-free/css/all.min.css') }}">
</noscript> </noscript>
</head> </head>
<body class="sidebar-mini layout-fixed dark-mode" style="height: auto;"> <body class="sidebar-mini layout-fixed dark-mode" style="height: auto;">
<div class="wrapper"> <!-- Scripts -->
<script src="{{ asset('js/app.js') }}"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10.14.1/dist/sweetalert2.all.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.24/datatables.min.js"></script>
<!-- Summernote -->
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
<!-- select2 -->
<script src="{{ asset('plugins/select2/js/select2.min.js') }}"></script>
<!-- Moment.js -->
<script src="{{ asset('plugins/moment/moment.min.js') }}"></script>
<!-- Datetimepicker -->
<script src="{{ asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js') }}"></script>
<!-- Select2 -->
<script src={{ asset('plugins/select2/js/select2.min.js') }}></script>
<div class="wrapper">
<!-- Navbar --> <!-- Navbar -->
<nav class="main-header sticky-top navbar navbar-expand navbar-dark navbar-light"> <nav class="main-header sticky-top navbar navbar-expand navbar-dark navbar-light">
<!-- Left navbar links --> <!-- Left navbar links -->
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a> <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i
class="fas fa-bars"></i></a>
</li> </li>
<li class="nav-item d-none d-sm-inline-block"> <li class="nav-item d-none d-sm-inline-block">
<a href="{{route('home')}}" class="nav-link"><i class="fas fa-home mr-2"></i>{{__('Home')}}</a> <a href="{{ route('home') }}" class="nav-link"><i
class="fas fa-home mr-2"></i>{{ __('Home') }}</a>
</li> </li>
<li class="nav-item d-none d-sm-inline-block"> <li class="nav-item d-none d-sm-inline-block">
<a href="{{env('DISCORD_INVITE_URL')}}" class="nav-link" target="__blank"><i <a href="{{ env('DISCORD_INVITE_URL') }}" class="nav-link" target="__blank"><i
class="fab fa-discord mr-2"></i>{{__('Discord')}}</a> class="fab fa-discord mr-2"></i>{{ __('Discord') }}</a>
</li> </li>
<!-- Language Selection --> <!-- Language Selection -->
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link" href="#" id="languageDropdown" role="button" data-toggle="dropdown" <a class="nav-link" href="#" id="languageDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-haspopup="true" aria-expanded="false">
aria-expanded="false">
<span class="mr-1 d-lg-inline text-gray-600"> <span class="mr-1 d-lg-inline text-gray-600">
<small><i class="fa fa-language mr-2"></i></small>{{__("Languages")}} <small><i class="fa fa-language mr-2"></i></small>{{ __('Languages') }}
</span> </span>
</a> </a>
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="changeLocale"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
<form method="post" action="{{route('changeLocale')}}" class="nav-item text-center"> aria-labelledby="changeLocale">
<form method="post" action="{{ route('changeLocale') }}" class="nav-item text-center">
@csrf @csrf
@foreach (config("app.available_locales") as $key=>$value) @foreach (config('app.available_locales') as $key => $value)
@if(!in_array(strtolower($key),UNSUPPORTED_LANGS)) @if (!in_array(strtolower($key), UNSUPPORTED_LANGS))
<button class="dropdown-item" name="inputLocale" value="{{$value}}"> <button class="dropdown-item" name="inputLocale" value="{{ $value }}">
{{$key}} {{ $key }}
</button> </button>
@endif @endif
@ -80,85 +104,88 @@
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link" data-toggle="dropdown" href="#"> <a class="nav-link" data-toggle="dropdown" href="#">
<i class="far fa-bell"></i> <i class="far fa-bell"></i>
@if(Auth::user()->unreadNotifications->count() != 0) @if (Auth::user()->unreadNotifications->count() != 0)
<span <span
class="badge badge-warning navbar-badge">{{Auth::user()->unreadNotifications->count()}}</span> class="badge badge-warning navbar-badge">{{ Auth::user()->unreadNotifications->count() }}</span>
@endif @endif
</a> </a>
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right"> <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
<span <span class="dropdown-item dropdown-header">{{ Auth::user()->unreadNotifications->count() }}
class="dropdown-item dropdown-header">{{Auth::user()->unreadNotifications->count()}} {{__('Notifications')}}</span> {{ __('Notifications') }}</span>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@foreach(Auth::user()->unreadNotifications->sortBy('created_at')->take(5) as $notification) @foreach (Auth::user()->unreadNotifications->sortBy('created_at')->take(5)
<a href="{{route('notifications.show' , $notification->id)}}" class="dropdown-item"> as $notification)
<a href="{{ route('notifications.show', $notification->id) }}" class="dropdown-item">
<span class="d-inline-block text-truncate" style="max-width: 150px;"><i <span class="d-inline-block text-truncate" style="max-width: 150px;"><i
class="fas fa-envelope mr-2"></i>{{$notification->data['title']}}</span> class="fas fa-envelope mr-2"></i>{{ $notification->data['title'] }}</span>
<span <span
class="float-right text-muted text-sm">{{$notification->created_at->longAbsoluteDiffForHumans()}} ago</span> class="float-right text-muted text-sm">{{ $notification->created_at->longAbsoluteDiffForHumans() }}
ago</span>
</a> </a>
@endforeach @endforeach
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a href="{{route('notifications.index')}}" <a href="{{ route('notifications.index') }}"
class="dropdown-item dropdown-footer">{{__('See all Notifications')}}</a> class="dropdown-item dropdown-footer">{{ __('See all Notifications') }}</a>
</div> </div>
</li> </li>
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link" href="#" id="userDropdown" role="button" data-toggle="dropdown" <a class="nav-link" href="#" id="userDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-haspopup="true" aria-expanded="false">
aria-expanded="false">
<span class="mr-1 d-lg-inline text-gray-600"> <span class="mr-1 d-lg-inline text-gray-600">
<small><i class="fas fa-coins mr-2"></i></small>{{Auth::user()->credits()}} <small><i class="fas fa-coins mr-2"></i></small>{{ Auth::user()->credits() }}
</span> </span>
</a> </a>
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
<a class="dropdown-item" href="{{route('store.index')}}"> aria-labelledby="userDropdown">
<a class="dropdown-item" href="{{ route('store.index') }}">
<i class="fas fa-coins fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-coins fa-sm fa-fw mr-2 text-gray-400"></i>
{{__('Store')}} {{ __('Store') }}
</a> </a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" data-toggle="modal" data-target="#redeemVoucherModal" <a class="dropdown-item" data-toggle="modal" data-target="#redeemVoucherModal"
href="javascript:void(0)"> href="javascript:void(0)">
<i class="fas fa-money-check-alt fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-money-check-alt fa-sm fa-fw mr-2 text-gray-400"></i>
{{__('Redeem code')}} {{ __('Redeem code') }}
</a> </a>
</div> </div>
</li> </li>
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-haspopup="true" aria-expanded="false">
aria-expanded="false">
<span class="mr-1 d-lg-inline text-gray-600 small"> <span class="mr-1 d-lg-inline text-gray-600 small">
{{Auth::user()->name}} {{ Auth::user()->name }}
<img width="28px" height="28px" class="rounded-circle ml-1" src="{{Auth::user()->getAvatar()}}"> <img width="28px" height="28px" class="rounded-circle ml-1"
src="{{ Auth::user()->getAvatar() }}">
</span> </span>
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
<a class="dropdown-item" href="{{route('profile.index')}}"> aria-labelledby="userDropdown">
<a class="dropdown-item" href="{{ route('profile.index') }}">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
{{__('Profile')}} {{ __('Profile') }}
</a> </a>
{{-- <a class="dropdown-item" href="#">--}} {{-- <a class="dropdown-item" href="#"> --}}
{{-- <i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>--}} {{-- <i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i> --}}
{{-- Activity Log--}} {{-- Activity Log --}}
{{-- </a>--}} {{-- </a> --}}
@if(session()->get('previousUser')) @if (session()->get('previousUser'))
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" href="{{route('users.logbackin')}}"> <a class="dropdown-item" href="{{ route('users.logbackin') }}">
<i class="fas fa-sign-in-alt fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-sign-in-alt fa-sm fa-fw mr-2 text-gray-400"></i>
{{__('Log back in')}} {{ __('Log back in') }}
</a> </a>
@endif @endif
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<form method="post" action="{{route('logout')}}"> <form method="post" action="{{ route('logout') }}">
@csrf @csrf
<button class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal"> <button class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
{{__('Logout')}} {{ __('Logout') }}
</button> </button>
</form> </form>
</div> </div>
@ -169,10 +196,11 @@
<!-- Main Sidebar Container --> <!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-open sidebar-dark-primary elevation-4"> <aside class="main-sidebar sidebar-open sidebar-dark-primary elevation-4">
<!-- Brand Logo --> <!-- Brand Logo -->
<a href="{{route('home')}}" class="brand-link"> <a href="{{ route('home') }}" class="brand-link">
<img width="64" height="64" <img width="64" height="64"
src="{{\Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png') ? asset('storage/icon.png') : asset('images/bitsec.png')}}" src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png') ? asset('storage/icon.png') : asset('images/bitsec.png') }}"
alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle" style="opacity: .8"> alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle"
style="opacity: .8">
<span class="brand-text font-weight-light">{{ config('app.name', 'Laravel') }}</span> <span class="brand-text font-weight-light">{{ config('app.name', 'Laravel') }}</span>
</a> </a>
@ -186,157 +214,154 @@
<!-- Add icons to the links using the .nav-icon class <!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library --> with font-awesome or any other icon font library -->
<li class="nav-item"> <li class="nav-item">
<a href="{{route('home')}}" class="nav-link @if(Request::routeIs('home')) active @endif"> <a href="{{ route('home') }}" class="nav-link @if (Request::routeIs('home')) active @endif">
<i class="nav-icon fa fa-home"></i> <i class="nav-icon fa fa-home"></i>
<p>{{__('Dashboard')}}</p> <p>{{ __('Dashboard') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('servers.index')}}" <a href="{{ route('servers.index') }}" class="nav-link @if (Request::routeIs('servers.*')) active @endif">
class="nav-link @if(Request::routeIs('servers.*')) active @endif">
<i class="nav-icon fa fa-server"></i> <i class="nav-icon fa fa-server"></i>
<p>{{__('Servers')}} <p>{{ __('Servers') }}
<span <span class="badge badge-info right">{{ Auth::user()->servers()->count() }} /
class="badge badge-info right">{{Auth::user()->servers()->count()}} / {{Auth::user()->server_limit}}</span> {{ Auth::user()->server_limit }}</span>
</p> </p>
</a> </a>
</li> </li>
@if(env('PAYPAL_SECRET') && env('PAYPAL_CLIENT_ID') || env('APP_ENV', 'local') == 'local') @if ((env('PAYPAL_SECRET') && env('PAYPAL_CLIENT_ID')) || env('APP_ENV', 'local') == 'local')
<li class="nav-item"> <li class="nav-item">
<a href="{{route('store.index')}}" <a href="{{ route('store.index') }}" class="nav-link @if (Request::routeIs('store.*') || Request::routeIs('checkout')) active @endif">
class="nav-link @if(Request::routeIs('store.*') || Request::routeIs('checkout')) active @endif">
<i class="nav-icon fa fa-coins"></i> <i class="nav-icon fa fa-coins"></i>
<p>{{__('Store')}}</p> <p>{{ __('Store') }}</p>
</a> </a>
</li> </li>
@endif @endif
@if(Auth::user()->role == 'admin') @if (Auth::user()->role == 'admin')
<li class="nav-header">{{__('Administration')}}</li> <li class="nav-header">{{ __('Administration') }}</li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.overview.index')}}" <a href="{{ route('admin.overview.index') }}"
class="nav-link @if(Request::routeIs('admin.overview.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.overview.*')) active @endif">
<i class="nav-icon fa fa-home"></i> <i class="nav-icon fa fa-home"></i>
<p>{{__('Overview')}}</p> <p>{{ __('Overview') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.configurations.index')}}" <a href="{{ route('admin.configurations.index') }}"
class="nav-link @if(Request::routeIs('admin.configurations.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.configurations.*')) active @endif">
<i class="nav-icon fas fa-cogs"></i> <i class="nav-icon fas fa-cogs"></i>
<p>{{__('Configurations')}}</p> <p>{{ __('Configurations') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.settings.index')}}" <a href="{{ route('admin.settings.index') }}"
class="nav-link @if(Request::routeIs('admin.settings.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.settings.*')) active @endif">
<i class="nav-icon fas fa-tools"></i> <i class="nav-icon fas fa-tools"></i>
<p>{{__('Settings')}}</p> <p>{{ __('Settings') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.api.index')}}" <a href="{{ route('admin.api.index') }}" class="nav-link @if (Request::routeIs('admin.api.*')) active @endif">
class="nav-link @if(Request::routeIs('admin.api.*')) active @endif">
<i class="nav-icon fa fa-gamepad"></i> <i class="nav-icon fa fa-gamepad"></i>
<p>{{__('Application API')}}</p> <p>{{ __('Application API') }}</p>
</a> </a>
</li> </li>
<li class="nav-header">{{__('Management')}}</li> <li class="nav-header">{{ __('Management') }}</li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.users.index')}}" <a href="{{ route('admin.users.index') }}" class="nav-link @if (Request::routeIs('admin.users.*')) active @endif">
class="nav-link @if(Request::routeIs('admin.users.*')) active @endif">
<i class="nav-icon fas fa-users"></i> <i class="nav-icon fas fa-users"></i>
<p>{{__('Users')}}</p> <p>{{ __('Users') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.servers.index')}}" <a href="{{ route('admin.servers.index') }}"
class="nav-link @if(Request::routeIs('admin.servers.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.servers.*')) active @endif">
<i class="nav-icon fas fa-server"></i> <i class="nav-icon fas fa-server"></i>
<p>{{__('Servers')}}</p> <p>{{ __('Servers') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.products.index')}}" <a href="{{ route('admin.products.index') }}"
class="nav-link @if(Request::routeIs('admin.products.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.products.*')) active @endif">
<i class="nav-icon fas fa-sliders-h"></i> <i class="nav-icon fas fa-sliders-h"></i>
<p>{{__('Products')}}</p> <p>{{ __('Products') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.store.index')}}" <a href="{{ route('admin.store.index') }}"
class="nav-link @if(Request::routeIs('admin.store.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.store.*')) active @endif">
<i class="nav-icon fas fa-shopping-basket"></i> <i class="nav-icon fas fa-shopping-basket"></i>
<p>{{__('Store')}}</p> <p>{{ __('Store') }}</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.vouchers.index')}}" <a href="{{ route('admin.vouchers.index') }}"
class="nav-link @if(Request::routeIs('admin.vouchers.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.vouchers.*')) active @endif">
<i class="nav-icon fas fa-money-check-alt"></i> <i class="nav-icon fas fa-money-check-alt"></i>
<p>{{__('Vouchers')}}</p> <p>{{ __('Vouchers') }}</p>
</a> </a>
</li> </li>
{{-- <li class="nav-header">Pterodactyl</li>--}} {{-- <li class="nav-header">Pterodactyl</li> --}}
{{-- <li class="nav-item">--}} {{-- <li class="nav-item"> --}}
{{-- <a href="{{route('admin.nodes.index')}}"--}} {{-- <a href="{{route('admin.nodes.index')}}" --}}
{{-- class="nav-link @if(Request::routeIs('admin.nodes.*')) active @endif">--}} {{-- class="nav-link @if (Request::routeIs('admin.nodes.*')) active @endif"> --}}
{{-- <i class="nav-icon fas fa-sitemap"></i>--}} {{-- <i class="nav-icon fas fa-sitemap"></i> --}}
{{-- <p>Nodes</p>--}} {{-- <p>Nodes</p> --}}
{{-- </a>--}} {{-- </a> --}}
{{-- </li>--}} {{-- </li> --}}
{{-- <li class="nav-item">--}} {{-- <li class="nav-item"> --}}
{{-- <a href="{{route('admin.nests.index')}}"--}} {{-- <a href="{{route('admin.nests.index')}}" --}}
{{-- class="nav-link @if(Request::routeIs('admin.nests.*')) active @endif">--}} {{-- class="nav-link @if (Request::routeIs('admin.nests.*')) active @endif"> --}}
{{-- <i class="nav-icon fas fa-th-large"></i>--}} {{-- <i class="nav-icon fas fa-th-large"></i> --}}
{{-- <p>Nests</p>--}} {{-- <p>Nests</p> --}}
{{-- </a>--}} {{-- </a> --}}
{{-- </li>--}} {{-- </li> --}}
<li class="nav-header">{{__('Other')}}</li> <li class="nav-header">{{ __('Other') }}</li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.usefullinks.index')}}" <a href="{{ route('admin.usefullinks.index') }}"
class="nav-link @if(Request::routeIs('admin.usefullinks.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.usefullinks.*')) active @endif">
<i class="nav-icon fas fa-link"></i> <i class="nav-icon fas fa-link"></i>
<p>{{__('Useful Links')}}</p> <p>{{ __('Useful Links') }}</p>
</a> </a>
</li> </li>
<li class="nav-header">{{__('Logs')}}</li> <li class="nav-header">{{ __('Logs') }}</li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.payments.index')}}" <a href="{{ route('admin.payments.index') }}"
class="nav-link @if(Request::routeIs('admin.payments.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.payments.*')) active @endif">
<i class="nav-icon fas fa-money-bill-wave"></i> <i class="nav-icon fas fa-money-bill-wave"></i>
<p>{{__('Payments')}} <p>{{ __('Payments') }}
<span class="badge badge-success right">{{\App\Models\Payment::count()}}</span> <span
class="badge badge-success right">{{ \App\Models\Payment::count() }}</span>
</p> </p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{route('admin.activitylogs.index')}}" <a href="{{ route('admin.activitylogs.index') }}"
class="nav-link @if(Request::routeIs('admin.activitylogs.*')) active @endif"> class="nav-link @if (Request::routeIs('admin.activitylogs.*')) active @endif">
<i class="nav-icon fas fa-clipboard-list"></i> <i class="nav-icon fas fa-clipboard-list"></i>
<p>{{__('Activity Logs')}}</p> <p>{{ __('Activity Logs') }}</p>
</a> </a>
</li> </li>
@ -353,14 +378,14 @@
<div class="content-wrapper"> <div class="content-wrapper">
@if(!Auth::user()->hasVerifiedEmail()) @if (!Auth::user()->hasVerifiedEmail())
@if(Auth::user()->created_at->diffInHours(now(), false) > 1) @if (Auth::user()->created_at->diffInHours(now(), false) > 1)
<div class="alert alert-warning p-2 m-2"> <div class="alert alert-warning p-2 m-2">
<h5><i class="icon fas fa-exclamation-circle"></i> {{__('Warning!')}}</h5> <h5><i class="icon fas fa-exclamation-circle"></i> {{ __('Warning!') }}</h5>
{{__('You have not yet verified your email address')}} <a class="text-primary" {{ __('You have not yet verified your email address') }} <a class="text-primary"
href="{{route('verification.send')}}">{{__('Click here to resend verification email')}}</a> href="{{ route('verification.send') }}">{{ __('Click here to resend verification email') }}</a>
<br> <br>
{{__('Please contact support If you didnt receive your verification email.')}} {{ __('Please contact support If you didnt receive your verification email.') }}
</div> </div>
@endif @endif
@endif @endif
@ -371,10 +396,11 @@
</div> </div>
<!-- /.content-wrapper --> <!-- /.content-wrapper -->
<footer class="main-footer"> <footer class="main-footer">
<strong>Copyright &copy; 2021-{{date('Y')}} <a href="{{url('/')}}">{{env('APP_NAME' , 'Laravel')}}</a>.</strong> <strong>Copyright &copy; 2021-{{ date('Y') }} <a
href="{{ url('/') }}">{{ env('APP_NAME', 'Laravel') }}</a>.</strong>
All rights All rights
reserved. Powered by <a href="https://controlpanel.gg">ControlPanel</a>. Version reserved. Powered by <a href="https://controlpanel.gg">ControlPanel</a>. Version
<b>{{config('app')['version']}}</b> <b>{{ config('app')['version'] }}</b>
</footer> </footer>
<!-- Control Sidebar --> <!-- Control Sidebar -->
@ -382,33 +408,11 @@
<!-- Control sidebar content goes here --> <!-- Control sidebar content goes here -->
</aside> </aside>
<!-- /.control-sidebar --> <!-- /.control-sidebar -->
</div> </div>
<!-- ./wrapper --> <!-- ./wrapper -->
<!-- Scripts -->
{{--<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>--}}
{{--<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>--}}
{{--<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>--}}
{{--<script src="{{ asset('js/adminlte.min.js') }}"></script>--}}
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10.14.1/dist/sweetalert2.all.min.js"></script>
<script src="{{asset('js/app.js')}}"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.24/datatables.min.js"></script>
<!-- Summernote -->
<script src="{{asset('plugins/summernote/summernote-bs4.min.js')}}"></script>
<!-- select2 -->
<script src="{{asset('plugins/select2/js/select2.min.js')}}"></script>
<!-- Moment.js -->
<script src="{{asset('plugins/moment/moment.min.js')}}"></script>
<!-- Datetimepicker -->
<script src="{{asset('plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js')}}"></script>
<!-- Select2 -->
<script src={{asset('plugins/select2/js/select2.min.js')}}>
<script> <script>
$(document).ready(function () { $(document).ready(function() {
$('[data-toggle="popover"]').popover(); $('[data-toggle="popover"]').popover();
$.ajaxSetup({ $.ajaxSetup({
@ -417,20 +421,20 @@
} }
}); });
}); });
</script> </script>
<script> <script>
@if(Session::has('error')) @if (Session::has('error'))
Swal.fire({ Swal.fire({
icon: 'error', icon: 'error',
title: 'Oops...', title: 'Oops...',
html: '{{Session::get('error')}}', html: '{{ Session::get('error') }}',
}) })
@endif @endif
@if(Session::has('success')) @if (Session::has('success'))
Swal.fire({ Swal.fire({
icon: 'success', icon: 'success',
title: '{{Session::get('success')}}', title: '{{ Session::get('success') }}',
position: 'top-end', position: 'top-end',
showConfirmButton: false, showConfirmButton: false,
background: '#343a40', background: '#343a40',
@ -443,6 +447,7 @@
} }
}) })
@endif @endif
</script> </script>
</body> </body>
</html> </html>

View file

@ -81,4 +81,23 @@
</section> </section>
<!-- END CONTENT --> <!-- END CONTENT -->
<script>
const getUrlParameter = (param) => {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
return urlParams.get(param);
}
const voucherCode = getUrlParameter('voucher');
//if voucherCode not empty, open the modal and fill the input
if (voucherCode) {
$(function() {
$('#redeemVoucherModal').modal('show');
$('#redeemVoucherCode').val(voucherCode);
});
}
</script>
@endsection @endsection