mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
new library added
This commit is contained in:
@@ -1 +1,10 @@
|
||||
<x-button amber wire:click="lecturerSearch({{ $row->id }})">Termine anzeigen</x-button>
|
||||
<div>
|
||||
<x-button amber wire:click="lecturerSearch({{ $row->id }})">
|
||||
<i class="fa fa-thin fa-calendar mr-2"></i>
|
||||
Termine anzeigen
|
||||
</x-button>
|
||||
<x-button amber wire:click="lecturerSearch({{ $row->id }})">
|
||||
<i class="fa fa-thin fa-book mr-2"></i>
|
||||
Inhalte anzeigen
|
||||
</x-button>
|
||||
</div>
|
||||
|
||||
6
resources/views/columns/library_items/action.blade.php
Normal file
6
resources/views/columns/library_items/action.blade.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<div>
|
||||
<x-button amber>
|
||||
<i class="fa fa-thin fa-book-open mr-2"></i>
|
||||
Öffnen
|
||||
</x-button>
|
||||
</div>
|
||||
@@ -12,7 +12,8 @@
|
||||
</style>
|
||||
<section class="w-full">
|
||||
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10">
|
||||
<div class="relative sm:sticky sm:top-0 bg-21gray z-10 flex flex-col flex-wrap items-center justify-between py-7 mx-auto md:flex-row max-w-screen-2xl">
|
||||
<div
|
||||
class="relative sm:sticky sm:top-0 bg-21gray z-10 flex flex-col flex-wrap items-center justify-between py-7 mx-auto md:flex-row max-w-screen-2xl">
|
||||
<div class="relative flex flex-col md:flex-row">
|
||||
<a href="{{ route('search.city', ['country' => $c]) }}"
|
||||
class="flex items-center mb-5 font-medium text-gray-900 lg:w-auto lg:items-center lg:justify-center md:mb-0">
|
||||
@@ -30,6 +31,8 @@
|
||||
class="{{ request()->routeIs('search.course') ? 'text-amber-500 underline' : 'text-gray-400' }} mr-5 font-medium leading-6 hover:text-gray-300">Kurse</a>
|
||||
<a href="{{ route('search.event', ['country' => $c, '#table']) }}"
|
||||
class="{{ request()->routeIs('search.event') ? 'text-amber-500 underline' : 'text-gray-400' }} mr-5 font-medium leading-6 hover:text-gray-300">Termine</a>
|
||||
<a href="{{ route('library', ['country' => $c]) }}"
|
||||
class="{{ request()->routeIs('library') ? 'text-amber-500 underline' : 'text-gray-400' }} mr-5 font-medium leading-6 hover:text-gray-300">Bibliothek</a>
|
||||
</nav>
|
||||
</div>
|
||||
@auth
|
||||
@@ -47,48 +50,49 @@
|
||||
</div>
|
||||
@endauth
|
||||
</div>
|
||||
<div class="flex lg:flex-row flex-col pt-4 md:pt-4 lg:pt-4">
|
||||
<div
|
||||
class="w-full lg:w-1/2 flex lg:px-0 px-5 flex-col md:items-center lg:items-start justify-center -mt-12">
|
||||
@if($withGlobe)
|
||||
<div class="flex lg:flex-row flex-col pt-4 md:pt-4 lg:pt-4">
|
||||
<div
|
||||
class="w-full lg:w-1/2 flex lg:px-0 px-5 flex-col md:items-center lg:items-start justify-center -mt-12">
|
||||
|
||||
<h1 class="text-white text-3xl sm:text-5xl lg:max-w-none max-w-4xl lg:text-left text-left md:text-center xl:text-7xl font-black">
|
||||
Bitcoin <span
|
||||
class="bg-clip-text text-transparent bg-gradient-to-br from-yellow-400 via-yellow-500 to-yellow-700 mt-1 lg:block">School
|
||||
<h1 class="text-white text-3xl sm:text-5xl lg:max-w-none max-w-4xl lg:text-left text-left md:text-center xl:text-7xl font-black">
|
||||
Bitcoin <span
|
||||
class="bg-clip-text text-transparent bg-gradient-to-br from-yellow-400 via-yellow-500 to-yellow-700 mt-1 lg:block">School
|
||||
</span> <br class="lg:block sm:hidden"> {{ str($country->name)->upper() }}
|
||||
</h1>
|
||||
<div>
|
||||
<x-select
|
||||
label="Land wechseln"
|
||||
placeholder="Land wechseln"
|
||||
wire:model="c"
|
||||
:clearable="false"
|
||||
>
|
||||
@foreach($countries as $country)
|
||||
<x-select.user-option
|
||||
src="{{ asset('vendor/blade-country-flags/4x3-'.$country->code.'.svg') }}"
|
||||
label="{{ $country->name }}" value="{{ $country->code }}"/>
|
||||
@endforeach
|
||||
</x-select>
|
||||
</h1>
|
||||
<div>
|
||||
<x-select
|
||||
label="Land wechseln"
|
||||
placeholder="Land wechseln"
|
||||
wire:model="c"
|
||||
:clearable="false"
|
||||
>
|
||||
@foreach($countries as $country)
|
||||
<x-select.user-option
|
||||
src="{{ asset('vendor/blade-country-flags/4x3-'.$country->code.'.svg') }}"
|
||||
label="{{ $country->name }}" value="{{ $country->code }}"/>
|
||||
@endforeach
|
||||
</x-select>
|
||||
</div>
|
||||
<p class="text-gray-500 sm:text-lg md:text-xl xl:text-2xl lg:max-w-none max-w-2xl md:text-center lg:text-left lg:pr-32 mt-6">
|
||||
Finde Bitcoin Kurse in deiner City</p>
|
||||
@php
|
||||
$searchTitle = match ($currentRouteName) {
|
||||
'search.city' => 'Stadt',
|
||||
'search.lecturer' => 'Dozent',
|
||||
'search.venue' => 'Veranstaltungs-Ort',
|
||||
'search.course' => 'Kurs',
|
||||
'search.event' => 'Termin',
|
||||
};
|
||||
@endphp
|
||||
<a href="#table"
|
||||
class="whitespace-nowrap bg-white px-4 lg:px-16 py-2 text-center lg:py-5 font-bold rounded text-xs md:text-xl lg:text-2xl mt-8 inline-block w-auto">
|
||||
👇 {{ $searchTitle }} finden 👇
|
||||
</a>
|
||||
<p class="text-gray-400 font-normal mt-4">{{-- TEXT --}}</p>
|
||||
</div>
|
||||
<p class="text-gray-500 sm:text-lg md:text-xl xl:text-2xl lg:max-w-none max-w-2xl md:text-center lg:text-left lg:pr-32 mt-6">
|
||||
Finde Bitcoin Kurse in deiner City</p>
|
||||
@php
|
||||
$searchTitle = match ($currentRouteName) {
|
||||
'search.city' => 'Stadt',
|
||||
'search.lecturer' => 'Dozent',
|
||||
'search.venue' => 'Veranstaltungs-Ort',
|
||||
'search.course' => 'Kurs',
|
||||
'search.event' => 'Termin',
|
||||
};
|
||||
@endphp
|
||||
<a href="#table"
|
||||
class="whitespace-nowrap bg-white px-4 lg:px-16 py-2 text-center lg:py-5 font-bold rounded text-xs md:text-xl lg:text-2xl mt-8 inline-block w-auto">
|
||||
👇 {{ $searchTitle }} finden 👇
|
||||
</a>
|
||||
<p class="text-gray-400 font-normal mt-4">{{-- TEXT --}}</p>
|
||||
</div>
|
||||
<div
|
||||
x-data="{
|
||||
<div
|
||||
x-data="{
|
||||
earth: null,
|
||||
init() {
|
||||
this.earth = new Earth(this.$refs.myearth, {
|
||||
@@ -118,11 +122,12 @@
|
||||
});
|
||||
}
|
||||
}" class="hidden sm:inline-block w-1/2">
|
||||
{{--<img src="https://cdn.devdojo.com/images/march2022/mesh-gradient1.png"
|
||||
class="absolute lg:max-w-none max-w-3xl mx-auto mt-32 w-full h-full inset-0">--}}
|
||||
<div x-ref="myearth" class="earth-container"></div>
|
||||
{{--<img src="https://cdn.devdojo.com/images/march2022/mesh-gradient1.png"
|
||||
class="absolute lg:max-w-none max-w-3xl mx-auto mt-32 w-full h-full inset-0">--}}
|
||||
<div x-ref="myearth" class="earth-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
47
resources/views/livewire/frontend/library.blade.php
Normal file
47
resources/views/livewire/frontend/library.blade.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<div class="bg-21gray flex flex-col h-screen justify-between">
|
||||
{{-- HEADER --}}
|
||||
<livewire:frontend.header :country="$country" :withGlobe="false"/>
|
||||
{{-- MAIN --}}
|
||||
<section class="w-full mb-12">
|
||||
<div class="max-w-screen-2xl mx-auto px-2 sm:px-10" id="table">
|
||||
|
||||
<div class="relative border-b border-gray-200 pb-5 sm:pb-0">
|
||||
<div class="md:flex md:items-center md:justify-between">
|
||||
<h3 class="text-2xl font-medium leading-6 text-gray-200">Bibliotheken</h3>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<!-- Dropdown menu on small screens -->
|
||||
{{--<div class="sm:hidden">
|
||||
<label for="current-tab" class="sr-only">Select a tab</label>
|
||||
<select id="current-tab" name="current-tab" class="block w-full rounded-md border-gray-300 py-2 pl-3 pr-10 text-base focus:border-amber-500 focus:outline-none focus:ring-amber-500 sm:text-sm">
|
||||
<option>Applied</option>
|
||||
<option>Phone Screening</option>
|
||||
<option>Interview</option>
|
||||
<option>Offer</option>
|
||||
<option>Hired</option>
|
||||
</select>
|
||||
</div>--}}
|
||||
<!-- Tabs at small breakpoint and up -->
|
||||
<div class="hidden sm:block">
|
||||
<nav class="-mb-px flex space-x-8">
|
||||
@foreach($libraries as $library)
|
||||
@php
|
||||
$currentLibraryClass = $currentTab === $library->name ? 'border-amber-500 text-amber-600' : 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300';
|
||||
@endphp
|
||||
<a href="{{ route('library', ['country' => $country, 'currentTab' => $library->name]) }}"
|
||||
class="{{ $currentLibraryClass }} whitespace-nowrap pb-4 px-1 border-b-2 font-medium text-sm">{{ $library->name }}</a>
|
||||
@endforeach
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<livewire:frontend.search-by-tag-in-library/>
|
||||
<div class="my-12">
|
||||
<livewire:tables.library-item-table/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{-- FOOTER --}}
|
||||
<livewire:frontend.footer/>
|
||||
</div>
|
||||
@@ -0,0 +1,54 @@
|
||||
<div
|
||||
class="flex overflow-auto relative flex-wrap gap-x-5 gap-y-6 justify-center p-0 mx-auto mt-8 mb-3 w-full font-normal leading-6 text-white align-baseline border-0 border-solid md:mx-auto md:mb-0 md:max-w-screen-md"
|
||||
style="max-width: 1350px; font-size: 128%; background-position: 0px center; max-height: 500px; list-style: outside;"
|
||||
>
|
||||
@foreach($tags->sortBy('name') as $tag)
|
||||
<div
|
||||
class="flex flex-1 justify-center p-0 m-0 leading-6 text-center align-baseline border-0 border-solid"
|
||||
style="font-size: 128%; background-position: 0px center; list-style: outside;"
|
||||
>
|
||||
@php
|
||||
$isActive = collect($table)->pluck('tag')->collapse()->contains($tag->name);
|
||||
$activeClass = $isActive ? 'text-amber-500 bg-amber-500' : 'bg-blue-50 text-white hover:text-amber-500';
|
||||
@endphp
|
||||
<a
|
||||
class="{{ $activeClass }} flex relative flex-col flex-shrink-0 justify-between py-1 px-3 w-full h-20 border-0 border-solid duration-300 ease-in-out cursor-pointer bg-opacity-[0.07]"
|
||||
href="#"
|
||||
>
|
||||
<div
|
||||
class="flex flex-1 items-center p-0 m-0 text-center align-baseline border-0 border-solid"
|
||||
>
|
||||
<div
|
||||
class="flex flex-shrink-0 justify-center p-0 my-0 mr-4 ml-0 align-baseline border-0 border-solid"
|
||||
>
|
||||
<i class="fa fa-thin fa-{{ $tag->icon }} text-4xl"></i>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between p-0 m-0 w-full align-baseline border-0 border-solid md:block lg:w-auto"
|
||||
>
|
||||
<h2
|
||||
class="p-0 m-0 font-sans text-base font-semibold tracking-wide leading-tight text-left align-baseline border-0 border-solid"
|
||||
style="background-position: 0px center; list-style: outside;"
|
||||
>
|
||||
{{ $tag->name }}
|
||||
</h2>
|
||||
<div
|
||||
class="hidden p-0 m-0 text-sm leading-3 text-left text-blue-100 align-baseline border-0 border-solid md:block md:text-blue-100 whitespace-nowrap"
|
||||
>
|
||||
0
|
||||
Dozenten
|
||||
<span
|
||||
class="inline-block relative top-px py-0 px-1 m-0 text-xs leading-4 align-baseline border-0 border-solid"
|
||||
>
|
||||
•
|
||||
</span>
|
||||
0
|
||||
Inhalte
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a
|
||||
>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@@ -12,15 +12,21 @@
|
||||
|
||||
<!-- Navigation Links -->
|
||||
<div class="hidden space-x-8 sm:-my-px sm:ml-10 sm:flex">
|
||||
<x-jet-nav-link href="/nova" target="_blank">
|
||||
<x-jet-nav-link href="/nova/resources/lecturers" target="_blank">
|
||||
{{ __('Dozent eintragen') }}
|
||||
</x-jet-nav-link>
|
||||
<x-jet-nav-link href="/nova/resources/courses" target="_blank">
|
||||
{{ __('Kurs eintragen') }}
|
||||
</x-jet-nav-link>
|
||||
<x-jet-nav-link href="/nova/resources/events" target="_blank">
|
||||
{{ __('Kurs-Termin eintragen') }}
|
||||
</x-jet-nav-link>
|
||||
<x-jet-nav-link href="/nova/resources/library-items" target="_blank">
|
||||
{{ __('Inhalte eintragen') }}
|
||||
</x-jet-nav-link>
|
||||
<x-jet-nav-link href="{{ route('profile.show') }}" :active="request()->routeIs('profile.show')">
|
||||
{{ __('Mein Profil') }}
|
||||
</x-jet-nav-link>
|
||||
<x-jet-nav-link href="/nova/resources/events" target="_blank">
|
||||
{{ __('Meine Termine') }}
|
||||
</x-jet-nav-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user