diff --git a/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php b/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php index 32bfd500..40cc17c9 100644 --- a/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php +++ b/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php @@ -43,6 +43,11 @@ class BitcoinEventTable extends Component ]), 'events' => BitcoinEvent::query() ->where('bitcoin_events.from', '>=', now()) + ->where(fn($query) => $query + ->whereHas('venue.city.country', + fn($query) => $query->where('countries.code', $this->country->code)) + ->orWhere('show_worldwide', true) + ) ->get() ->map(fn($event) => [ 'id' => $event->id, @@ -64,9 +69,9 @@ class BitcoinEventTable extends Component { return to_route('bitcoinEvent.table.bitcoinEvent', [ '#table', - 'country' => $this->country->code, - 'year' => $this->year, - 'table' => [ + 'country' => $this->country->code, + 'year' => $this->year, + 'bitcoin_events' => [ 'filters' => [ 'byid' => $id, ], @@ -78,9 +83,9 @@ class BitcoinEventTable extends Component { return to_route('bitcoinEvent.table.bitcoinEvent', [ '#table', - 'country' => $this->country->code, - 'year' => $this->year, - 'table' => [ + 'country' => $this->country->code, + 'year' => $this->year, + 'bitcoin_events' => [ 'filters' => [ 'byid' => $ids, ] diff --git a/app/Http/Livewire/BookCase/BookCaseTable.php b/app/Http/Livewire/BookCase/BookCaseTable.php index 568e8045..20522067 100644 --- a/app/Http/Livewire/BookCase/BookCaseTable.php +++ b/app/Http/Livewire/BookCase/BookCaseTable.php @@ -11,9 +11,9 @@ class BookCaseTable extends Component { public ?Country $country = null; public string $c = 'de'; - public array $table = []; + public array $bookcases = []; - protected $queryString = ['table']; + protected $queryString = ['bookcases']; public function render() { diff --git a/app/Http/Livewire/Library/SearchByTagComponent.php b/app/Http/Livewire/Library/SearchByTagComponent.php index 0a180cd9..98467449 100644 --- a/app/Http/Livewire/Library/SearchByTagComponent.php +++ b/app/Http/Livewire/Library/SearchByTagComponent.php @@ -8,10 +8,10 @@ use Livewire\Component; class SearchByTagComponent extends Component { public string $country = 'de'; - public ?array $table = []; + public ?array $bookcases = []; protected $queryString = [ - 'table', + 'library_items', ]; public function render() diff --git a/app/Http/Livewire/Meetup/MeetupEventTable.php b/app/Http/Livewire/Meetup/MeetupEventTable.php index ba2df272..c001bb33 100644 --- a/app/Http/Livewire/Meetup/MeetupEventTable.php +++ b/app/Http/Livewire/Meetup/MeetupEventTable.php @@ -69,9 +69,9 @@ class MeetupEventTable extends Component { return to_route('meetup.table.meetupEvent', [ '#table', - 'country' => $this->country->code, - 'year' => $this->year, - 'table' => [ + 'country' => $this->country->code, + 'year' => $this->year, + 'meetup_events' => [ 'filters' => [ 'byid' => $id, ], @@ -85,7 +85,8 @@ class MeetupEventTable extends Component return to_route('meetup.table.meetupEvent', [ '#table', 'year' => $this->year, - 'country' => $this->country->code, 'table' => [ + 'country' => $this->country->code, + 'meetup_events' => [ 'filters' => [ 'byid' => $ids, ] diff --git a/app/Http/Livewire/School/CouseTable.php b/app/Http/Livewire/School/CourseTable.php similarity index 81% rename from app/Http/Livewire/School/CouseTable.php rename to app/Http/Livewire/School/CourseTable.php index 9f7e72e6..9b81855c 100644 --- a/app/Http/Livewire/School/CouseTable.php +++ b/app/Http/Livewire/School/CourseTable.php @@ -6,13 +6,13 @@ use App\Models\Country; use Livewire\Component; use RalphJSmit\Laravel\SEO\Support\SEOData; -class CouseTable extends Component +class CourseTable extends Component { public Country $country; public function render() { - return view('livewire.school.couse-table')->layout('layouts.app', [ + return view('livewire.school.course-table')->layout('layouts.app', [ 'SEOData' => new SEOData( title: __('Courses'), description: __('Choose your city, search for courses in the surrounding area and select a topic that suits you.'), diff --git a/app/Http/Livewire/School/EventTable.php b/app/Http/Livewire/School/EventTable.php index e6b84c3b..5346580d 100644 --- a/app/Http/Livewire/School/EventTable.php +++ b/app/Http/Livewire/School/EventTable.php @@ -70,7 +70,7 @@ class EventTable extends Component '#table', 'country' => $this->country->code, 'year' => $this->year, - 'table' => [ + 'course_events' => [ 'filters' => [ 'byid' => $id, ], @@ -84,7 +84,7 @@ class EventTable extends Component '#table', 'country' => $this->country->code, 'year' => $this->year, - 'table' => [ + 'course_events' => [ 'filters' => [ 'byid' => $ids, ] diff --git a/app/Http/Livewire/School/SearchByTagComponent.php b/app/Http/Livewire/School/SearchByTagComponent.php index 0375a4c2..7d26f9aa 100644 --- a/app/Http/Livewire/School/SearchByTagComponent.php +++ b/app/Http/Livewire/School/SearchByTagComponent.php @@ -8,10 +8,10 @@ use Livewire\Component; class SearchByTagComponent extends Component { public string $country = 'de'; - public ?array $table = []; + public ?array $courses = []; protected $queryString = [ - 'table', + 'courses', ]; public function render() diff --git a/app/Http/Livewire/Tables/CityTable.php b/app/Http/Livewire/Tables/CityTable.php index fc98e64e..bc995c5a 100644 --- a/app/Http/Livewire/Tables/CityTable.php +++ b/app/Http/Livewire/Tables/CityTable.php @@ -92,7 +92,7 @@ class CityTable extends DataTableComponent return to_route('school.table.event', [ '#table', 'country' => $this->country, - 'table' => [ + 'course_events' => [ 'filters' => [ 'stadt' => $query->pluck('name') ->push($city->name) @@ -117,7 +117,7 @@ class CityTable extends DataTableComponent return to_route('bookCases.table.bookcases', [ '#table', 'country' => $this->country, - 'table' => [ + 'bookcases' => [ 'filters' => [ 'byids' => $ids->implode(',') ], diff --git a/app/Http/Livewire/Tables/CourseTable.php b/app/Http/Livewire/Tables/CourseTable.php index d5ca0eb0..dac6a3d6 100644 --- a/app/Http/Livewire/Tables/CourseTable.php +++ b/app/Http/Livewire/Tables/CourseTable.php @@ -61,6 +61,7 @@ class CourseTable extends DataTableComponent ->sortable() ->collapseOnMobile(), Column::make("Name", "name") + ->searchable(fn(Builder $query, string $term) => $query->where('name', 'ilike', '%'.$term.'%')) ->sortable(), Column::make("Tags") ->label( @@ -104,8 +105,8 @@ class CourseTable extends DataTableComponent { return to_route('school.table.event', [ '#table', - 'country' => $this->country, - 'table' => [ + 'country' => $this->country, + 'course_events' => [ 'filters' => [ 'course_id' => $id, ], diff --git a/app/Http/Livewire/Tables/EventTable.php b/app/Http/Livewire/Tables/EventTable.php index 3605b2ce..b74bcc3f 100644 --- a/app/Http/Livewire/Tables/EventTable.php +++ b/app/Http/Livewire/Tables/EventTable.php @@ -17,7 +17,7 @@ class EventTable extends DataTableComponent public string $country; public bool $viewingModal = false; public $currentModal; - public string $tableName = 'events'; + public string $tableName = 'course_events'; public function configure(): void { diff --git a/app/Http/Livewire/Tables/LecturerTable.php b/app/Http/Livewire/Tables/LecturerTable.php index ef5a14cb..3f7ee664 100644 --- a/app/Http/Livewire/Tables/LecturerTable.php +++ b/app/Http/Livewire/Tables/LecturerTable.php @@ -47,6 +47,7 @@ class LecturerTable extends DataTableComponent ]) ->collapseOnMobile(), Column::make("Name", "name") + ->searchable(fn($query, $term) => $query->where('name', 'ilike', '%'.$term.'%')) ->sortable(), BooleanColumn::make("Aktiv", 'active') ->sortable() @@ -88,8 +89,8 @@ class LecturerTable extends DataTableComponent if ($event) { return to_route('school.table.event', [ '#table', - 'country' => $this->country, - 'table' => [ + 'country' => $this->country, + 'course_events' => [ 'filters' => [ 'dozent' => $lecturer->id, ], @@ -98,8 +99,8 @@ class LecturerTable extends DataTableComponent } else { return to_route('library.table.libraryItems', [ '#table', - 'country' => $this->country, - 'table' => [ + 'country' => $this->country, + 'library_items' => [ 'filters' => [ 'lecturer_id' => $lecturer->id, ], diff --git a/app/Http/Livewire/Tables/MeetupTable.php b/app/Http/Livewire/Tables/MeetupTable.php index 08880e58..ebad67a8 100644 --- a/app/Http/Livewire/Tables/MeetupTable.php +++ b/app/Http/Livewire/Tables/MeetupTable.php @@ -93,7 +93,7 @@ class MeetupTable extends DataTableComponent return to_route('meetup.table.meetupEvent', [ 'country' => $this->country ?? $meetup->city->country->code, - 'table' => [ + 'meetup_events' => [ 'filters' => ['bymeetupid' => $id], ] ]); diff --git a/app/Http/Livewire/Tables/VenueTable.php b/app/Http/Livewire/Tables/VenueTable.php index 7eefa7e9..d86a9056 100644 --- a/app/Http/Livewire/Tables/VenueTable.php +++ b/app/Http/Livewire/Tables/VenueTable.php @@ -47,6 +47,7 @@ class VenueTable extends DataTableComponent ]) ->collapseOnMobile(), Column::make("Name", "name") + ->searchable(fn($query, $term) => $query->where('name', 'ilike', '%'.$term.'%')) ->sortable(), Column::make("Street", "street") ->sortable() @@ -81,8 +82,8 @@ class VenueTable extends DataTableComponent return to_route('school.table.event', [ '#table', - 'country' => $this->country, - 'table' => [ + 'country' => $this->country, + 'course_events' => [ 'filters' => [ 'venue' => $venue->name, ], diff --git a/resources/views/livewire/library/search-by-tag-component.blade.php b/resources/views/livewire/library/search-by-tag-component.blade.php index fdbcd06c..472a88b1 100644 --- a/resources/views/livewire/library/search-by-tag-component.blade.php +++ b/resources/views/livewire/library/search-by-tag-component.blade.php @@ -8,12 +8,12 @@ style="font-size: 128%; background-position: 0px center; list-style: outside;" > @php - $isActive = collect($table)->pluck('tag')->collapse()->contains($tag->name); + $isActive = collect($library_items)->pluck('tag')->collapse()->contains($tag->name); $activeClass = $isActive ? 'text-amber-500 bg-amber-500' : 'bg-blue-50 text-white hover:text-amber-500'; @endphp
@php - $isActive = collect($table)->pluck('tag')->collapse()->contains($tag->name); + $isActive = collect($courses)->pluck('tag')->collapse()->contains($tag->name); $activeClass = $isActive ? 'text-amber-500 bg-amber-500' : 'bg-blue-50 text-white hover:text-amber-500'; @endphp
name('table.venue'); - Route::get('/course', \App\Http\Livewire\School\CouseTable::class) + Route::get('/course', \App\Http\Livewire\School\CourseTable::class) ->name('table.course'); Route::get('/event', \App\Http\Livewire\School\EventTable::class)