initial commit
This commit is contained in:
40
resources/views/auth/login.blade.php
Normal file
40
resources/views/auth/login.blade.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Anmelden – HexaHost Panel</title>
|
||||
@vite(['resources/css/app.css'])
|
||||
</head>
|
||||
<body class="flex min-h-screen items-center justify-center bg-slate-950 px-4 text-slate-100">
|
||||
<div class="w-full max-w-md">
|
||||
<div class="mb-8 text-center">
|
||||
<h1 class="text-2xl font-bold text-cyan-400">HexaHost Panel</h1>
|
||||
<p class="mt-2 text-sm text-slate-400">Hosting Control Panel</p>
|
||||
</div>
|
||||
<form method="POST" action="{{ route('login') }}" class="rounded-xl border border-slate-800 bg-slate-900 p-8 shadow-xl">
|
||||
@csrf
|
||||
@if($errors->any())
|
||||
<div class="mb-4 rounded-lg bg-red-950/50 px-3 py-2 text-sm text-red-300">{{ $errors->first() }}</div>
|
||||
@endif
|
||||
<label class="mb-4 block">
|
||||
<span class="text-sm text-slate-400">E-Mail</span>
|
||||
<input type="email" name="email" value="{{ old('email') }}" required autofocus
|
||||
class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500">
|
||||
</label>
|
||||
<label class="mb-4 block">
|
||||
<span class="text-sm text-slate-400">Passwort</span>
|
||||
<input type="password" name="password" required
|
||||
class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500">
|
||||
</label>
|
||||
<label class="mb-6 flex items-center gap-2 text-sm text-slate-400">
|
||||
<input type="checkbox" name="remember" class="rounded border-slate-600 bg-slate-800 text-cyan-500">
|
||||
Angemeldet bleiben
|
||||
</label>
|
||||
<button type="submit" class="w-full rounded-lg bg-cyan-600 py-2.5 font-medium text-white hover:bg-cyan-500 transition">
|
||||
Anmelden
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
14
resources/views/auth/two-factor-challenge.blade.php
Normal file
14
resources/views/auth/two-factor-challenge.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', '2FA')
|
||||
@section('heading', 'Authentifizierung')
|
||||
|
||||
@section('content')
|
||||
<div class="hexahost-card mx-auto max-w-md p-6">
|
||||
<form method="POST" action="{{ route('two-factor.challenge.store') }}" class="space-y-4">
|
||||
@csrf
|
||||
<label class="block text-sm opacity-80">Code aus Authenticator-App</label>
|
||||
<input type="text" name="code" inputmode="numeric" required class="hexahost-input w-full px-3 py-2">
|
||||
<button class="hexahost-btn-primary w-full px-4 py-2">Bestätigen</button>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
16
resources/views/auth/two-factor-setup.blade.php
Normal file
16
resources/views/auth/two-factor-setup.blade.php
Normal file
@@ -0,0 +1,16 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', '2FA einrichten')
|
||||
@section('heading', 'Zwei-Faktor-Authentifizierung')
|
||||
|
||||
@section('content')
|
||||
<div class="hexahost-card mx-auto max-w-lg p-6">
|
||||
<p class="mb-4 text-sm opacity-80">Admins müssen 2FA aktivieren. Scannen Sie den QR-Code mit Ihrer Authenticator-App.</p>
|
||||
<div class="mb-4 flex justify-center">{!! $qrSvg !!}</div>
|
||||
<p class="mb-4 font-mono text-center text-sm">{{ $secret }}</p>
|
||||
<form method="POST" action="{{ route('two-factor.enable') }}" class="space-y-4">
|
||||
@csrf
|
||||
<input type="text" name="code" inputmode="numeric" pattern="[0-9]{6}" maxlength="6" required placeholder="6-stelliger Code" class="hexahost-input w-full px-3 py-2">
|
||||
<button class="hexahost-btn-primary w-full px-4 py-2">Aktivieren</button>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user