@extends('admin.layout.app')
@section('title', 'Facebook Link')
@push('custom_css')
<link rel="stylesheet" href="{{ asset('assets/js/loader/waitMe.css') }}">
@endpush
@section('content')
<div class="row">
<div class="col-12">
<div class="page-title-box d-sm-flex align-items-center justify-content-between">
<h4 class="mb-sm-0">Facebook Link</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="{{route('admin.dashboard')}}">Dashboard</a></li>
<li class="breadcrumb-item active">Facebook Link</li>
</ol>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header align-items-center d-flex">
<h4 class="card-title mb-0 flex-grow-1">Facebook Link</h4>
<div class="flex-shrink-0">
<a href="{{route('admin.facebook_link.add')}}" class="btn btn-primary">+ Add New</a>
</div>
</div><!-- end card header -->
<div class="card-body">
<div class="live-preview">
<div class="table-responsive">
<table class="table align-middle mb-0 facebook_lik_data_table"
data-remove-uri="{{route('admin.facebook_link.delete', ':id')}}">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Link</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div><!-- end card-body -->
</div>
@endsection
@push('custom_scripts')
<script src="{{ asset('assets/js/loader/waitMe.js') }}"></script>
<script type="module">
import {initializeApp} from 'https://www.gstatic.com/firebasejs/9.15.0/firebase-app.js'
import {getDatabase, ref, onValue} from 'https://www.gstatic.com/firebasejs/9.15.0/firebase-database.js'
const firebaseConfig = {
apiKey: "AIzaSyCWb6aMoFp29WaI2ITsXxXWHxDvmD_2ciM",
authDomain: "radio-kaya.firebaseapp.com",
databaseURL: "https://radio-kaya-default-rtdb.firebaseio.com",
projectId: "radio-kaya",
storageBucket: "radio-kaya.appspot.com",
messagingSenderId: "921680294488",
appId: "1:921680294488:web:17ae5a382598ef539f102d",
measurementId: "G-JQ5TKD66V2"
};
showLoader()
const app = initializeApp(firebaseConfig);
const db = getDatabase();
const starCountRef = ref(db, 'facebook_link')
var schedule = []
var datatable = $('.facebook_lik_data_table').DataTable({
processing: true,
data: schedule,
columns: [
{data: 'id'},
{data: 'link'},
{data: 'action'},
],
columnDefs: [
{
targets: 0,
orderable: false,
render: function (data, type, row, meta) {
return 1;
}
},
{
targets: 1,
orderable: false,
render: function (data, type, row, meta) {
return '<p>' + row.link + '</p>';
}
},
{
targets: -1,
orderable: false,
render: function (data, type, row, meta) {
return '<a href="#" class="btn btn-danger btn-sm delete_btn">Delete</a>'
}
},
]
})
onValue(starCountRef, (snapshot) => {
showLoader()
schedule = []
snapshot.forEach(child => {
schedule.push({link: child.val()})
})
datatable.clear().rows.add(schedule).draw();
stopLoader()
});
function showLoader() {
$('.card').waitMe({
effect: 'bounce',
text: 'Getting facebook link. Please wait...',
color: "#fff",
bg: 'rgba(0,0,0,0.5)'
});
}
function stopLoader() {
$('.card').waitMe("hide");
}
datatable.on('draw', function () {
$('.delete_btn').on('click', function (e) {
e.preventDefault()
let key = $(this).parents().eq(2).find('.item_key').val()
let delete_uri = $('table').attr('data-remove-uri')
delete_uri = delete_uri.replace(':id', 0)
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
$('body').waitMe({
effect: 'bounce',
text: 'Deleting. Please wait...',
color: "#fff",
bg: 'rgba(0,0,0,0.5)'
})
$.ajax({
url: delete_uri,
dataType: 'json',
type: 'GET',
success: function (json) {
$('body').waitMe("hide");
if (json.status) {
toastr.success('Link Deleted Successfully');
} else {
toastr.error('Something went wrong. Please try again later!');
Snackbar.show({
text: json.message,
pos: 'bottom-center',
backgroundColor: '#a3220f',
timeout: 3000
});
}
},
error: function (json) {
Snackbar.show({
text: 'Something went wrong. Please try again later!',
pos: 'bottom-center',
backgroundColor: '#a3220f'
});
$('body').waitMe("hide");
}
})
} else {
Swal.fire({
title: "Link not deleted!",
icon: "info",
confirmButtonClass: "btn btn-primary w-xs mt-2",
buttonsStyling: !1
})
}
})
})
})
</script>
@endpush