NIM_E31222351/resources/views/TambahAkun.blade.php

177 lines
6.0 KiB
PHP

@extends('Core.Sidebar')
@section('content')
<div class="p-6 animate-fade-in">
<!-- Header -->
<div class="mb-4 bg-blue-600 text-white p-4 rounded-lg shadow-md">
<h1 class="text-2xl font-bold">Tambah Akun</h1>
<p class="text-sm mt-1">Formulir untuk menambahkan akun pengguna baru</p>
</div>
<div class="bg-white rounded-lg shadow-lg p-6">
@if ($errors->any())
<div class="mb-4 p-4 bg-red-100 border border-red-400 text-red-700 rounded-lg">
<strong>Oops! Ada beberapa masalah:</strong>
<ul class="mt-2 list-disc list-inside">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form id="penggunaForm" action="{{ route('User.store') }}" method="POST" class="space-y-4">
@csrf
<!-- Nama -->
<div class="form-group">
<label class="block text-sm font-medium text-gray-700 mb-1">
Nama <span class="text-red-600">*</span>
</label>
<input
type="text"
name="nama"
value="{{ old('nama') }}"
class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500 @error('nama') border-red-500 @enderror"
placeholder="Masukkan nama"
required
>
@error('nama')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Email -->
<div class="form-group">
<label class="block text-sm font-medium text-gray-700 mb-1">
Email <span class="text-red-600">*</span>
</label>
<input
type="email"
name="email"
value="{{ old('email') }}"
class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500 @error('email') border-red-500 @enderror"
placeholder="Masukkan email"
required
>
@error('email')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Password -->
<div class="form-group">
<label class="block text-sm font-medium text-gray-700 mb-1">
Password <span class="text-red-600">*</span>
</label>
<input
type="password"
name="password"
class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500 @error('password') border-red-500 @enderror"
placeholder="Masukkan password"
required
>
<p class="mt-1 text-sm text-gray-500">Password harus minimal 8 karakter, mengandung huruf besar, huruf kecil, dan angka</p>
@error('password')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Tipe Pengguna -->
<div class="form-group">
<label class="block text-sm font-medium text-gray-700 mb-1">
Tipe Pengguna <span class="text-red-600">*</span>
</label>
<select
name="tipe_pengguna"
class="w-full border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500 @error('tipe_pengguna') border-red-500 @enderror"
required
>
<option value="">Pilih tipe pengguna</option>
<option value="owner" {{ old('tipe_pengguna') == 'owner' ? 'selected' : '' }}>Owner</option>
<option value="karyawan" {{ old('tipe_pengguna') == 'karyawan' ? 'selected' : '' }}>Karyawan</option>
</select>
@error('tipe_pengguna')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div>
<!-- Tombol Submit -->
<div class="flex justify-end space-x-3 pt-4">
<button
type="button"
class="px-4 py-2 border rounded-lg hover:bg-gray-100 transition-colors"
onclick="window.history.back()"
>
Kembali
</button>
<button
type="submit"
class="px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors"
>
Simpan
</button>
</div>
</form>
</div>
</div>
<!-- SweetAlert2 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.css">
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
// Menampilkan notifikasi jika ada pesan sukses atau error
@if(session('success'))
Swal.fire({
icon: 'success',
title: 'Berhasil!',
text: '{{ session('success') }}',
confirmButtonText: 'OK'
});
@endif
@if(session('error'))
Swal.fire({
icon: 'error',
title: 'Gagal!',
text: '{{ session('error') }}',
confirmButtonText: 'OK'
});
@endif
</script>
<style>
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fade-in {
animation: fadeIn 0.5s ease-out;
}
.form-group input:hover,
.form-group select:hover {
border-color: #93C5FD;
}
button {
transition: all 0.2s ease-in-out;
}
button:hover {
transform: translateY(-1px);
}
button:active {
transform: translateY(0);
}
</style>
@endsection