{{--
Global tarih / saat alanı.
Sistemdeki bütün alanları zaten
assets/agency/js/datetime-picker.js tarafından otomatik olarak Türkçe
seçiciye dönüştürülür; bu bileşen yalnızca yeni ekranlarda niyeti açık
yazmak ve Carbon/string değer biçimlendirmesini tek yerde toplamak için
vardır.
Değer her zaman ISO olarak gönderilir (Y-m-d / H:i / Y-m-d\TH:i);
kullanıcıya gg.aa.yyyy ve ss.dd biçiminde gösterilir.
--}}
@props([
'type' => 'date', // date | time | datetime
'name' => null,
'value' => null,
])
@php
$dtpType = match ($type) {
'time' => 'time',
'datetime', 'datetime-local' => 'datetime-local',
default => 'date',
};
$dtpFormat = match ($dtpType) {
'time' => 'H:i',
'datetime-local' => 'Y-m-d\TH:i',
default => 'Y-m-d',
};
$raw = $name ? old($name, $value) : $value;
if ($raw instanceof \DateTimeInterface) {
$dtpValue = $raw->format($dtpFormat);
} elseif (filled($raw)) {
// "2026-08-16 14:36:00" gibi ham veritabanı değerlerini de kabul et
try {
$dtpValue = \Carbon\Carbon::parse($raw)->format($dtpFormat);
} catch (\Throwable $e) {
$dtpValue = (string) $raw;
}
} else {
$dtpValue = '';
}
@endphp
merge(['class' => 'form-control']) }}>