59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
@props([
|
|
'grid' => [],
|
|
'calendars' => [],
|
|
'events' => [],
|
|
'class' => '',
|
|
'slots' => [],
|
|
'timeformat' => '',
|
|
'hgroup' => [],
|
|
'active' => [],
|
|
'density' => '30',
|
|
'weekstart' => 0,
|
|
'now' => [],
|
|
'daytime_hours' => [],
|
|
'timezone' => 'UTC',
|
|
])
|
|
|
|
<section
|
|
class="calendar {{ $class }}" data-density="{{ $density['step'] }}" data-weekstart="{{ $weekstart }}"
|
|
style=
|
|
"--now-row: {{ (int) $now['row'] }};
|
|
--now-offset: {{ $now['offset'] ?? 0 }};
|
|
--now-col-start: {{ (int) $now['col_start'] }};
|
|
--now-col-end: {{ (int) $now['col_end'] }};
|
|
--grid-rows: {{ $daytime_hours['rows'] ?? 96 }};"
|
|
>
|
|
<hgroup>
|
|
@foreach ($hgroup as $h)
|
|
<div data-date="{{ $h['date'] }}" @class(['day-header', 'active' => $h['is_today'] ?? false])>
|
|
<span class="name">{{ $h['dow'] }}</span>
|
|
<a class="number" href="#">{{ $h['day'] }}</a>
|
|
</div>
|
|
@endforeach
|
|
</hgroup>
|
|
<ol class="time" aria-label="{{ __('Times') }}">
|
|
@foreach ($slots as $slot)
|
|
<li>
|
|
<time datetime="{{ $slot['iso'] }}">{{ $slot['label'] }}</time>
|
|
</li>
|
|
@endforeach
|
|
</ol>
|
|
<ol class="events" aria-label="{{ __('Events') }}">
|
|
@foreach ($events as $event)
|
|
<x-calendar.time.event :event="$event" />
|
|
@endforeach
|
|
@if ($now['show'])
|
|
<li class="now-indicator" aria-hidden="true"></li>
|
|
@endif
|
|
</ol>
|
|
<footer>
|
|
<div class="left">
|
|
<a href="{{ route('account.locale') }}" class="timezone">{{ $timezone }}</a>
|
|
</div>
|
|
<div class="right">
|
|
<x-calendar.time.daytime-hours view="week" :density="$density" :daytime_hours="$daytime_hours" />
|
|
<x-calendar.time.density view="week" :density="$density" :daytime_hours="$daytime_hours" />
|
|
</div>
|
|
</footer>
|
|
</section>
|