Эх сурвалжийг харах

AdminLTE based pro-logged-in layout

Vijayakrishnan 5 жил өмнө
parent
commit
3753093da3

+ 1 - 1
.idea/jsLibraryMappings.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="JavaScriptLibraryMappings">
-    <file url="PROJECT" libraries="{bootstrap.bundle, jquery-3.5.1, jquery-3.5.1.slim, opentok}" />
+    <file url="PROJECT" libraries="{bootstrap.bundle, ionicons, jquery-3.5.1, jquery-3.5.1.slim, opentok}" />
   </component>
 </project>

+ 1 - 0
.idea/stagfe.iml

@@ -106,5 +106,6 @@
     <orderEntry type="library" name="jquery-3.5.1" level="application" />
     <orderEntry type="library" name="bootstrap.bundle" level="application" />
     <orderEntry type="library" name="opentok" level="application" />
+    <orderEntry type="library" name="ionicons" level="application" />
   </component>
 </module>

+ 263 - 0
resources/views/layouts/pro-logged-in.blade.php

@@ -0,0 +1,263 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Stag | Pro</title>
+    <!-- Tell the browser to be responsive to screen width -->
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- Font Awesome -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/fontawesome-free/css/all.min.css">
+    <!-- Ionicons -->
+    <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
+    <!-- Tempusdominus Bbootstrap 4 -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css">
+    <!-- iCheck -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/icheck-bootstrap/icheck-bootstrap.min.css">
+    <!-- JQVMap -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/jqvmap/jqvmap.min.css">
+    <!-- Theme style -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/dist/css/adminlte.min.css">
+    <!-- overlayScrollbars -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/overlayScrollbars/css/OverlayScrollbars.min.css">
+    <!-- Daterange picker -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/daterangepicker/daterangepicker.css">
+    <!-- summernote -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/plugins/summernote/summernote-bs4.css">
+    <!-- Google Font: Source Sans Pro -->
+    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
+</head>
+<body class="hold-transition sidebar-mini layout-fixed">
+<div class="wrapper">
+
+    <!-- Navbar -->
+    <nav class="main-header navbar navbar-expand navbar-white navbar-light">
+        <!-- Left navbar links -->
+        <ul class="navbar-nav">
+            <li class="nav-item">
+                <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>
+            </li>
+        </ul>
+
+        <!-- SEARCH FORM -->
+        <form class="form-inline ml-3 w-25">
+            <div class="input-group input-group-sm w-100">
+                <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
+                <div class="input-group-append">
+                    <button class="btn btn-navbar" type="submit">
+                        <i class="fas fa-search"></i>
+                    </button>
+                </div>
+            </div>
+        </form>
+
+        <!-- Right navbar links -->
+        <ul class="navbar-nav ml-auto">
+            <li class="nav-item">
+                <a class="nav-link" href="#" role="button">
+                    <i class="fas fa-sign-out-alt"></i>
+                </a>
+            </li>
+        </ul>
+    </nav>
+    <!-- /.navbar -->
+
+    <!-- Main Sidebar Container -->
+    <aside class="main-sidebar sidebar-dark-primary elevation-4">
+        <!-- Brand Logo -->
+        <a href="/AdminLTE-3.0.5/index3.html" class="brand-link">
+            <img src="/AdminLTE-3.0.5/dist/img/AdminLTELogo.png" alt="AdminLTE Logo" class="brand-image img-circle elevation-3"
+                 style="opacity: .8">
+            <span class="brand-text font-weight-light">Stag | Pro</span>
+        </a>
+
+        <!-- Sidebar -->
+        <div class="sidebar">
+
+            <!-- Sidebar Menu -->
+            <nav class="mt-2">
+                <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
+                    <li class="nav-item">
+                        <a href="/pro/dashboard" class="nav-link">
+                            <i class="nav-icon fa fa-palette"></i>
+                            <p>
+                                Dashboard
+                            </p>
+                        </a>
+                    </li>
+                    <li class="nav-item">
+                        <a href="/pros" class="nav-link">
+                            <i class="nav-icon far fa-image"></i>
+                            <p>
+                                Pros
+                            </p>
+                        </a>
+                    </li>
+                </ul>
+            </nav>
+            <!-- /.sidebar-menu -->
+        </div>
+        <!-- /.sidebar -->
+    </aside>
+
+    <!-- Content Wrapper. Contains page content -->
+    <div class="content-wrapper">
+        <!-- Main content -->
+        <section class="content">
+            <div class="container-fluid py-3">
+                <div class="row mb-2">
+                    <div class="col-12">
+                        @yield('content')
+                    </div>
+                </div>
+            </div><!-- /.container-fluid -->
+        </section>
+        <!-- /.content -->
+    </div>
+
+    <div class="modal" id="incomingCallModal" tabindex="-1" role="dialog">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">Incoming Call</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <p>Click <b>Accept</b> to join the call.</p>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-success px-4" onclick="joinCall()">Answer</button>
+                    <button type="button" class="btn btn-secondary px-4" data-dismiss="modal">Reject</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script src="{{asset('js/moe.js')}}"></script>
+
+    <script>
+        var stompClient = null;
+
+        function setConnected(connected) {
+            console.log("User is connected");
+            $("#connect").prop("disabled", connected);
+            $("#disconnect").prop("disabled", !connected);
+            if (connected) {
+                $("#conversation").show();
+            }
+            else {
+                $("#conversation").hide();
+            }
+            $("#greetings").html("");
+        }
+
+        function connect() {
+            console.log("connecting...");
+            var socket = new SockJS('http://localhost:8080/ws');
+            stompClient = Stomp.over(socket);
+            stompClient.connect({}, function (frame) {
+                console.log("Connected");
+                setConnected(true);
+                console.log('Connected: ' + frame);
+
+                // stompClient.send("/app/update-participant-status", {}, JSON.stringify({meetingUid:"mymeetinguid", status:'mystatus'}));
+
+                // stompClient.subscribe('/user/topic/on-participant-status-change', function (message) {
+                //     console.log("Participant status changed: ", message);
+                // });
+
+                stompClient.subscribe("/user/topic/on-pro-incoming-call", function(message){
+                    console.log("incoming call:", message);
+
+                    message = JSON.parse(message.body);
+                    console.log(message.meetingUid);
+
+                    $('#incomingCallModal')
+                        .data('meetingUid', message.meetingUid)
+                        .modal('show');
+
+                });
+
+                // connect
+                stompClient.send("/app/pro-connect", {}, JSON.stringify({sessionKey: "<?= request()->cookie('sessionKey') ?>"}));
+
+                console.log('Pro connected')
+
+            });
+        }
+
+        connect();
+
+        function joinCall() {
+            var modal = $('#incomingCallModal');
+            window.location.href = '/pro/meeting/' +
+                modal.data('meetingUid');
+        }
+
+        function disconnect() {
+            if (stompClient !== null) {
+                stompClient.disconnect();
+            }
+            setConnected(false);
+            console.log("Disconnected");
+        }
+
+        function sendName() {
+            stompClient.send("/app/hello", {}, JSON.stringify({'name': $("#name").val()}));
+        }
+
+        function showGreeting(message) {
+            $("#greetings").append("<tr><td>" + message + "</td></tr>");
+        }
+
+        $(function () {
+            $("form").on('submit', function (e) {
+                e.preventDefault();
+            });
+            $( "#connect" ).click(function() { connect(); });
+            $( "#disconnect" ).click(function() { disconnect(); });
+            $( "#send" ).click(function() { sendName(); });
+        });
+    </script>
+
+</div>
+<!-- ./wrapper -->
+
+<!-- jQuery -->
+<script src="/AdminLTE-3.0.5/plugins/jquery/jquery.min.js"></script>
+<!-- jQuery UI 1.11.4 -->
+<script src="/AdminLTE-3.0.5/plugins/jquery-ui/jquery-ui.min.js"></script>
+<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
+<script>
+    $.widget.bridge('uibutton', $.ui.button)
+</script>
+<!-- Bootstrap 4 -->
+<script src="/AdminLTE-3.0.5/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
+<!-- ChartJS -->
+<script src="/AdminLTE-3.0.5/plugins/chart.js/Chart.min.js"></script>
+<!-- Sparkline -->
+<script src="/AdminLTE-3.0.5/plugins/sparklines/sparkline.js"></script>
+<!-- JQVMap -->
+<script src="/AdminLTE-3.0.5/plugins/jqvmap/jquery.vmap.min.js"></script>
+<script src="/AdminLTE-3.0.5/plugins/jqvmap/maps/jquery.vmap.usa.js"></script>
+<!-- jQuery Knob Chart -->
+<script src="/AdminLTE-3.0.5/plugins/jquery-knob/jquery.knob.min.js"></script>
+<!-- daterangepicker -->
+<script src="/AdminLTE-3.0.5/plugins/moment/moment.min.js"></script>
+<script src="/AdminLTE-3.0.5/plugins/daterangepicker/daterangepicker.js"></script>
+<!-- Tempusdominus Bootstrap 4 -->
+<script src="/AdminLTE-3.0.5/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script>
+<!-- Summernote -->
+<script src="/AdminLTE-3.0.5/plugins/summernote/summernote-bs4.min.js"></script>
+<!-- overlayScrollbars -->
+<script src="/AdminLTE-3.0.5/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
+<!-- AdminLTE App -->
+<script src="/AdminLTE-3.0.5/dist/js/adminlte.js"></script>
+<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
+<script src="/AdminLTE-3.0.5/dist/js/pages/dashboard.js"></script>
+<!-- AdminLTE for demo purposes -->
+<script src="/AdminLTE-3.0.5/dist/js/demo.js"></script>
+</body>
+</html>

+ 2 - 2
resources/views/pro/create.blade.php

@@ -1,4 +1,4 @@
-@extends('layouts.pro')
+@extends('layouts.pro-logged-in')
 @section('content')
 <div class="card">
     <div class="card-header">
@@ -71,4 +71,4 @@
 </div>
 
 
-@endsection
+@endsection

+ 1 - 1
resources/views/pro/dashboard.blade.php

@@ -1,4 +1,4 @@
-@extends('layouts.pro')
+@extends('layouts.pro-logged-in')
 
 @section('content')
 @if(Session::get('message'))

+ 2 - 2
resources/views/pro/index.blade.php

@@ -1,4 +1,4 @@
-@extends('layouts.pro')
+@extends('layouts.pro-logged-in')
 @section('content')
 
 <div class="d-flex mb-2">
@@ -52,4 +52,4 @@
     </tbody>
 </table>
 
-@endsection
+@endsection

+ 2 - 2
resources/views/pro/show.blade.php

@@ -1,4 +1,4 @@
-@extends('layouts.pro')
+@extends('layouts.pro-logged-in')
 @section('content')
 <div class="card">
     <div class="card-header">
@@ -173,4 +173,4 @@
 </div>
 
 
-@endsection
+@endsection