Ver código fonte

Update login pages and flow

Vijayakrishnan Krishnan 5 anos atrás
pai
commit
fd0915b6b5

+ 2 - 3
app/Http/Controllers/AppSessionController.php

@@ -34,16 +34,15 @@ class AppSessionController extends Controller
 
         $cookie = cookie()->forever('sessionKey', $sessionKey, '/');
 
-        return redirect(route("pro-dashboard"))->withCookie($cookie);
+        return redirect("/mc?page=/dashboard")->withCookie($cookie);
     }
 
     public function processProLogOut(Request $request){
-        $logOutUrl = env('BACKEND_URL').'/api/session/logOut';
+        $logOutUrl = env('BACKEND_URL', 'http://localhost:8080') . '/api/session/logOut';
         $response = Http::asForm()->withHeaders(['sessionKey'=>$request->cookie('sessionKey')])->post($logOutUrl)->json();
         if(!$response['success']){
             return back()->with("message", $response['message']);
         }
-
         $cookie = cookie()->forget('sessionKey', '/');
         return redirect(route('pro-request-sms-login-token'))->withCookie($cookie);
     }

+ 2 - 2
app/Http/Middleware/EnsureNoValidSession.php

@@ -33,7 +33,7 @@ class EnsureNoValidSession
             return $next($request);
         }
 
-        return redirect("/pro/dashboard");
-       
+        return redirect("/mc?page=/dashboard");
+
     }
 }

+ 1 - 1
app/Http/Middleware/EnsureValidSession.php

@@ -35,6 +35,6 @@ class EnsureValidSession
     }
 
     private function redirectToLogIn(){
-        return redirect("/pro/request-sms-login-token");
+        return redirect("/");
     }
 }

+ 64 - 24
resources/views/layouts/login.blade.php

@@ -1,33 +1,73 @@
 <!DOCTYPE html>
-<html lang="en">
-
+<html>
 <head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
-    <link rel="stylesheet" href="{{asset('css/lumen.min.css')}}">
-    <link rel="stylesheet" href="{{asset('css/toastr.min.css')}}">
-
-    <script src="{{asset('js/jquery-3.2.1.min.js')}}"></script>
-    <script src="{{asset('js/jquery-ui.min.js')}}"></script>
-    <script src="{{asset('js/jquery.form.js')}}"></script>
-    <script src="{{asset('js/toastr.min.js')}}"></script>
+    <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">
 
-    <title>Document</title>
+    <!-- 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">
+    <!-- icheck bootstrap -->
+    <link rel="stylesheet"
+          href="/AdminLTE-3.0.5/plugins/icheck-bootstrap/icheck-bootstrap.min.css">
+    <!-- Theme style -->
+    <link rel="stylesheet" href="/AdminLTE-3.0.5/dist/css/adminlte.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 login-page">
+
+<style>
+    .auth-branding {
+        background: #444343 !important;
+        box-shadow: none !important;
+        border-bottom: 1px solid #262626;
+        padding: 0.5rem 0;
+        margin: 0;
+        border-top-left-radius: 8px;
+        border-top-right-radius: 8px;
+        font-size: 1.4rem;
+    }
+
+    .auth-branding img {
+        line-height: .8;
+        margin-left: 0;
+        margin-right: .5rem;
+        margin-top: -3px;
+        max-height: 33px;
+    }
 
-<body>
-   
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-md-12 pt-2">
-                @yield('content')
-            </div>
+    .login-card-body {
+        border-bottom-left-radius: 8px;
+        border-bottom-right-radius: 8px;
+    }
+</style>
+<div class="login-box">
+    <div class="login-logo auth-branding text-center border-0">
+        <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 text-white"><b>Stag</b> Pro</span>
+    </div>
+    <!-- /.login-logo -->
+    <div class="card">
+        <div class="card-body login-card-body">
+            @yield('content')
         </div>
+        <!-- /.login-card-body -->
     </div>
+</div>
+<!-- /.login-box -->
 
-    <script src="{{asset('js/moe.js')}}"></script>
-</body>
+<!-- jQuery -->
+<script src="/AdminLTE-3.0.5/plugins/jquery/jquery.min.js"></script>
+<!-- Bootstrap 4 -->
+<script src="/AdminLTE-3.0.5/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
+<!-- AdminLTE App -->
+<script src="/AdminLTE-3.0.5/dist/js/adminlte.js"></script>
 
-</html>
+</body>
+</html>

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

@@ -59,7 +59,7 @@
                 </a>
             </li>
             {{--<li class="nav-item">
-                <a class="nav-link" href="#" role="button">
+                <a class="nav-link" href="/pro/logout" role="button">
                     <i class="fas fa-sign-out-alt"></i>
                 </a>
             </li>--}}
@@ -83,7 +83,7 @@
             <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">
+                        <a href="/pro/dashboard" class="nav-link {{ request()->route()->getActionName() === 'App\Http\Controllers\ProController@dashboard' ? 'active' : '' }}">
                             <i class="nav-icon fa fa-palette"></i>
                             <p>
                                 Dashboard
@@ -260,9 +260,9 @@
 <script src="/AdminLTE-3.0.5/dist/js/demo.js"></script>
 
 <script>
-    if(window === window.top) {
-        window.location.href = '/mc?page=' + window.location.pathname;
-    }
+    // if(window === window.top) {
+    //     window.location.href = '/mc?page=' + window.location.pathname;
+    // }
 </script>
 
 </body>

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

@@ -1,25 +1,7 @@
 @extends('layouts.pro-logged-in')
 
 @section('content')
