diff --git a/metager/app/Http/Controllers/LogsApiController.php b/metager/app/Http/Controllers/LogsApiController.php index d01a70d347978890fec413cdd0bc3ce78fbeda9a..fe4bfc9f2fe04cae272b14cd1605e0f54219e8a3 100644 --- a/metager/app/Http/Controllers/LogsApiController.php +++ b/metager/app/Http/Controllers/LogsApiController.php @@ -72,10 +72,14 @@ class LogsApiController extends Controller public function login(Request $request) { - if (!is_null(Auth::guard("logs")->user()->getAuthIdentifier())) { + if (!is_null(Auth::guard("logs")->user()) && !is_null(Auth::guard("logs")->user()->getAuthIdentifier())) { session()->flash("email", Auth::guard("logs")->user()->getAuthIdentifier()); } - return view("logs.login", ['title' => __('titles.logs.login')]); + if ($request->filled("reset")) { + session()->flush(); + return redirect(route("logs:login")); + } + return view("logs.login", ['title' => __('titles.logs.login')])->with(["css" => [mix("/css/logs.css")]]); } public function login_post(Request $request) { diff --git a/metager/app/Providers/AppServiceProvider.php b/metager/app/Providers/AppServiceProvider.php index b23e8729b021fc0ce3673a6a5feacc20260a79b1..c641f7729b842eb6d34e4a5a0714bb3d100f3091 100644 --- a/metager/app/Providers/AppServiceProvider.php +++ b/metager/app/Providers/AppServiceProvider.php @@ -42,7 +42,7 @@ class AppServiceProvider extends ServiceProvider }); Auth::extend('logs', function (Application $app, string $name, array $config) { - return new LogsAuthGuard(Auth::createUserProvider($config['provider']), $app->make('request')); + return new LogsAuthGuard(Auth::createUserProvider($config['provider']), $app->make(\Illuminate\Http\Request::class)); }); } diff --git a/metager/resources/less/metager/pages/logs.less b/metager/resources/less/metager/pages/logs.less new file mode 100644 index 0000000000000000000000000000000000000000..66df7c5f9ae393f57e048e430b2e9eea3123617d --- /dev/null +++ b/metager/resources/less/metager/pages/logs.less @@ -0,0 +1,21 @@ +#login { + >form { + display: grid; + row-gap: 0.5rem; + + .input-group { + display: grid; + + >label { + font-weight: normal; + font-size: .8rem; + margin: 0; + } + } + + >a.reset { + text-align: center; + font-size: .8rem; + } + } +} \ No newline at end of file diff --git a/metager/resources/views/logs/login.blade.php b/metager/resources/views/logs/login.blade.php index 21df09d45e5654f1038fa68a106c6328b8ea79a9..7aa08dea22b7afe1dfa0df2da60c4e2a06deb7d6 100644 --- a/metager/resources/views/logs/login.blade.php +++ b/metager/resources/views/logs/login.blade.php @@ -3,39 +3,45 @@ @section('title', $title) @section('content') -<h1>MetaGer Logs API</h1> -<p>Bitte melde dich an, um Zugriff auf dein Konto zu erhalten.</p> -@if ($errors->any()) - <div class="alert alert-danger"> - <ul> - @foreach ($errors->all() as $error_message) - <li>{{ $error_message }}</li> - @endforeach - </ul> - </div> -@endif -<form action="{{ route("logs:login:post")}}" method="post"> - <input type="hidden" name="_token" value="{{ csrf_token() }}" /> - @if(session("email")) - <input type="hidden" name="email" value="{{session('email')}}"> +<div id="login"> + <h1>MetaGer Logs API</h1> + @if ($errors->any()) + <div class="alert alert-danger"> + <ul> + @foreach ($errors->all() as $error_message) + <li>{{ $error_message }}</li> + @endforeach + </ul> + </div> @endif - <div class="input-group"> - <label for="email">Email Addresse</label> + <p>Bitte melde dich an, um Zugriff auf dein Konto zu erhalten.</p> + <form action="{{ route("logs:login:post")}}" method="post"> + <input type="hidden" name="_token" value="{{ csrf_token() }}" /> @if(session("email")) - <input type="email" name="email" id="email" value="{{session('email')}}" placeholder="max@mustermann.de" - required disabled> - @else - <input type="email" name="email" id="email" value="{{old('email')}}" placeholder="max@mustermann.de" required> + <input type="hidden" name="email" value="{{session('email')}}"> @endif - </div> - @if(session("email")) - <p>Falls dieser Account bereits registriert ist, haben wir dir soeben einen Login Code per Email gesendet. Bitte - trage diesen ein um dich anzumelden.</p> <div class="input-group"> - <label for="code">Login Code</label> - <input type="text" name="code" id="code" placeholder="123456" required> + <label for="email">Email Addresse</label> + @if(session("email")) + <input type="email" name="email" id="email" value="{{session('email')}}" placeholder="max@mustermann.de" + required disabled> + @else + <input type="email" name="email" id="email" value="{{old('email')}}" placeholder="max@mustermann.de" + required> + @endif </div> - @endif - <button class="btn btn-default" type="submit">Abschicken</button> -</form> + @if(session("email")) + <div class="input-group"> + <label for="code">Login Code</label> + <input type="text" name="code" id="code" placeholder="123456" required> + </div> + <p>Falls dieser Account bereits registriert ist, haben wir dir einen Login Code per Email gesendet. Bitte + trage diesen ein um dich anzumelden.</p> + @endif + <button class="btn btn-default" type="submit">Abschicken</button> + @if(session("email")) + <a class="reset" href="{{ route('logs:login', ['reset' => '1']) }}">Neu Anmelden</a> + @endif + </form> +</div> @endsection \ No newline at end of file diff --git a/metager/webpack.mix.js b/metager/webpack.mix.js index 46fd527b542304ef6f564c3a557202705b57e8a1..e33aeeba7b0b0433e57e3fc6f68839a8d020e409 100644 --- a/metager/webpack.mix.js +++ b/metager/webpack.mix.js @@ -72,6 +72,10 @@ mix "resources/less/metager/pages/admin/logs.less", "public/css/admin/logs.css" ) + .less( + "resources/less/metager/pages/logs.less", + "public/css/logs.css" + ) .less( "resources/less/metager/pages/help-easy-language.less", "public/css/help-easy-language.css"