CasperSecurity
<!DOCTYPE html>
<html lang="en">
<head>
<!--Title-->
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="author" content="DexignZone">
<meta name="robots" content="index, follow">
<!-- MOBILE SPECIFIC -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- FAVICONS ICON -->
<link rel="shortcut icon" type="image/png" href="{{asset('assets/images/favicon.png')}}">
<!-- ICONS -->
<link rel="stylesheet" href="{{asset('assets/icons/fontawesome/css/all.min.css')}}">
<link rel="stylesheet" href="{{asset('assets/icons/line-awesome/css/line-awesome.min.css')}}">
<link rel="stylesheet" href="{{asset('assets/icons/simple-line-icons/css/simple-line-icons.css')}}">
<!-- TAGIFY -->
<link href="{{asset('assets/vendor/tagify/dist/tagify.css')}}" rel="stylesheet">
<!-- NICE SELECT -->
<link href="{{asset('assets/vendor/niceselect/css/nice-select.css')}}" rel="stylesheet">
<!-- STYLESHEETS -->
<link href="{{asset('assets/vendor/powerful-calendar/all.min.css')}}" rel="stylesheet">
<link href="{{asset('assets/vendor/datatables/css/jquery.dataTables.min.css')}}" rel="stylesheet">
<link href="{{asset('assets/vendor/jvmap/jquery-jvectormap.min.css')}}" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Material+Icons" rel="stylesheet">
<!-- STYLE CSS -->
<link href="{{asset('assets/css/style.css')}}" rel="stylesheet">
<link href="{{asset('assets/vendor/sweetalert2/dist/sweetalert2.min.css')}}" rel="stylesheet">
<link rel="stylesheet" href="{{asset('assets/vendor/toastr/css/toastr.min.css')}}">
@section('externalcss')
<style>
/* Your CSS styles here */
@keyframes blink {
0% {
opacity: 1;
font-size: 10px;
padding: 5px;
}
50% {
opacity: 0;
font-size: 10px;
padding: 5px;
}
100% {
opacity: 1;
font-size: 10px;
padding: 5px;
}
}
.blinking {
animation: blink 2s infinite;
}
</style>
@endsection
@livewireStyles
@yield('externalcss')
@stack('styles')
</head>
<body class="selection:text-white selection:bg-primary">
<!-- Preloader start -->
<div id="preloader" class="bg-white dark:bg-[#242424] p-0 m-0 h-full fixed z-[99999] w-full flex items-center justify-center">
<div class="lds-ripple inline-block relative w-20 h-20">
<div></div>
<div></div>
</div>
</div>
<!-- Preloader end -->
<div id="main-wrapper" class="show menu-toggle">
@include('layouts.nav_header')
@include('layouts.header')
@include('layouts.nav_sidebar')
<div class="content-body">
@if (isset($pageheader))
<div class="page-titles dark:bg-[#242424] flex items-center justify-between relative border-b border-[#E6E6E6] dark:border-[#444444] flex-wrap z-[1] py-[0.6rem] sm:px-[1.95rem] px-[1.55rem] bg-white">
<ol class="text-[13px] flex items-center flex-wrap bg-transparent">
{{$pageheader}}
</ol>
</div>
@endif
<div class="container-fluid">
{{ $slot }}
</div>
</div>
@include('layouts.footer')
<audio id="notificationSound">
<source src="{{asset('sounds/notification_2.wav')}}" type="audio/mpeg">
</audio>
</div>
<script src="{{asset('assets/vendor/global/global.min.js')}}"></script>
<script src="{{asset('assets/vendor/chart.js/chart.bundle.min.js')}}"></script>
<script src="{{asset('assets/vendor/apexchart/apexchart.min.js')}}"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Dashboard 1 -->
<script src="{{asset('assets/vendor/toastr/js/toastr.min.js')}}"></script>
<script src="{{asset('assets/js/dashboard/dashboard-1.js')}}"></script>
<script src="{{asset('assets/vendor/draggable/draggable.js')}}"></script>
<script src="{{asset('assets/vendor/datatables/js/jquery.dataTables.min.js')}}"></script>
<script src="{{asset('assets/vendor/datatables/js/dataTables.buttons.min.js')}}"></script>
<script src="{{asset('assets/vendor/datatables/js/buttons.html5.min.js')}}"></script>
<script src="{{asset('assets/vendor/datatables/js/jszip.min.js')}}"></script>
<script src="{{asset('assets/js/plugins-init/datatables.init.min.js')}}"></script>
<script src="{{asset('assets/vendor/tagify/dist/tagify.min.js')}}"></script><!-- tagify -->
<script src="{{asset('assets/vendor/niceselect/js/jquery.nice-select.min.js')}}"></script> <!-- nice-select -->
<script src="{{asset('assets/vendor/powerful-calendar/calendar.min.js')}}"></script> <!-- Date picker -->
<!-- Vectormap -->
<script src="{{asset('assets/vendor/jqvmap/js/jquery.vmap.min.js')}}"></script>
<script src="{{asset('assets/vendor/jqvmap/js/jquery.vmap.world.js')}}"></script>
<script src="{{asset('assets/vendor/jqvmap/js/jquery.vmap.usa.js')}}"></script>
<script src="{{asset('assets/js/deznav-init.js')}}"></script>
<script src="{{asset('assets/js/custom.min.js')}}"></script>
<script src="{{asset('assets/js/demo.min.js')}}"></script>
<script>
document.addEventListener('nofifyuser', function () {
playNotificationSound();
});
document.addEventListener('closeOffCanvas', function () {
offCanvasClose();
});
function offCanvasClose() {
$('.offcanvas-close').click();
}
function popupmodal() {
Swal.fire({
text: "Are you sure you would like to close?",
icon: "warning",
showCancelButton: !0,
buttonsStyling: !1,
confirmButtonText: "Yes, close it!",
cancelButtonText: "No, return",
customClass: {
confirmButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-success text-success hover:bg-success hover:text-white duration-300",
cancelButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-danger text-danger hover:bg-danger hover:text-white duration-300"
}
}).then((function (result) {
if (result.isConfirmed) {
closemodal();
} else if (
/* Read more about handling dismissals below */
result.dismiss === Swal.DismissReason.cancel
) {
Swal.fire({
text: "The Data has been safe",
icon: "success",
confirmButtonText: "Ok",
customClass: {
confirmButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-primary text-white hover:bg-hover-primary hover:text-white duration-300"
}
});
}
}))
}
function confirmmodal($msg,$function_name) {
Swal.fire({
text: $msg,
icon: "warning",
showCancelButton: !0,
buttonsStyling: !1,
confirmButtonText: "Yes, i confirm",
cancelButtonText: "No, i deny",
customClass: {
confirmButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-warning text-warning hover:bg-warning hover:text-white duration-300",
cancelButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-danger text-danger hover:bg-danger hover:text-white duration-300"
}
}).then((function (result) {
if (result.isConfirmed) {
Livewire.emit($function_name);
} else if (
/* Read more about handling dismissals below */
result.dismiss === Swal.DismissReason.cancel
) {
Swal.fire({
text: "Your data has been safe",
icon: "success",
confirmButtonText: "Ok, got it!",
customClass: {
confirmButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-primary text-white hover:bg-hover-primary hover:text-white duration-300"
}
});
}
}))
}
function showsuccessmsg($msg) {
Swal.fire({
text: $msg,
icon: "success",
buttonsStyling: false,
confirmButtonText: "Ok, got it!",
customClass: {
confirmButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-primary text-primary hover:bg-hover-primary hover:text-white duration-300"
}
});
}
function showtostsuccessmsg($msg) {
toastr.success($msg, "Success", {
timeOut: 500000000,
closeButton: !0,
debug: !1,
newestOnTop: !0,
progressBar: !0,
positionClass: "toast-top-right",
preventDuplicates: !0,
onclick: null,
showDuration: "300",
hideDuration: "1000",
extendedTimeOut: "1000",
showEasing: "swing",
hideEasing: "linear",
showMethod: "fadeIn",
hideMethod: "fadeOut",
tapToDismiss: !1
})
}
function showerrorsmsg($msg) {
Swal.fire({
text: $msg,
icon: "error",
buttonsStyling: false,
confirmButtonText: "Ok, got it!",
customClass: {
confirmButton: "mr-1 mb-2 inline-block rounded font-medium xl:text-[15px] text-xs leading-5 xl:py-[0.719rem] xl:px-[1.563rem] py-2.5 px-4 border border-danger text-danger hover:bg-danger hover:text-white duration-300"
}
});
}
function onlyNumberKey(evt) {
var ASCIICode = (evt.which) ? evt.which : evt.keyCode
if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57))
return false;
return true;
}
function closemodal() {
$('.modal').modal('hide');
}
window.addEventListener('closemodal', event => {
closemodal();
});
window.addEventListener('showsuccessmsg', event => {
if (event.detail.type == "success") {
showsuccessmsg(event.detail.message);
} else {
showerrorsmsg(event.detail.message);
}
//showsuccessmsg();
});
window.addEventListener('confirmdelete', event => {
confirmmodal(event.detail.message,event.detail.funcname);
});
// Function to play notification sound
function playNotificationSound() {
var audio = document.getElementById('notificationSound');
audio.play();
}
</script>
<script src="{{asset('js/app.js')}}" defer></script>
<script>
window.addEventListener('load', function () {
/* Echo.channel('tender-channel')
.listen('CreateTenderNotify', (data) => {
console.log('Received event:', data);
// Handle the received event data
});*/
Echo.private('users.' + {{\Illuminate\Support\Facades\Auth::user()->id}})
.notification((notification) => {
playNotificationSound();
Livewire.emit('updateNotification');
$('#notifications').click();
});
});
</script>
{{--<script src="https://cdnjs.cloudflare.com/ajax/libs/laravel-echo/1.11.3/echo.min.js"></script>
<script>
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'oss-key',
wsHost: window.location.hostname,
wsPort: 6001,
forceTLS: false,
disableStats: true,
});
</script>--}}
@livewireScripts
@yield('externaljs')
@stack('scripts')
</body>
</html>