Skip to content

Commit

Permalink
feat: add signal field to meetups
Browse files Browse the repository at this point in the history
- Added a new field "Signal" to the meetups form
- Included validation for the new signal field in the form backend
- Updated landing page to display the signal link if available
- Added display of the signal link in the meetup action column
- Created a new migration to add the signal field to the meetups table
- Included the signal field in the API endpoints for meetups and events.
  • Loading branch information
fsociety committed Sep 24, 2024
1 parent 579277f commit c1ebd92
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 0 deletions.
1 change: 1 addition & 0 deletions app/Http/Livewire/Meetup/Form/MeetupForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ public function rules()
'meetup.twitter_username' => 'string|regex:/^[A-z0-9!@]+$/|nullable|required_without_all:meetup.webpage,meetup.telegram_link,meetup.nostr,meetup.matrix_group',
'meetup.matrix_group' => 'string|nullable|required_without_all:meetup.webpage,meetup.telegram_link,meetup.nostr,meetup.twitter_username',
'meetup.simplex' => 'string|nullable',
'meetup.signal' => 'string|nullable',
];
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('meetups', function (Blueprint $table) {
$table->string('signal', 255 * 2)->nullable();
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('meetups', function (Blueprint $table) {
//
});
}
};
13 changes: 13 additions & 0 deletions resources/views/columns/meetups/action.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,19 @@
</x-button>
</div>
@endif
@if($row->signal)
<div>
<x-button
xs
black
target="_blank"
:href="$row->signal"
>
<i class="fa fa-thin fa-external-link mr-2"></i>
{{ __('Signal') }}
</x-button>
</div>
@endif
@if($row->webpage)
<div>
<x-button
Expand Down
6 changes: 6 additions & 0 deletions resources/views/livewire/meetup/form/meetup-form.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,12 @@
/>
</x-input.group>

<x-input.group :for="md5('meetup.signal')" :label="__('Signal')">
<x-input autocomplete="off" wire:model.debounce="meetup.signal"
:placeholder="__('Signal')"
/>
</x-input.group>

<x-input.group :for="md5('meetup.matrix_group')" :label="__('Matrix Group')">
<x-input autocomplete="off" wire:model.debounce="meetup.matrix_group"
:placeholder="__('Matrix Group')"
Expand Down
11 changes: 11 additions & 0 deletions resources/views/livewire/meetup/landing-page-event.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,17 @@
</x-button>
@endif
</div>
<div>
@if($meetup->signal)
<x-button
target="_blank"
:href="$meetup->signal"
secondary lg class="mt-4 whitespace-nowrap">
<i class="fa fa-thin fa-external-link mr-2"></i>
{{ __('Signal') }}
</x-button>
@endif
</div>
<div>
@if($meetup->nostr && str($meetup->nostr)->contains('npub1'))
<x-button
Expand Down
9 changes: 9 additions & 0 deletions resources/views/livewire/meetup/landing-page.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@ class="lg:block hidden">
{{ __('SimpleX-Link') }}
</x-button>
@endif
@if($meetup->signal)
<x-button
target="_blank"
:href="$meetup->signal"
primary lg class="mt-4 whitespace-nowrap">
<i class="fa fa-thin fa-external-link mr-2"></i>
{{ __('Signal') }}
</x-button>
@endif
@if($meetup->nostr && str($meetup->nostr)->contains('npub1'))
<x-button
target="_blank"
Expand Down
2 changes: 2 additions & 0 deletions routes/api.php
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
'twitter_username' => $meetup->twitter_username,
'website' => $meetup->webpage,
'simplex' => $meetup->simplex,
'signal' => $meetup->signal,
'nostr' => $meetup->nostr,
'next_event' => $meetup->nextEvent,
'intro' => $request->has('withIntro') ? $meetup->intro : null,
Expand Down Expand Up @@ -134,6 +135,7 @@
'meetup.twitter_username' => $event->meetup->twitter_username,
'meetup.website' => $event->meetup->webpage,
'meetup.simplex' => $event->meetup->simplex,
'meetup.signal' => $event->meetup->signal,
'meetup.nostr' => $event->meetup->nostr,
]
);
Expand Down

0 comments on commit c1ebd92

Please sign in to comment.