105 lines
4.6 KiB
PHP
105 lines
4.6 KiB
PHP
<x-app-layout>
|
|
<x-slot name="header">
|
|
<div class="flex items-center justify-between">
|
|
<h2 class="text-xl font-semibold leading-tight">
|
|
{{ $instance->displayname ?? 'Untitled Calendar' }}
|
|
</h2>
|
|
|
|
<div class="space-x-2">
|
|
<a href="{{ route('calendars.edit', $calendar) }}"
|
|
class="inline-flex items-center px-3 py-1.5 bg-gray-200 rounded-md text-sm">
|
|
{{ __('Edit') }}
|
|
</a>
|
|
|
|
<a href="{{ route('calendars.events.create', $calendar) }}"
|
|
class="inline-flex items-center px-3 py-1.5 bg-blue-600 text-white rounded-md text-sm">
|
|
{{ __('Add Event') }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</x-slot>
|
|
|
|
<div class="py-6">
|
|
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 space-y-6">
|
|
|
|
{{-- Calendar meta --}}
|
|
<div class="bg-white shadow-sm sm:rounded-lg p-6">
|
|
<dl class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
<div>
|
|
<dt class="text-sm font-medium text-gray-500">{{ __('Description') }}</dt>
|
|
<dd class="mt-1 text-gray-900">{{ $instance->displayname ?? 'Untitled Calendar' }}</dd>
|
|
</div>
|
|
|
|
<div>
|
|
<dt class="text-sm font-medium text-gray-500">{{ __('Timezone') }}</dt>
|
|
<dd class="mt-1 text-gray-900"> {{ $instance?->timezone ?? __('Not set') }}</dd>
|
|
</div>
|
|
|
|
@php
|
|
$color = $calendar->meta->color ?? $instance->calendarcolor;
|
|
@endphp
|
|
|
|
@if ($color)
|
|
<div>
|
|
<dt class="text-sm font-medium text-gray-500">{{ __('Color') }}</dt>
|
|
<dd class="mt-1 text-gray-900">
|
|
<span class="inline-flex w-3 h-3 min-w-3 min-h-3 rounded-full" style="background: {{ $color }}"></span>
|
|
<span>{{ $color }}</span>
|
|
</dd>
|
|
</div>
|
|
@endif
|
|
|
|
@if ($caldavUrl)
|
|
<div>
|
|
<label class="text-sm text-gray-500">{{ __('CalDAV URL:') }}</label>
|
|
<div class="flex items-center space-x-2">
|
|
<input type="text" readonly
|
|
value="{{ $caldavUrl }}"
|
|
class="w-full px-2 py-1 border rounded-md text-sm bg-gray-50">
|
|
<button onclick="navigator.clipboard.writeText('{{ $caldavUrl }}')"
|
|
class="px-3 py-1 bg-indigo-600 text-white text-sm rounded-md">
|
|
{{ __('Copy') }}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</dl>
|
|
</div>
|
|
|
|
{{-- Events list --}}
|
|
<div class="bg-white shadow-sm sm:rounded-lg">
|
|
<div class="px-6 py-4 border-b font-semibold">
|
|
{{ __('Events') }}
|
|
</div>
|
|
|
|
<ul class="divide-y divide-gray-200">
|
|
@forelse($calendar->events as $event)
|
|
<li class="px-6 py-4">
|
|
<div class="flex items-center justify-between">
|
|
<div>
|
|
<p class="font-medium">{{ $event->meta->title }}</p>
|
|
@php
|
|
$start = $event->meta->start_at?->timezone($instance->timezone);
|
|
$end = $event->meta->end_at?->timezone($instance->timezone);
|
|
@endphp
|
|
|
|
@if ($start && $end)
|
|
<p class="text-sm text-gray-500">
|
|
{{ $start->toDayDateTimeString() }} — {{ $end->toDayDateTimeString() }}
|
|
</p>
|
|
@endif
|
|
</div>
|
|
|
|
<a href="{{ route('calendars.events.edit', [$calendar, $event]) }}" class="text-sm text-indigo-600">{{ __('Edit') }}</a>
|
|
</div>
|
|
</li>
|
|
@empty
|
|
<li class="px-6 py-4">{{ __('No events yet.') }}</li>
|
|
@endforelse
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</x-app-layout>
|