initial commit

This commit is contained in:
TheOnlyMace
2026-05-17 13:26:14 +02:00
commit 75299b723d
176 changed files with 20327 additions and 0 deletions

View 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>

View 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

View 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