mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
new header
This commit is contained in:
@@ -22,6 +22,10 @@ class LecturerLandingPage extends Component
|
|||||||
{
|
{
|
||||||
return view('livewire.school.lecturer-landing-page', [
|
return view('livewire.school.lecturer-landing-page', [
|
||||||
'courseEvents' => CourseEvent::query()
|
'courseEvents' => CourseEvent::query()
|
||||||
|
->with([
|
||||||
|
'venue.city',
|
||||||
|
'course.tags',
|
||||||
|
])
|
||||||
->where('from', '>=', now())
|
->where('from', '>=', now())
|
||||||
->whereHas('course', function ($query) {
|
->whereHas('course', function ($query) {
|
||||||
$query->where('lecturer_id', $this->lecturer->id);
|
$query->where('lecturer_id', $this->lecturer->id);
|
||||||
@@ -29,6 +33,10 @@ class LecturerLandingPage extends Component
|
|||||||
->orderBy('from')
|
->orderBy('from')
|
||||||
->get(),
|
->get(),
|
||||||
'events' => CourseEvent::query()
|
'events' => CourseEvent::query()
|
||||||
|
->with([
|
||||||
|
'venue',
|
||||||
|
'course',
|
||||||
|
])
|
||||||
->where('from', '>=', now())
|
->where('from', '>=', now())
|
||||||
->whereHas('course', function ($query) {
|
->whereHas('course', function ($query) {
|
||||||
$query->where('lecturer_id', $this->lecturer->id);
|
$query->where('lecturer_id', $this->lecturer->id);
|
||||||
|
|||||||
@@ -770,7 +770,7 @@
|
|||||||
"City\/Area": "Stadt\/Gegend",
|
"City\/Area": "Stadt\/Gegend",
|
||||||
"Published on Nostr": "Veröffentlicht auf Nostr",
|
"Published on Nostr": "Veröffentlicht auf Nostr",
|
||||||
"Public Key": "Public Key",
|
"Public Key": "Public Key",
|
||||||
"Bitcoin Event": "",
|
"Bitcoin Event": "Bitcoin Event",
|
||||||
"Create venue": "Erstelle Veranstaltungsort",
|
"Create venue": "Erstelle Veranstaltungsort",
|
||||||
"starts with npub...": "startet mit npub...",
|
"starts with npub...": "startet mit npub...",
|
||||||
"Are you sure you want to publish this article on Nostr?": "Bitte bestätige, dass du diesen Artikel auf Nostr veröffentlichen möchtest.",
|
"Are you sure you want to publish this article on Nostr?": "Bitte bestätige, dass du diesen Artikel auf Nostr veröffentlichen möchtest.",
|
||||||
@@ -782,5 +782,8 @@
|
|||||||
"Change lightning wallet\/pubkey": "Wechsel Lightning Wallet\/Public Key",
|
"Change lightning wallet\/pubkey": "Wechsel Lightning Wallet\/Public Key",
|
||||||
"Now log in with a new wallet": "Logge dich jetzt mit einer neuen Wallet ein",
|
"Now log in with a new wallet": "Logge dich jetzt mit einer neuen Wallet ein",
|
||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
":name\\'s Avatar": ""
|
":name\\'s Avatar": "",
|
||||||
|
"Manage": "Verwalten",
|
||||||
|
"Manage content creators": "Verwalte Content Creator",
|
||||||
|
"Lecturers\/Content Creators": "Dozenten\/Content Creator"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -778,5 +778,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -778,5 +778,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -779,5 +779,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -779,5 +779,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -779,5 +779,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -779,5 +779,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -779,5 +779,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -779,5 +779,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -741,5 +741,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -753,5 +753,9 @@
|
|||||||
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
"You overwrite your user\\'s public key and then have to log in with the wallet, which you now use to scan or log in.": "",
|
||||||
"You are logged in as:": "",
|
"You are logged in as:": "",
|
||||||
"Change lightning wallet\/pubkey": "",
|
"Change lightning wallet\/pubkey": "",
|
||||||
"Now log in with a new wallet": ""
|
"Now log in with a new wallet": "",
|
||||||
|
"Manage": "",
|
||||||
|
"Manage content creators": "",
|
||||||
|
"Participants": "",
|
||||||
|
"Lecturers\/Content Creators": ""
|
||||||
}
|
}
|
||||||
@@ -19,766 +19,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="hidden lg:flex lg:gap-x-12" x-data="Components.popoverGroup()" x-init="init()">
|
<div class="hidden lg:flex lg:gap-x-12" x-data="Components.popoverGroup()" x-init="init()">
|
||||||
|
|
||||||
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
@include('livewire.frontend.navigation.news')
|
||||||
@close-popover-group.window="onClosePopoverGroup">
|
|
||||||
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
|
||||||
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
|
||||||
:aria-expanded="open.toString()">
|
|
||||||
{{ __('News') }}
|
|
||||||
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
|
||||||
aria-hidden="true">
|
|
||||||
<path fill-rule="evenodd"
|
|
||||||
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
|
||||||
clip-rule="evenodd"></path>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
|
||||||
x-transition:enter-start="opacity-0 -translate-y-1"
|
|
||||||
x-transition:enter-end="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave="transition ease-in duration-150"
|
|
||||||
x-transition:leave-start="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave-end="opacity-0 -translate-y-1"
|
|
||||||
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
|
||||||
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
|
||||||
x-ref="panel" @click.away="open = false">
|
|
||||||
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
|
||||||
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">News</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('article.overview') }}"
|
@include('livewire.frontend.navigation.meetups')
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-newspaper flex-none text-gray-400"></i>
|
|
||||||
{{ __('News Article') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
@include('livewire.frontend.navigation.courses')
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Admin</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('news.form') }}"
|
@include('livewire.frontend.navigation.library')
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Submit news articles') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
@include('livewire.frontend.navigation.events')
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
|
||||||
<h3 class="sr-only">Recent news article</h3>
|
|
||||||
|
|
||||||
@foreach($news as $item)
|
@include('livewire.frontend.navigation.bookcases')
|
||||||
<article wire:key="library_item_{{ $item->id }}"
|
|
||||||
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
|
||||||
<div class="relative flex-none">
|
|
||||||
<a href="{{ route('article.view', ['libraryItem' => $item]) }}">
|
|
||||||
<img
|
|
||||||
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
|
||||||
src="{{ $item->getFirstMediaUrl('main') }}"
|
|
||||||
alt="{{ $item->name }}">
|
|
||||||
</a>
|
|
||||||
<div
|
|
||||||
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="flex items-center gap-x-4">
|
|
||||||
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->created_at->asDateTime() }}
|
|
||||||
</time>
|
|
||||||
<div
|
|
||||||
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
|
||||||
{{ $item->lecturer->name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<a href="{{ route('article.view', ['libraryItem' => $item]) }}">
|
|
||||||
<span class="absolute inset-0"></span>
|
|
||||||
{{ $item->name }}
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
|
||||||
{{ $item->excerpt }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
|
||||||
@close-popover-group.window="onClosePopoverGroup">
|
|
||||||
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
|
||||||
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
|
||||||
:aria-expanded="open.toString()">
|
|
||||||
{{ __('Meetups') }}
|
|
||||||
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
|
||||||
aria-hidden="true">
|
|
||||||
<path fill-rule="evenodd"
|
|
||||||
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
|
||||||
clip-rule="evenodd"></path>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
|
||||||
x-transition:enter-start="opacity-0 -translate-y-1"
|
|
||||||
x-transition:enter-end="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave="transition ease-in duration-150"
|
|
||||||
x-transition:leave-start="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave-end="opacity-0 -translate-y-1"
|
|
||||||
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
|
||||||
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
|
||||||
x-ref="panel" @click.away="open = false">
|
|
||||||
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
|
||||||
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Meetups</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('meetup.world', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-globe flex-none text-gray-400"></i>
|
|
||||||
{{ __('World map') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('meetup.table.meetup', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-people-group flex-none text-gray-400"></i>
|
|
||||||
{{ __('Meetups') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('meetup.table.meetupEvent', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-calendar flex-none text-gray-400"></i>
|
|
||||||
{{ __('Meetup dates') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Admin</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('meetup.meetup.form', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Submit Meetup') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('meetup.event.form', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Register Meetup date') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
|
||||||
<h3 class="sr-only">Recent posts</h3>
|
|
||||||
|
|
||||||
@foreach($meetups as $item)
|
|
||||||
<article
|
|
||||||
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
|
||||||
<div class="relative flex-none">
|
|
||||||
<img
|
|
||||||
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
|
||||||
src="{{ $item->meetup->getFirstMediaUrl('logo') }}"
|
|
||||||
alt="">
|
|
||||||
<div
|
|
||||||
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="flex items-center gap-x-4">
|
|
||||||
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->meetup->users->count() }} {{ __('Participants') }}
|
|
||||||
</time>
|
|
||||||
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->start->asDateTime() }}
|
|
||||||
</time>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<a href="{{ route('meetup.event.landing', ['country' => $item->meetup->city->country, 'meetupEvent' => $item]) }}">
|
|
||||||
<span class="absolute inset-0"></span>
|
|
||||||
{{ $item->meetup->name }}
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
|
||||||
{{ $item->location }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
|
||||||
@close-popover-group.window="onClosePopoverGroup">
|
|
||||||
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
|
||||||
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
|
||||||
:aria-expanded="open.toString()">
|
|
||||||
{{ __('Courses') }}
|
|
||||||
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
|
||||||
aria-hidden="true">
|
|
||||||
<path fill-rule="evenodd"
|
|
||||||
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
|
||||||
clip-rule="evenodd"></path>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
|
||||||
x-transition:enter-start="opacity-0 -translate-y-1"
|
|
||||||
x-transition:enter-end="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave="transition ease-in duration-150"
|
|
||||||
x-transition:leave-start="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave-end="opacity-0 -translate-y-1"
|
|
||||||
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
|
||||||
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
|
||||||
x-ref="panel" @click.away="open = false">
|
|
||||||
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
|
||||||
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Kurse</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('school.table.city', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-city flex-none text-gray-400"></i>
|
|
||||||
{{ __('Cities') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('school.table.lecturer', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-chalkboard-user flex-none text-gray-400"></i>
|
|
||||||
{{ __('Lecturers') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('school.table.venue', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-building flex-none text-gray-400"></i>
|
|
||||||
{{ __('Venues') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('school.table.course', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-screen-users flex-none text-gray-400"></i>
|
|
||||||
{{ __('Courses') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('school.table.event', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-calendar flex-none text-gray-400"></i>
|
|
||||||
{{ __('Course Events') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Admin</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('contentCreator.form') }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Register lecturer') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('venue.form') }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Create venue') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="/nova/resources/courses"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Register course') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="/nova/resources/course-events"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Register course date') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
|
||||||
<h3 class="sr-only">Recent posts</h3>
|
|
||||||
|
|
||||||
@foreach($courseEvents as $item)
|
|
||||||
<article
|
|
||||||
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
|
||||||
<div class="relative flex-none">
|
|
||||||
<img
|
|
||||||
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
|
||||||
src="{{ $item->course->lecturer->getFirstMediaUrl('avatar') }}"
|
|
||||||
alt="{{ $item->course->lecturer->name }}">
|
|
||||||
<div
|
|
||||||
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="flex items-center gap-x-4">
|
|
||||||
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->from->asDateTime() }}
|
|
||||||
</time>
|
|
||||||
<div
|
|
||||||
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">{{ $item->course->lecturer->name }}</div>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<a href="#">
|
|
||||||
<span class="absolute inset-0"></span>
|
|
||||||
{{ $item->course->name }}
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
|
||||||
{{ $item->course->description }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
|
||||||
@close-popover-group.window="onClosePopoverGroup">
|
|
||||||
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
|
||||||
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
|
||||||
:aria-expanded="open.toString()">
|
|
||||||
{{ __('Library') }}
|
|
||||||
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
|
||||||
aria-hidden="true">
|
|
||||||
<path fill-rule="evenodd"
|
|
||||||
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
|
||||||
clip-rule="evenodd"></path>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
|
||||||
x-transition:enter-start="opacity-0 -translate-y-1"
|
|
||||||
x-transition:enter-end="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave="transition ease-in duration-150"
|
|
||||||
x-transition:leave-start="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave-end="opacity-0 -translate-y-1"
|
|
||||||
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
|
||||||
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
|
||||||
x-ref="panel" @click.away="open = false">
|
|
||||||
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
|
||||||
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Library') }}</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('library.table.libraryItems', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-search flex-none text-gray-400"></i>
|
|
||||||
{{ __('Search') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
@auth
|
@auth
|
||||||
<a href="{{ route('library.table.lecturer', ['country' => $country]) }}"
|
@include('livewire.frontend.navigation.profile')
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-school flex-none text-gray-400"></i>
|
|
||||||
{{ __('Library for lecturers') }}
|
|
||||||
</a>
|
|
||||||
@endauth
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Admin</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('library.libraryItem.form', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Submit contents') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
|
||||||
<h3 class="sr-only">Recent posts</h3>
|
|
||||||
|
|
||||||
@foreach($libraryItems as $item)
|
|
||||||
<article
|
|
||||||
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
|
||||||
<div class="relative flex-none">
|
|
||||||
<img
|
|
||||||
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
|
||||||
src="{{ $item->getFirstMediaUrl('main') }}"
|
|
||||||
alt="">
|
|
||||||
<div
|
|
||||||
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="flex items-center gap-x-4">
|
|
||||||
<div
|
|
||||||
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
|
||||||
{{ $item->lecturer->name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<a href="{{ route('libraryItem.view', ['libraryItem' => $item]) }}">
|
|
||||||
<span class="absolute inset-0"></span>
|
|
||||||
{{ $item->name }}
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
|
||||||
{{ $item->excerpt }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
|
||||||
@close-popover-group.window="onClosePopoverGroup">
|
|
||||||
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
|
||||||
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
|
||||||
:aria-expanded="open.toString()">
|
|
||||||
{{ __('Events') }}
|
|
||||||
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
|
||||||
aria-hidden="true">
|
|
||||||
<path fill-rule="evenodd"
|
|
||||||
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
|
||||||
clip-rule="evenodd"></path>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
|
||||||
x-transition:enter-start="opacity-0 -translate-y-1"
|
|
||||||
x-transition:enter-end="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave="transition ease-in duration-150"
|
|
||||||
x-transition:leave-start="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave-end="opacity-0 -translate-y-1"
|
|
||||||
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
|
||||||
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
|
||||||
x-ref="panel" @click.away="open = false">
|
|
||||||
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
|
||||||
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Engagement</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('bitcoinEvent.table.bitcoinEvent', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-calendar-lines-pen flex-none text-gray-400"></i>
|
|
||||||
{{ __('Events') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Admin</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('venue.form') }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Create venue') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('bitcoinEvent.form') }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Register event') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
|
||||||
<h3 class="sr-only">Recent posts</h3>
|
|
||||||
|
|
||||||
@foreach($bitcoinEvents as $item)
|
|
||||||
<article
|
|
||||||
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
|
||||||
<div class="relative flex-none">
|
|
||||||
<img
|
|
||||||
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
|
||||||
src="{{ $item->getFirstMediaUrl('logo') }}"
|
|
||||||
alt="{{ $item->title }}">
|
|
||||||
<div
|
|
||||||
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="flex items-center gap-x-4">
|
|
||||||
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->from->asDateTime('d.m.Y') }}
|
|
||||||
</time>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<a href="{{ $item->link }}" target="_blank">
|
|
||||||
<span class="absolute inset-0"></span>
|
|
||||||
{{ $item->title }}
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
|
||||||
{{ $item->venue->name}}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
|
||||||
@close-popover-group.window="onClosePopoverGroup">
|
|
||||||
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
|
||||||
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
|
||||||
:aria-expanded="open.toString()">
|
|
||||||
{{ __('Bookcases') }}
|
|
||||||
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
|
||||||
aria-hidden="true">
|
|
||||||
<path fill-rule="evenodd"
|
|
||||||
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
|
||||||
clip-rule="evenodd"></path>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
|
||||||
x-transition:enter-start="opacity-0 -translate-y-1"
|
|
||||||
x-transition:enter-end="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave="transition ease-in duration-150"
|
|
||||||
x-transition:leave-start="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave-end="opacity-0 -translate-y-1"
|
|
||||||
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
|
||||||
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
|
||||||
x-ref="panel" @click.away="open = false">
|
|
||||||
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
|
||||||
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Bücherschränke</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('bookCases.table.city', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-city flex-none text-gray-400"></i>
|
|
||||||
{{ __('City search') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('bookCases.table.bookcases', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-book flex-none text-gray-400"></i>
|
|
||||||
{{ __('Bookcases') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('bookCases.world', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-map flex-none text-gray-400"></i>
|
|
||||||
{{ __('World map') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ route('bookCases.heatmap', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-heat flex-none text-gray-400"></i>
|
|
||||||
{{ __('Heatmap') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
@auth
|
|
||||||
<a href="{{ route('bookCases.highScoreTable', ['country' => $country]) }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-star flex-none text-gray-400"></i>
|
|
||||||
{{ __('Highscore Table') }}
|
|
||||||
</a>
|
|
||||||
@endauth
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Admin</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="https://openbookcase.de/" target="_blank"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Submit new book case') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
|
||||||
<h3 class="sr-only">Recent posts</h3>
|
|
||||||
|
|
||||||
@foreach($orangePills as $item)
|
|
||||||
<article
|
|
||||||
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
|
||||||
<div class="relative flex-none">
|
|
||||||
<img
|
|
||||||
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
|
||||||
src="{{ $item->getFirstMediaUrl('images') }}"
|
|
||||||
alt="{{ $item->bookCase->title }}">
|
|
||||||
<div
|
|
||||||
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="flex items-center gap-x-4">
|
|
||||||
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->date->asDateTime() }}
|
|
||||||
</time>
|
|
||||||
<div
|
|
||||||
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
|
||||||
{{ $item->user->name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<a href="{{ route('bookCases.comment.bookcase', ['country' => $country, 'bookCase' => $item]) }}">
|
|
||||||
<span class="absolute inset-0"></span>
|
|
||||||
{{ $item->bookCase->title }}
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
<p class="mt-2 text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->bookCase->address }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
@auth
|
|
||||||
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()"
|
|
||||||
@keydown.escape="onEscape"
|
|
||||||
@close-popover-group.window="onClosePopoverGroup">
|
|
||||||
<button type="button"
|
|
||||||
class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
|
||||||
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
|
||||||
:aria-expanded="open.toString()">
|
|
||||||
{{ __('My profile') }}
|
|
||||||
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
|
||||||
aria-hidden="true">
|
|
||||||
<path fill-rule="evenodd"
|
|
||||||
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
|
||||||
clip-rule="evenodd"></path>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
|
||||||
x-transition:enter-start="opacity-0 -translate-y-1"
|
|
||||||
x-transition:enter-end="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave="transition ease-in duration-150"
|
|
||||||
x-transition:leave-start="opacity-100 translate-y-0"
|
|
||||||
x-transition:leave-end="opacity-0 -translate-y-1"
|
|
||||||
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
|
||||||
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
|
||||||
x-ref="panel" @click.away="open = false">
|
|
||||||
<div
|
|
||||||
class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
|
||||||
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('My profile') }}</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('profile.show') }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-city flex-none text-gray-400"></i>
|
|
||||||
{{ __('My profile') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h3 class="text-sm font-medium leading-6 text-gray-500">Admin</h3>
|
|
||||||
<div class="mt-6 flow-root">
|
|
||||||
<div class="-my-2">
|
|
||||||
|
|
||||||
<a href="{{ route('profile.wallet') }}"
|
|
||||||
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
|
||||||
{{ __('Change lightning wallet/pubkey') }}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
|
||||||
<h3 class="sr-only">Recent posts</h3>
|
|
||||||
|
|
||||||
{{--@foreach($orangePills as $item)
|
|
||||||
<article
|
|
||||||
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
|
||||||
<div class="relative flex-none">
|
|
||||||
<img
|
|
||||||
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
|
||||||
src="{{ $item->getFirstMediaUrl('images') }}"
|
|
||||||
alt="{{ $item->bookCase->title }}">
|
|
||||||
<div
|
|
||||||
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="flex items-center gap-x-4">
|
|
||||||
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->date->asDateTime() }}
|
|
||||||
</time>
|
|
||||||
<div
|
|
||||||
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
|
||||||
{{ $item->user->name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
|
||||||
<a href="#">
|
|
||||||
<span class="absolute inset-0"></span>
|
|
||||||
{{ $item->bookCase->title }}
|
|
||||||
</a>
|
|
||||||
</h4>
|
|
||||||
<p class="mt-2 text-sm leading-6 text-gray-600">
|
|
||||||
{{ $item->bookCase->address }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
@endforeach--}}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@endauth
|
@endauth
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
120
resources/views/livewire/frontend/navigation/bookcases.blade.php
Normal file
120
resources/views/livewire/frontend/navigation/bookcases.blade.php
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
||||||
|
@close-popover-group.window="onClosePopoverGroup">
|
||||||
|
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
||||||
|
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
||||||
|
:aria-expanded="open.toString()">
|
||||||
|
{{ __('Bookcases') }}
|
||||||
|
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
||||||
|
aria-hidden="true">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 -translate-y-1"
|
||||||
|
x-transition:enter-end="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave="transition ease-in duration-150"
|
||||||
|
x-transition:leave-start="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave-end="opacity-0 -translate-y-1"
|
||||||
|
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
||||||
|
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
||||||
|
x-ref="panel" @click.away="open = false">
|
||||||
|
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
||||||
|
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">Bücherschränke</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('bookCases.table.city', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-city flex-none text-gray-400"></i>
|
||||||
|
{{ __('City search') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('bookCases.table.bookcases', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-book flex-none text-gray-400"></i>
|
||||||
|
{{ __('Bookcases') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('bookCases.world', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-map flex-none text-gray-400"></i>
|
||||||
|
{{ __('World map') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('bookCases.heatmap', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-heat flex-none text-gray-400"></i>
|
||||||
|
{{ __('Heatmap') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
@auth
|
||||||
|
<a href="{{ route('bookCases.highScoreTable', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-star flex-none text-gray-400"></i>
|
||||||
|
{{ __('Highscore Table') }}
|
||||||
|
</a>
|
||||||
|
@endauth
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Manage') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="https://openbookcase.de/" target="_blank"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Submit new book case') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
||||||
|
<h3 class="sr-only">Recent posts</h3>
|
||||||
|
|
||||||
|
@foreach($orangePills as $item)
|
||||||
|
<article
|
||||||
|
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
||||||
|
<div class="relative flex-none">
|
||||||
|
<img
|
||||||
|
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
||||||
|
src="{{ $item->getFirstMediaUrl('images') }}"
|
||||||
|
alt="{{ $item->bookCase->title }}">
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-x-4">
|
||||||
|
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->date->asDateTime() }}
|
||||||
|
</time>
|
||||||
|
<div
|
||||||
|
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
||||||
|
{{ $item->user->name }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<a href="{{ route('bookCases.comment.bookcase', ['country' => $country, 'bookCase' => $item]) }}">
|
||||||
|
<span class="absolute inset-0"></span>
|
||||||
|
{{ $item->bookCase->title }}
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
<p class="mt-2 text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->bookCase->address }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
134
resources/views/livewire/frontend/navigation/courses.blade.php
Normal file
134
resources/views/livewire/frontend/navigation/courses.blade.php
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
||||||
|
@close-popover-group.window="onClosePopoverGroup">
|
||||||
|
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
||||||
|
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
||||||
|
:aria-expanded="open.toString()">
|
||||||
|
{{ __('Courses') }}
|
||||||
|
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
||||||
|
aria-hidden="true">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 -translate-y-1"
|
||||||
|
x-transition:enter-end="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave="transition ease-in duration-150"
|
||||||
|
x-transition:leave-start="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave-end="opacity-0 -translate-y-1"
|
||||||
|
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
||||||
|
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
||||||
|
x-ref="panel" @click.away="open = false">
|
||||||
|
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
||||||
|
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">Kurse</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('school.table.city', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-city flex-none text-gray-400"></i>
|
||||||
|
{{ __('Cities') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('school.table.lecturer', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-chalkboard-user flex-none text-gray-400"></i>
|
||||||
|
{{ __('Lecturers') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('school.table.venue', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-building flex-none text-gray-400"></i>
|
||||||
|
{{ __('Venues') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('school.table.course', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-screen-users flex-none text-gray-400"></i>
|
||||||
|
{{ __('Courses') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('school.table.event', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-calendar flex-none text-gray-400"></i>
|
||||||
|
{{ __('Course Events') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Manage') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('contentCreator.form') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Register lecturer') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('venue.form') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Create venue') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="/nova/resources/courses"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Register course') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="/nova/resources/course-events"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Register course date') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
||||||
|
<h3 class="sr-only">Recent posts</h3>
|
||||||
|
|
||||||
|
@foreach($courseEvents as $item)
|
||||||
|
<article
|
||||||
|
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
||||||
|
<div class="relative flex-none">
|
||||||
|
<img
|
||||||
|
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
||||||
|
src="{{ $item->course->lecturer->getFirstMediaUrl('avatar') }}"
|
||||||
|
alt="{{ $item->course->lecturer->name }}">
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-x-4">
|
||||||
|
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->from->asDateTime() }}
|
||||||
|
</time>
|
||||||
|
<div
|
||||||
|
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">{{ $item->course->lecturer->name }}</div>
|
||||||
|
</div>
|
||||||
|
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<a href="#">
|
||||||
|
<span class="absolute inset-0"></span>
|
||||||
|
{{ $item->course->name }}
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
||||||
|
{{ $item->course->description }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
||||||
|
@close-popover-group.window="onClosePopoverGroup">
|
||||||
|
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
||||||
|
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
||||||
|
:aria-expanded="open.toString()">
|
||||||
|
{{ __('Events') }}
|
||||||
|
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
||||||
|
aria-hidden="true">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 -translate-y-1"
|
||||||
|
x-transition:enter-end="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave="transition ease-in duration-150"
|
||||||
|
x-transition:leave-start="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave-end="opacity-0 -translate-y-1"
|
||||||
|
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
||||||
|
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
||||||
|
x-ref="panel" @click.away="open = false">
|
||||||
|
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
||||||
|
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Events') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('bitcoinEvent.table.bitcoinEvent', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-calendar-lines-pen flex-none text-gray-400"></i>
|
||||||
|
{{ __('Events') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Manage') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('venue.form') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Create venue') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('bitcoinEvent.form') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Register event') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
||||||
|
<h3 class="sr-only">Recent posts</h3>
|
||||||
|
|
||||||
|
@foreach($bitcoinEvents as $item)
|
||||||
|
<article
|
||||||
|
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
||||||
|
<div class="relative flex-none">
|
||||||
|
<img
|
||||||
|
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
||||||
|
src="{{ $item->getFirstMediaUrl('logo') }}"
|
||||||
|
alt="{{ $item->title }}">
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-x-4">
|
||||||
|
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->from->asDateTime('d.m.Y') }}
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<a href="{{ $item->link }}" target="_blank">
|
||||||
|
<span class="absolute inset-0"></span>
|
||||||
|
{{ $item->title }}
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
||||||
|
{{ $item->venue->name}}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
105
resources/views/livewire/frontend/navigation/library.blade.php
Normal file
105
resources/views/livewire/frontend/navigation/library.blade.php
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
||||||
|
@close-popover-group.window="onClosePopoverGroup">
|
||||||
|
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
||||||
|
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
||||||
|
:aria-expanded="open.toString()">
|
||||||
|
{{ __('Library') }}
|
||||||
|
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
||||||
|
aria-hidden="true">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 -translate-y-1"
|
||||||
|
x-transition:enter-end="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave="transition ease-in duration-150"
|
||||||
|
x-transition:leave-start="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave-end="opacity-0 -translate-y-1"
|
||||||
|
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
||||||
|
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
||||||
|
x-ref="panel" @click.away="open = false">
|
||||||
|
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
||||||
|
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Library') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('library.table.libraryItems', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-search flex-none text-gray-400"></i>
|
||||||
|
{{ __('Search') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
@auth
|
||||||
|
<a href="{{ route('library.table.lecturer', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-school flex-none text-gray-400"></i>
|
||||||
|
{{ __('Library for lecturers') }}
|
||||||
|
</a>
|
||||||
|
@endauth
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Manage') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('library.libraryItem.form', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Submit contents') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('school.table.lecturer', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-list flex-none text-gray-400"></i>
|
||||||
|
{{ __('Manage content creators') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
||||||
|
<h3 class="sr-only">Recent posts</h3>
|
||||||
|
|
||||||
|
@foreach($libraryItems as $item)
|
||||||
|
<article
|
||||||
|
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
||||||
|
<div class="relative flex-none">
|
||||||
|
<img
|
||||||
|
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
||||||
|
src="{{ $item->getFirstMediaUrl('main') }}"
|
||||||
|
alt="">
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-x-4">
|
||||||
|
<div
|
||||||
|
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
||||||
|
{{ $item->lecturer->name }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<a href="{{ route('libraryItem.view', ['libraryItem' => $item]) }}">
|
||||||
|
<span class="absolute inset-0"></span>
|
||||||
|
{{ $item->name }}
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
||||||
|
{{ $item->excerpt }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
111
resources/views/livewire/frontend/navigation/meetups.blade.php
Normal file
111
resources/views/livewire/frontend/navigation/meetups.blade.php
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
||||||
|
@close-popover-group.window="onClosePopoverGroup">
|
||||||
|
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
||||||
|
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
||||||
|
:aria-expanded="open.toString()">
|
||||||
|
{{ __('Meetups') }}
|
||||||
|
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
||||||
|
aria-hidden="true">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 -translate-y-1"
|
||||||
|
x-transition:enter-end="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave="transition ease-in duration-150"
|
||||||
|
x-transition:leave-start="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave-end="opacity-0 -translate-y-1"
|
||||||
|
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
||||||
|
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
||||||
|
x-ref="panel" @click.away="open = false">
|
||||||
|
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
||||||
|
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">Meetups</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('meetup.world', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-globe flex-none text-gray-400"></i>
|
||||||
|
{{ __('World map') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('meetup.table.meetup', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-people-group flex-none text-gray-400"></i>
|
||||||
|
{{ __('Meetups') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('meetup.table.meetupEvent', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-calendar flex-none text-gray-400"></i>
|
||||||
|
{{ __('Meetup dates') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Manage') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('meetup.meetup.form', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Submit Meetup') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('meetup.event.form', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Register Meetup date') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
||||||
|
<h3 class="sr-only">Recent posts</h3>
|
||||||
|
|
||||||
|
@foreach($meetups as $item)
|
||||||
|
<article
|
||||||
|
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
||||||
|
<div class="relative flex-none">
|
||||||
|
<img
|
||||||
|
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
||||||
|
src="{{ $item->meetup->getFirstMediaUrl('logo') }}"
|
||||||
|
alt="">
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-x-4">
|
||||||
|
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->meetup->users->count() }} {{ __('Participants') }}
|
||||||
|
</time>
|
||||||
|
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->start->asDateTime() }}
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<a href="{{ route('meetup.event.landing', ['country' => $item->meetup->city->country, 'meetupEvent' => $item]) }}">
|
||||||
|
<span class="absolute inset-0"></span>
|
||||||
|
{{ $item->meetup->name }}
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
||||||
|
{{ $item->location }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
102
resources/views/livewire/frontend/navigation/news.blade.php
Normal file
102
resources/views/livewire/frontend/navigation/news.blade.php
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()" @keydown.escape="onEscape"
|
||||||
|
@close-popover-group.window="onClosePopoverGroup">
|
||||||
|
<button type="button" class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
||||||
|
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
||||||
|
:aria-expanded="open.toString()">
|
||||||
|
{{ __('News') }}
|
||||||
|
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
||||||
|
aria-hidden="true">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 -translate-y-1"
|
||||||
|
x-transition:enter-end="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave="transition ease-in duration-150"
|
||||||
|
x-transition:leave-start="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave-end="opacity-0 -translate-y-1"
|
||||||
|
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
||||||
|
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
||||||
|
x-ref="panel" @click.away="open = false">
|
||||||
|
<div class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
||||||
|
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">News</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('article.overview') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-newspaper flex-none text-gray-400"></i>
|
||||||
|
{{ __('News Article') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Manage') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('news.form') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Submit news articles') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ route('school.table.lecturer', ['country' => $country]) }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-list flex-none text-gray-400"></i>
|
||||||
|
{{ __('Manage content creators') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
||||||
|
<h3 class="sr-only">Recent news article</h3>
|
||||||
|
|
||||||
|
@foreach($news as $item)
|
||||||
|
<article wire:key="library_item_{{ $item->id }}"
|
||||||
|
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
||||||
|
<div class="relative flex-none">
|
||||||
|
<a href="{{ route('article.view', ['libraryItem' => $item]) }}">
|
||||||
|
<img
|
||||||
|
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
||||||
|
src="{{ $item->getFirstMediaUrl('main') }}"
|
||||||
|
alt="{{ $item->name }}">
|
||||||
|
</a>
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-x-4">
|
||||||
|
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->created_at->asDateTime() }}
|
||||||
|
</time>
|
||||||
|
<div
|
||||||
|
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
||||||
|
{{ $item->lecturer->name }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<a href="{{ route('article.view', ['libraryItem' => $item]) }}">
|
||||||
|
<span class="absolute inset-0"></span>
|
||||||
|
{{ $item->name }}
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
<p class="mt-2 text-sm leading-6 text-gray-600 truncate">
|
||||||
|
{{ $item->excerpt }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
114
resources/views/livewire/frontend/navigation/profile.blade.php
Normal file
114
resources/views/livewire/frontend/navigation/profile.blade.php
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
<div x-data="Components.popover({ open: false, focus: false })" x-init="init()"
|
||||||
|
@keydown.escape="onEscape"
|
||||||
|
@close-popover-group.window="onClosePopoverGroup">
|
||||||
|
<button type="button"
|
||||||
|
class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900"
|
||||||
|
@click="toggle" @mousedown="if (open) $event.preventDefault()" aria-expanded="true"
|
||||||
|
:aria-expanded="open.toString()">
|
||||||
|
{{ __('My profile') }}
|
||||||
|
<svg class="h-5 w-5 flex-none text-gray-400" viewBox="0 0 20 20" fill="currentColor"
|
||||||
|
aria-hidden="true">
|
||||||
|
<path fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 -translate-y-1"
|
||||||
|
x-transition:enter-end="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave="transition ease-in duration-150"
|
||||||
|
x-transition:leave-start="opacity-100 translate-y-0"
|
||||||
|
x-transition:leave-end="opacity-0 -translate-y-1"
|
||||||
|
x-description="'Product' flyout menu, show/hide based on flyout menu state."
|
||||||
|
class="absolute inset-x-0 top-0 -z-10 bg-white pt-16 shadow-lg ring-1 ring-gray-900/5"
|
||||||
|
x-ref="panel" @click.away="open = false">
|
||||||
|
<div
|
||||||
|
class="mx-auto grid max-w-7xl grid-cols-1 gap-y-10 gap-x-8 py-10 px-6 lg:grid-cols-2 lg:px-8">
|
||||||
|
<div class="grid grid-cols-2 gap-x-6 sm:gap-x-8">
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('My profile') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('profile.show') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-city flex-none text-gray-400"></i>
|
||||||
|
{{ __('My profile') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-sm font-medium leading-6 text-gray-500">{{ __('Manage') }}</h3>
|
||||||
|
<div class="mt-6 flow-root">
|
||||||
|
<div class="-my-2">
|
||||||
|
|
||||||
|
<a href="{{ route('profile.wallet') }}"
|
||||||
|
class="flex gap-x-4 py-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<i class="fa-thin fa-plus flex-none text-gray-400"></i>
|
||||||
|
{{ __('Change lightning wallet/pubkey') }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-1 gap-10 sm:gap-8 lg:grid-cols-2">
|
||||||
|
<h3 class="sr-only">Recent posts</h3>
|
||||||
|
|
||||||
|
<x-native-select
|
||||||
|
label="{{ __('Change country') }}"
|
||||||
|
wire:model="c"
|
||||||
|
option-label="name"
|
||||||
|
option-value="code"
|
||||||
|
:options="$countries"
|
||||||
|
/>
|
||||||
|
<x-select
|
||||||
|
label="{{ __('Change language') }}"
|
||||||
|
wire:model="l"
|
||||||
|
:clearable="false"
|
||||||
|
:searchable="true"
|
||||||
|
:async-data="route('api.languages.index')"
|
||||||
|
option-label="name"
|
||||||
|
option-value="language"
|
||||||
|
/>
|
||||||
|
|
||||||
|
{{--@foreach($orangePills as $item)
|
||||||
|
<article
|
||||||
|
class="relative isolate flex max-w-2xl flex-col gap-x-8 gap-y-6 sm:flex-row sm:items-start lg:flex-col lg:items-stretch">
|
||||||
|
<div class="relative flex-none">
|
||||||
|
<img
|
||||||
|
class="aspect-[2/1] w-full rounded-lg bg-gray-100 object-cover sm:aspect-[16/9] sm:h-32 lg:h-auto"
|
||||||
|
src="{{ $item->getFirstMediaUrl('images') }}"
|
||||||
|
alt="{{ $item->bookCase->title }}">
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 rounded-lg ring-1 ring-inset ring-gray-900/10"></div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="flex items-center gap-x-4">
|
||||||
|
<time datetime="2023-03-16" class="text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->date->asDateTime() }}
|
||||||
|
</time>
|
||||||
|
<div
|
||||||
|
class="relative z-10 rounded-full bg-gray-50 py-1.5 px-3 text-xs font-medium text-gray-600 hover:bg-gray-100">
|
||||||
|
{{ $item->user->name }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h4 class="mt-2 text-sm font-semibold leading-6 text-gray-900">
|
||||||
|
<a href="#">
|
||||||
|
<span class="absolute inset-0"></span>
|
||||||
|
{{ $item->bookCase->title }}
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
|
<p class="mt-2 text-sm leading-6 text-gray-600">
|
||||||
|
{{ $item->bookCase->address }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endforeach--}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
|
<div>
|
||||||
|
{{-- HEADER --}}
|
||||||
|
<livewire:frontend.header :country="null"/>
|
||||||
|
|
||||||
<div class="container p-4 mx-auto bg-21gray my-2">
|
<div class="container p-4 mx-auto bg-21gray my-2">
|
||||||
|
|
||||||
<div class="pb-5 flex flex-row justify-between">
|
<div class="pb-5 flex flex-row justify-between">
|
||||||
@@ -116,3 +120,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
<div>
|
||||||
|
{{-- HEADER --}}
|
||||||
|
<livewire:frontend.header :country="null"/>
|
||||||
|
|
||||||
<div class="container p-4 mx-auto bg-21gray my-2">
|
<div class="container p-4 mx-auto bg-21gray my-2">
|
||||||
|
|
||||||
<div class="pb-5 flex flex-row justify-between">
|
<div class="pb-5 flex flex-row justify-between">
|
||||||
@@ -124,3 +128,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -146,7 +146,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="md:flex md:items-center md:justify-between">
|
||||||
|
<div class="min-w-0 flex-1">
|
||||||
|
<h2 class="text-2xl font-bold leading-7 text-white sm:truncate sm:text-3xl sm:tracking-tight">
|
||||||
|
{{ __('Meetup dates') }}
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4 flex md:mt-0 md:ml-4">
|
||||||
|
{{----}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<livewire:tables.meetup-event-table :country="$country->code"/>
|
<livewire:tables.meetup-event-table :country="$country->code"/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -16,17 +16,6 @@
|
|||||||
</x-button>
|
</x-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col sm:flex-row">
|
<div class="flex flex-col sm:flex-row">
|
||||||
<div class="flex flex-col">
|
|
||||||
<h1 class="mb-6 text-5xl font-extrabold leading-none tracking-normal text-gray-200 sm:text-6xl md:text-6xl lg:text-7xl md:tracking-tight">
|
|
||||||
{{ __('Bitcoiner') }} <span
|
|
||||||
class="w-full text-transparent bg-clip-text bg-gradient-to-r from-amber-400 via-amber-500 to-amber-200 lg:inline">{{ __('Meetups') }}</span><br
|
|
||||||
class="lg:block hidden">
|
|
||||||
{{ __('Plebs together strong 💪') }}
|
|
||||||
</h1>
|
|
||||||
<p class="px-0 mb-6 text-lg text-gray-600 md:text-xl">
|
|
||||||
{{ __('Bitcoiner Meetups are a great way to meet other Bitcoiners in your area. You can learn from each other, share ideas, and have fun!') }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
@php
|
@php
|
||||||
$focus = '';
|
$focus = '';
|
||||||
$map = $country->code . '_merc';
|
$map = $country->code . '_merc';
|
||||||
@@ -75,6 +64,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4" id="table">
|
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4" id="table">
|
||||||
|
<div class="md:flex md:items-center md:justify-between">
|
||||||
|
<div class="min-w-0 flex-1">
|
||||||
|
<h2 class="text-2xl font-bold leading-7 text-white sm:truncate sm:text-3xl sm:tracking-tight">
|
||||||
|
{{ __('Meetups') }}
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4 flex md:mt-0 md:ml-4">
|
||||||
|
{{----}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<livewire:tables.meetup-table :country="$country->code"/>
|
<livewire:tables.meetup-table :country="$country->code"/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -2,19 +2,8 @@
|
|||||||
{{-- HEADER --}}
|
{{-- HEADER --}}
|
||||||
<livewire:frontend.header :country="$country"/>
|
<livewire:frontend.header :country="$country"/>
|
||||||
{{-- MAIN --}}
|
{{-- MAIN --}}
|
||||||
<section class="w-full mb-12">
|
<section class="w-full mb-4">
|
||||||
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4 flex flex-col sm:flex-row">
|
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4 flex flex-col sm:flex-row">
|
||||||
<div class="flex flex-col">
|
|
||||||
<h1 class="mb-6 text-5xl font-extrabold leading-none tracking-normal text-gray-200 sm:text-6xl md:text-6xl lg:text-7xl md:tracking-tight">
|
|
||||||
{{ __('Bitcoiner') }} <span
|
|
||||||
class="w-full text-transparent bg-clip-text bg-gradient-to-r from-amber-400 via-amber-500 to-amber-200 lg:inline">{{ __('Meetups') }}</span><br
|
|
||||||
class="lg:block hidden">
|
|
||||||
{{ __('Plebs together strong 💪') }}
|
|
||||||
</h1>
|
|
||||||
<p class="px-0 mb-6 text-lg text-gray-600 md:text-xl">
|
|
||||||
{{ __('Bitcoiner Meetups are a great way to meet other Bitcoiners in your area. You can learn from each other, share ideas, and have fun!') }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
wire:ignore
|
wire:ignore
|
||||||
class="w-full flex justify-center"
|
class="w-full flex justify-center"
|
||||||
@@ -54,8 +43,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<div class="w-full py-24">
|
<div class="w-full pb-24">
|
||||||
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4" id="table">
|
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4" id="table">
|
||||||
|
<div class="md:flex md:items-center md:justify-between">
|
||||||
|
<div class="min-w-0 flex-1">
|
||||||
|
<h2 class="text-2xl font-bold leading-7 text-white sm:truncate sm:text-3xl sm:tracking-tight">
|
||||||
|
{{ __('Meetups') }}
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4 flex md:mt-0 md:ml-4">
|
||||||
|
{{----}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<livewire:tables.meetup-table :country="$country->code"/>
|
<livewire:tables.meetup-table :country="$country->code"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
<div>
|
||||||
|
{{-- HEADER --}}
|
||||||
|
<livewire:frontend.header :country="null"/>
|
||||||
|
|
||||||
<div class="container p-4 mx-auto bg-21gray my-2">
|
<div class="container p-4 mx-auto bg-21gray my-2">
|
||||||
|
|
||||||
<div class="pb-5 flex flex-row justify-between">
|
<div class="pb-5 flex flex-row justify-between">
|
||||||
@@ -134,3 +138,4 @@
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -4,6 +4,16 @@
|
|||||||
{{-- MAIN --}}
|
{{-- MAIN --}}
|
||||||
<section class="w-full mb-12">
|
<section class="w-full mb-12">
|
||||||
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4" id="table">
|
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10 space-y-4" id="table">
|
||||||
|
<div class="md:flex md:items-center md:justify-between">
|
||||||
|
<div class="min-w-0 flex-1">
|
||||||
|
<h2 class="text-2xl font-bold leading-7 text-white sm:truncate sm:text-3xl sm:tracking-tight">
|
||||||
|
{{ __('Lecturers/Content Creators') }}
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="mt-4 flex md:mt-0 md:ml-4">
|
||||||
|
{{----}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<livewire:tables.lecturer-table :country="$country->code"/>
|
<livewire:tables.lecturer-table :country="$country->code"/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
Reference in New Issue
Block a user