-@if(Session::get('message'))
-<div class="alert-alert-info">{{Session::get('message')}}</div>
-@endif
-<h1>Pro dashboard</h1>
-<a href="{{route('pro-logout')}}">Log out</a>
 
-<ul>
-    <li>
-        <a href="{{route('pro-index')}}">Pros</a>
-    </li>
-</ul>
-
-<div moe>
-    <a start show href="">create pro</a>
-    <form url="/api/dev/createSystemAdmin" style="display:none">
-        <h1>Form to create pro</h1>
-        <button submit>submit</button>
-        <button cancel>Cancel</button>
-    </form>
-</div>
+    <h2>Coming soon ...</h2>
 
 @endsection

+ 30 - 25
resources/views/public/pro-log-in.blade.php

@@ -1,27 +1,32 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <title>Document</title>
-</head>
-<body>
-    <div>
-        <h1>Pro Login</h1>
-        <div class="alert alert-info">
-            {{Session::get("message")}}
-        </div>
-        <form action="{{route('process-pro-login')}}" method="POST">
-            @csrf
-            <label for="">Cell number</label>
-            <input type="text" name="cellNumber">
+@extends('layouts.login')
+@section('content')
+    <form action="{{ route('process-pro-login') }}"
+          method="post"
+          enctype="multipart/form-data">
+        @csrf
+
+        <p class="login-box-msg">Enter the code received on your phone</p>
 
-            <label>Token</label>
-            <input type="text" name="token">
+        @if (session('message'))
+            <div class="alert alert-danger">{{ session('message') }}</div>
+        @endif
 
-            <button>Button</button>
-        </form>
-    </div>
-</body>
-</html>
+        <div class="input-group mb-3">
+            <input type="text" name="cellNumber" class="form-control" placeholder="Cell Number" required>
+            <div class="input-group-append">
+                <div class="input-group-text">
+                    <span class="fas fa-phone"></span>
+                </div>
+            </div>
+        </div>
+        <div class="input-group mb-3">
+            <input type="text" name="token" class="form-control" placeholder="Token" required>
+            <div class="input-group-append">
+                <div class="input-group-text">
+                    <span class="fas fa-key"></span>
+                </div>
+            </div>
+        </div>
+        <button type="submit" class="btn btn-primary btn-block mx-auto w-50 mt-4 mb-2">Log In</button>
+    </form>
+@endsection

+ 25 - 8
resources/views/public/pro-request-sms-login-token.blade.php

@@ -1,11 +1,28 @@
 @extends('layouts.login')
 @section('content')
-<h1>Pro request sms login token</h1>
-<div moe>
-    <form show url="/api/session/proRequestSmsTokenToLogIn" method="POST" redir="/pro/login?x=">
-        <label for="">Cell number</label>
-        <input type="text" name="cellNumber">
-        <button submit>Submit</button>
+    <form action="/post-to-api"
+          method="post"
+          enctype="multipart/form-data">
+        @csrf
+
+        <p class="login-box-msg">Enter your cell phone number to start</p>
+
+        @if (session('message'))
+            <div class="alert alert-danger">{{ session('message') }}</div>
+        @endif
+
+        <input type="hidden" name="_api" value="/api/session/proRequestSmsTokenToLogIn">
+        <input type="hidden" name="_success" value="/pro/login">
+        <input type="hidden" name="_return" value="/">
+
+        <div class="input-group mb-3">
+            <input type="text" name="cellNumber" class="form-control" placeholder="Cell Number" required>
+            <div class="input-group-append">
+                <div class="input-group-text">
+                    <span class="fas fa-phone"></span>
+                </div>
+            </div>
+        </div>
+        <button type="submit" class="btn btn-primary btn-block mx-auto w-50 mt-4 mb-2">Submit</button>
     </form>
-</div>
-@endsection
+@endsection

+ 10 - 6
routes/web.php

@@ -13,6 +13,8 @@ use Illuminate\Support\Facades\Route;
 |
 */
 
+// old routes
+/*
 Route::get('/', function () {
     return view('start');
 });
@@ -26,21 +28,23 @@ Route::get('/join/{meetingID}', function () {
 });
 
 Route::get('/meeting/{meetingID}/{participantID}', 'GuestController@meeting');
+*/
 
 Route::middleware('ensureNoValidSession')->group(function(){
-    Route::get('/pro/request-sms-login-token', 'AppSessionController@proRequestSmsLogInToken')->name('pro-request-sms-login-token');
+    Route::get('/', 'AppSessionController@proRequestSmsLogInToken')->name('pro-request-sms-login-token');
     Route::get('/pro/login', 'AppSessionController@proLogIn')->name('pro-login');
     Route::post('/pro/login', 'AppSessionController@processProLogIn')->name('process-pro-login');
 });
 
 Route::middleware('ensureValidSession')->group(function(){
-    Route::get('/pro/dashboard', 'ProController@dashboard')->name('pro-dashboard');
+    Route::get('/dashboard', 'ProController@dashboard')->name('pro-dashboard');
 
-    Route::get("/pros", 'ProController@index')->name('pro-index');
-    Route::get("/pros/create", 'ProController@create')->name('pro-create');
-    Route::get("/pros/show/{uid}", 'ProController@show')->name('pro-show');
+    // old routes
+//    Route::get("/pros", 'ProController@index')->name('pro-index');
+//    Route::get("/pros/create", 'ProController@create')->name('pro-create');
+//    Route::get("/pros/show/{uid}", 'ProController@show')->name('pro-show');
 
-    Route::get('/pro/meeting/{meetingID}', 'ProController@meeting');
+    // Route::get('/pro/meeting/{meetingID}', 'ProController@meeting');
 
     Route::get('/pro/logout', 'AppSessionController@processProLogOut')->name('pro-logout');