meetup landing page

This commit is contained in:
Benjamin Takats
2023-01-16 16:00:49 +01:00
parent 5a0428fe61
commit 6dd898e6d2
11 changed files with 283 additions and 41 deletions

View File

@@ -12,6 +12,7 @@ class LandingPage extends Component
{
public Meetup $meetup;
public Country $country;
public ?int $activeEvent = null;
public ?int $year = null;
@@ -25,20 +26,27 @@ class LandingPage extends Component
public function render()
{
return view('livewire.meetup.landing-page', [
'events' => MeetupEvent::query()
->with([
'meetup.city.country',
])
->where('meetup_events.meetup_id', $this->meetup->id)
->where('meetup_events.start', '>=', now())
->get()
->map(fn($event) => [
'id' => $event->id,
'startDate' => $event->start,
'endDate' => $event->start->addHours(1),
'location' => $event->location,
'description' => $event->description,
]),
'meetupEvents' => MeetupEvent::query()
->with([
'meetup.city.country',
])
->where('meetup_events.meetup_id', $this->meetup->id)
->where('meetup_events.start', '>=', now())
->get(),
'events' => MeetupEvent::query()
->with([
'meetup.city.country',
])
->where('meetup_events.meetup_id', $this->meetup->id)
->where('meetup_events.start', '>=', now())
->get()
->map(fn($event) => [
'id' => $event->id,
'startDate' => $event->start,
'endDate' => $event->start->addHours(1),
'location' => $event->location,
'description' => $event->description,
]),
])
->layout('layouts.guest', [
'SEOData' => new SEOData(
@@ -48,4 +56,9 @@ class LandingPage extends Component
)
]);
}
public function showEvent($id)
{
$this->activeEvent = $id;
}
}

View File

@@ -71,10 +71,9 @@ class MeetupEventTable extends DataTableComponent
->sortable()
->collapseOnMobile(),
Column::make(__('Link'), 'link')
->format(
fn($value, $row, Column $column) => view('columns.meetup_events.link')->withRow($row)
)
->sortable(),
->label(
fn($row, Column $column) => view('columns.meetup_events.link')->withRow($row)->withCountry($this->country)
),
];
}

View File

@@ -53,12 +53,7 @@ class MeetupTable extends DataTableComponent
)
->searchable(fn($builder, $term) => $builder->where('meetups.name', 'ilike', '%'.$term.'%'))
->sortable(),
Column::make(__('Link'), 'link')
->format(
fn($value, $row, Column $column) => view('columns.meetups.link')->withRow($row)
)
->sortable(),
Column::make(__('Links'),)
Column::make(__('Links'))
->label(
fn($row, Column $column) => view('columns.meetups.action')
->withRow($row)