76 lines
3.2 KiB
PHP
Executable File
76 lines
3.2 KiB
PHP
Executable File
@extends('layouts.app')
|
|
|
|
@section('title', 'Neuen Nagellack hinzufügen - NeoNail DB')
|
|
|
|
@section('content')
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-8 col-lg-6">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h4 class="mb-0">
|
|
<i class="fas fa-plus me-2"></i>Neuen Nagellack hinzufügen
|
|
</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<form method="POST" action="{{ route('nail-polishes.store') }}" enctype="multipart/form-data">
|
|
@csrf
|
|
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">Name des Nagellacks *</label>
|
|
<input type="text" class="form-control @error('name') is-invalid @enderror"
|
|
id="name" name="name" value="{{ old('name') }}" required>
|
|
@error('name')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="number" class="form-label">Nummer *</label>
|
|
<input type="text" class="form-control @error('number') is-invalid @enderror"
|
|
id="number" name="number" value="{{ old('number') }}" required>
|
|
@error('number')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="image" class="form-label">Bild (optional)</label>
|
|
<input type="file" class="form-control @error('image') is-invalid @enderror"
|
|
id="image" name="image" accept="image/*" capture="camera">
|
|
<div class="form-text">
|
|
<i class="fas fa-camera me-1"></i>
|
|
Sie können ein Bild von Ihrer Kamera aufnehmen oder eine Datei auswählen.
|
|
</div>
|
|
@error('image')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="d-flex gap-2">
|
|
<button type="submit" class="btn btn-primary flex-fill">
|
|
<i class="fas fa-save me-2"></i>Speichern
|
|
</button>
|
|
<a href="{{ route('nail-polishes.index') }}" class="btn btn-outline-secondary">
|
|
<i class="fas fa-times me-2"></i>Abbrechen
|
|
</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('scripts')
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const imageInput = document.getElementById('image');
|
|
|
|
// Kamera-Button für mobile Geräte
|
|
if ('mediaDevices' in navigator && 'getUserMedia' in navigator.mediaDevices) {
|
|
imageInput.setAttribute('capture', 'camera');
|
|
}
|
|
});
|
|
</script>
|
|
@endsection
|