From 3be1215d08039c9c10ad05489cb4f7cb602806b9 Mon Sep 17 00:00:00 2001 From: isaacclad Date: Thu, 9 Jul 2026 06:38:14 +0000 Subject: [PATCH] Replace ghost Meet action links with shared btn components. Webhooks, invitations, registrations, recordings, and room cancel actions match the Ladill pill-button UI. Co-authored-by: Cursor --- resources/css/app.css | 113 ++++++++++++++++++ resources/views/components/btn.blade.php | 34 ++++++ .../views/meet/invitations/index.blade.php | 8 +- .../views/meet/recordings/index.blade.php | 6 +- resources/views/meet/rooms/show.blade.php | 2 +- .../views/meet/settings/webhooks.blade.php | 2 +- resources/views/meet/spaces/show.blade.php | 8 +- .../meet/webinar/registrations.blade.php | 10 +- 8 files changed, 164 insertions(+), 19 deletions(-) create mode 100644 resources/views/components/btn.blade.php diff --git a/resources/css/app.css b/resources/css/app.css index c5d33af..81a0815 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -812,6 +812,119 @@ html.qr-mobile-page body { pointer-events: none; } + .btn-warning { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + border-radius: 9999px; + border: 1px solid rgb(252 211 77); + background-color: #fff; + padding: 0.5rem 1rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 600; + color: rgb(180 83 9); + box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + transition: background-color 0.15s ease, border-color 0.15s ease; + } + + .btn-warning:hover { + background-color: rgb(255 251 235); + border-color: rgb(245 158 11); + } + + .btn-warning:disabled { + opacity: 0.6; + pointer-events: none; + } + + .btn-danger { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + border-radius: 9999px; + border: 1px solid rgb(254 202 202); + background-color: #fff; + padding: 0.5rem 1rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 600; + color: rgb(185 28 28); + box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + transition: background-color 0.15s ease, border-color 0.15s ease; + } + + .btn-danger:hover { + background-color: rgb(254 242 242); + border-color: rgb(252 165 165); + } + + .btn-danger:disabled { + opacity: 0.6; + pointer-events: none; + } + + .btn-danger-plain { + padding: 0; + border: none; + background: transparent; + border-radius: 0; + box-shadow: none; + font-weight: 500; + } + + .btn-danger-plain:hover { + background: transparent; + text-decoration: underline; + } + + .btn-link { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.375rem; + border-radius: 9999px; + border: 1px solid transparent; + background-color: transparent; + padding: 0.5rem 0.75rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 600; + color: rgb(67 56 202); + transition: background-color 0.15s ease, color 0.15s ease; + } + + .btn-link:hover { + background-color: rgb(238 242 255); + color: rgb(55 48 163); + } + + .btn-link:disabled { + opacity: 0.6; + pointer-events: none; + } + + .btn-link-plain { + padding: 0; + border: none; + background: transparent; + border-radius: 0; + font-weight: 500; + } + + .btn-link-plain:hover { + background: transparent; + text-decoration: underline; + } + + .btn-sm { + padding: 0.25rem 0.625rem; + font-size: 0.75rem; + line-height: 1rem; + } + .btn-secondary-sm { padding: 0.375rem 0.75rem; font-size: 0.75rem; diff --git a/resources/views/components/btn.blade.php b/resources/views/components/btn.blade.php new file mode 100644 index 0000000..ca40175 --- /dev/null +++ b/resources/views/components/btn.blade.php @@ -0,0 +1,34 @@ +@props([ + 'variant' => 'primary', + 'href' => null, + 'type' => 'button', + 'size' => null, + 'plain' => false, +]) + +@php + $tag = $href ? 'a' : 'button'; + + $variantClass = match ($variant) { + 'secondary' => 'btn-secondary', + 'warning' => 'btn-warning', + 'danger' => 'btn-danger', + 'link' => 'btn-link', + default => 'btn-primary', + }; + + $classes = collect([ + $variantClass, + $size === 'sm' ? 'btn-sm' : null, + ($plain && $variant === 'link') ? 'btn-link-plain' : null, + ($plain && $variant === 'danger') ? 'btn-danger-plain' : null, + ])->filter()->implode(' '); +@endphp + +<{{ $tag }} + @if ($href) href="{{ $href }}" @endif + @if ($tag === 'button') type="{{ $type }}" @endif + {{ $attributes->class([$classes]) }} +> + {{ $slot }} + diff --git a/resources/views/meet/invitations/index.blade.php b/resources/views/meet/invitations/index.blade.php index 77d31a1..50b4b05 100644 --- a/resources/views/meet/invitations/index.blade.php +++ b/resources/views/meet/invitations/index.blade.php @@ -18,7 +18,7 @@ default => 'meeting', }; @endphp - ← Back to {{ $backLabel }} + ← Back to {{ $backLabel }}
@@ -60,9 +60,9 @@

{{ $invitation->display_name ?? $invitation->email }}

{{ $invitation->email }} · {{ ucfirst($invitation->status) }}

-
-
@csrf
-
@csrf @method('DELETE')
+
+
@csrfResend
+
@csrf @method('DELETE')Remove
@empty diff --git a/resources/views/meet/recordings/index.blade.php b/resources/views/meet/recordings/index.blade.php index 61f6141..73e21fe 100644 --- a/resources/views/meet/recordings/index.blade.php +++ b/resources/views/meet/recordings/index.blade.php @@ -13,10 +13,10 @@ · {{ $recording->created_at->format('M j, Y g:i A') }}

-
- View +
+ View @if ($recording->hasPlayableFile()) - Download + Download @endif
diff --git a/resources/views/meet/rooms/show.blade.php b/resources/views/meet/rooms/show.blade.php index 5077643..37d6f08 100644 --- a/resources/views/meet/rooms/show.blade.php +++ b/resources/views/meet/rooms/show.blade.php @@ -127,7 +127,7 @@ @if ($room->status === 'scheduled')
@csrf - + Cancel meeting
@endif diff --git a/resources/views/meet/settings/webhooks.blade.php b/resources/views/meet/settings/webhooks.blade.php index 146b71e..20daedb 100644 --- a/resources/views/meet/settings/webhooks.blade.php +++ b/resources/views/meet/settings/webhooks.blade.php @@ -29,7 +29,7 @@

{{ $endpoint->url }}

{{ implode(', ', $endpoint->events ?? []) }}

-
@csrf @method('DELETE')
+
@csrf @method('DELETE')Remove
@empty
  • No webhook endpoints configured.
  • diff --git a/resources/views/meet/spaces/show.blade.php b/resources/views/meet/spaces/show.blade.php index a42a591..60511fc 100644 --- a/resources/views/meet/spaces/show.blade.php +++ b/resources/views/meet/spaces/show.blade.php @@ -70,7 +70,7 @@

    Listener invitations

    Email join links to listeners. Invited people can enter private rooms.

    - Bulk import + Bulk import
    @@ -95,15 +95,13 @@ @csrf - + Resend
    @endforeach @if ($room->invitations->count() > 8) - - View all {{ $room->invitations->count() }} invitations - + View all {{ $room->invitations->count() }} invitations @endif @else

    No listener invitations sent yet.

    diff --git a/resources/views/meet/webinar/registrations.blade.php b/resources/views/meet/webinar/registrations.blade.php index 4a2f582..5913074 100644 --- a/resources/views/meet/webinar/registrations.blade.php +++ b/resources/views/meet/webinar/registrations.blade.php @@ -4,9 +4,9 @@

    Registrations

    {{ $room->title }}

    - ← Back to webinar + ← Back to webinar
    - Public registration page + Public registration page