123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- @include('include.header')
- <style type="text/css">
- select.form-control, select.form-control:focus, select.form-control:hover{
- border-top: 1px solid #cccccc;
- border-right: 1px solid #cccccc;
- border-left: 1px solid #cccccc;
- }
- select.form-control:not([size]):not([multiple]) {
- height: auto;
- }
- .nav-tabs .slide { background: #D84315 !important; }
- .pcoded .pcoded-header[header-theme="theme6"] {
- background: #000 !important;
- }
- body.horizontal-icon .pcoded .pcoded-navbar .pcoded-item > li.pcoded-nomenu > a, body.horizontal-icon-fixed .pcoded .pcoded-navbar .pcoded-item > li.pcoded-nomenu > a {
- line-height: 30px;
- }
- body.horizontal-icon-fixed .pcoded[pcoded-device-type="desktop"] .pcoded-navbar .pcoded-item > li.pcoded-nomenu > a {
- height: 70px;
- }
- .pcoded-main-container {
- background: #343A40 !important;
- }
- .page-body .inner-page { margin: 0px 50px; }
- .card .card-header h5:after {
- background-color: #D84315 !important;
- }
- .page-item.active .page-link {
- background-color: #D84315 !important;
- border-color: #D84315 !important;
- }
- .icons-alert:before { top: 13px !important; }
-
- @media only screen and (max-width: 992px) {
- .page-body .inner-page { margin: 0px; }
- .header-navbar .navbar-wrapper .navbar-logo a img {
- width: 150px !important;
- }
- }
-
- body{
- font-family: sans-serif !important;
- }
-
- h5, b { font-weight: 600 !important }
- </style>
- <!-- The core Firebase JS SDK is always required and must be listed first -->
- <script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-app.js"></script>
- <!-- Required Jquery -->
- <script type="text/javascript" src="{{ asset('bower_components/jquery/js/jquery.min.js') }}"></script>
- <script type="text/javascript" src="{{ asset('bower_components/jquery-ui/js/jquery-ui.min.js') }}"></script>
- <script type="text/javascript" src="{{ asset('bower_components/popper.js/js/popper.min.js') }}"></script>
- <script type="text/javascript" src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
- <!-- Add Firebase products that you want to use -->
- <script src="https://www.gstatic.com/firebasejs/7.0.0/firebase-messaging.js"></script>
- <script>
-
- var existingToken = '{{ $token }}';
- // Your web app's Firebase configuration
- var firebaseConfig = {
- apiKey: "AIzaSyB7keN56ITS_wLImT1G8t2LwB2SY_ejedI",
- authDomain: "sipadu-mdch.firebaseapp.com",
- databaseURL: "https://sipadu-mdch.firebaseio.com",
- projectId: "sipadu-mdch",
- storageBucket: "",
- messagingSenderId: "379374790363",
- appId: "1:379374790363:web:219670d6d79a10f76d8efe"
- };
- // Initialize Firebase
- firebase.initializeApp(firebaseConfig);
-
- // Retrieve Firebase Messaging object.
- const messaging = firebase.messaging();
- messaging.usePublicVapidKey("BNi8dCDetrOMaBt9JH6_enkuzNMc8TdDdQKoyeVaaAisyrP2yX3RDALlThKNcIzqVF51JLIXWWZSx14mWTkoy68");
-
- messaging.requestPermission().then(function() {
- console.log("Notification permission granted.");
- if(existingToken == ''){
- deleteToken();
- }
- return messaging.getToken();
- }).then(function(token) {
- updateToken();
- }).catch(function (err) {
- console.log('Unable to get permission to notify.');
- });
-
- messaging.onTokenRefresh(() => {
- messaging.getToken().then((refreshedToken) => {
- console.log('Token refreshed.');
- setTokenSentToServer(false);
- sendTokenToServer(refreshedToken);
- updateToken();
- }).catch((err) => {
- console.log('Unable to retrieve refreshed token ', err);
- });
- });
-
- messaging.onMessage(function (payload) {
- console.log('onMessage:', payload);
- notify(payload.notification.body, 'fa fa-comments', 'bottom', 'right', 'inverse', 'animated bounceIn', 'animated bounceOut');
- });
-
- function sendTokenToServer(currentToken) {
- if (!isTokenSentToServer()) {
- console.log('Sending token to server...');
- $.ajax({
- type: "POST",
- url: "{{ url('/api/update/firebase/token') }}",
- data: { token: currentToken, _id: '{{ $uid }}' },
- success: function(result){
- if(result.success == true){
- console.log('Success sending token to server...');
- setTokenSentToServer(true);
- }else {
- setTokenSentToServer(false);
- console.log('Error sending token to server...');
- }
- }
- });
-
- } else {
- console.log('Token already sent to server so won\'t send it again ' +
- 'unless it changes');
- }
- }
-
- function isTokenSentToServer() {
- return window.localStorage.getItem('sentToServer') === '1';
- }
-
- function setTokenSentToServer(sent) {
- window.localStorage.setItem('sentToServer', sent ? '1' : '0');
- }
-
- function updateToken() {
- messaging.getToken().then((currentToken) => {
- if (currentToken) {
- sendTokenToServer(currentToken);
- } else {
- // Show permission request.
- console.log('No Instance ID token available. Request permission to generate one.');
- setTokenSentToServer(false);
- }
- }).catch((err) => {
- console.log('An error occurred while retrieving token. ', err);
- setTokenSentToServer(false);
- });
- }
-
- function deleteToken() {
- messaging.getToken().then((currentToken) => {
- messaging.deleteToken(currentToken).then(() => {
- console.log('Token deleted.');
- setTokenSentToServer(false);
- updateToken();
- }).catch((err) => {
- console.log('Unable to delete token. ', err);
- });
- }).catch((err) => {
- console.log('Error retrieving Instance ID token. ', err);
- });
- }
- </script>
- </head>
- <body class="horizontal-icon-fixed">
- <!-- Pre-loader start -->
- <div class="theme-loader">
- @include('include.loader')
- </div>
- <!-- Pre-loader end -->
- <div id="pcoded" class="pcoded">
- <div class="pcoded-overlay-box"></div>
- <div class="pcoded-container">
- @include('include.top-menu')
- <!-- Sidebar chat start -->
- <!-- @include('include.sidebar-chat') -->
- <!-- Sidebar inner chat start-->
- <!-- @include('include.sidebar-chat-inner') -->
- <!-- Sidebar inner chat end-->
- <div class="pcoded-main-container">
- @include('include.horizontal-menu')
- <div class="pcoded-wrapper">
- <div class="pcoded-content">
- <div class="pcoded-inner-content">
- <!-- Main-body start -->
- <div class="main-body">
- <div class="page-wrapper">
- <!-- Page body start -->
- <div class="page-body">
- @yield('content')
- </div>
- <!-- Page-body end -->
- </div>
- </div>
- <!-- Main-body end -->
- <!-- <div id="styleSelector">
- </div> -->
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- @include('include.footer')
- @yield('external_js')
- <!-- menu js -->
- <script src="{{ asset('assets/js/pcoded.min.js') }}"></script>
- <script src="{{ asset('assets/js/light-dark/menu/menu-hori-fixed.js') }}"></script>
- <!-- custom js -->
- <script type="text/javascript" src="{{ asset('assets/js/script.js') }}"></script>
- </body>
- </html>
|