From 9f0822d1bac570d77a857dbb85a768637b51aa34 Mon Sep 17 00:00:00 2001 From: isaacclad Date: Mon, 8 Jun 2026 22:40:41 +0000 Subject: [PATCH] Unify primary buttons with gradient pill design across the app. Add shared btn-primary components and plus icons on create/new actions; limit overview recent transfers to three. Co-authored-by: Cursor --- .../Transfer/OverviewController.php | 2 +- resources/css/app.css | 54 +++++++++++++++++++ .../views/components/btn/create.blade.php | 17 ++++++ .../views/components/btn/primary.blade.php | 16 ++++++ .../user/service-topup-modal.blade.php | 2 +- .../views/email/account/developers.blade.php | 2 +- .../views/email/account/settings.blade.php | 4 +- resources/views/email/account/team.blade.php | 2 +- resources/views/email/dashboard.blade.php | 2 +- resources/views/email/domains/index.blade.php | 2 +- resources/views/email/domains/show.blade.php | 2 +- .../views/email/mailboxes/create.blade.php | 6 ++- .../views/email/mailboxes/index.blade.php | 4 +- .../views/email/mailboxes/show.blade.php | 4 +- .../views/email/mailboxes/upgrade.blade.php | 2 +- resources/views/partials/afia.blade.php | 2 +- .../partials/mobile-bottom-nav.blade.php | 2 +- resources/views/public/qr/landing.blade.php | 2 +- .../views/public/transfer/password.blade.php | 2 +- resources/views/qr-codes/attendees.blade.php | 4 +- resources/views/qr-codes/create.blade.php | 8 +-- resources/views/qr-codes/index.blade.php | 4 +- resources/views/qr/account/billing.blade.php | 2 +- .../views/qr/account/developers.blade.php | 2 +- resources/views/qr/account/settings.blade.php | 2 +- resources/views/qr/account/team.blade.php | 2 +- .../views/transfer/files/index.blade.php | 10 ++-- resources/views/transfer/settings.blade.php | 2 +- .../views/transfer/transfers/create.blade.php | 4 +- .../views/transfer/transfers/index.blade.php | 2 +- .../views/transfer/transfers/show.blade.php | 2 +- 31 files changed, 131 insertions(+), 42 deletions(-) create mode 100644 resources/views/components/btn/create.blade.php create mode 100644 resources/views/components/btn/primary.blade.php diff --git a/app/Http/Controllers/Transfer/OverviewController.php b/app/Http/Controllers/Transfer/OverviewController.php index 05aa3bf..73179c1 100644 --- a/app/Http/Controllers/Transfer/OverviewController.php +++ b/app/Http/Controllers/Transfer/OverviewController.php @@ -48,7 +48,7 @@ class OverviewController extends Controller ->accessible() ->with('qrCode') ->latest() - ->limit(6) + ->limit(3) ->get(); $balanceMinor = 0; diff --git a/resources/css/app.css b/resources/css/app.css index 2b1b6ec..9ae8c75 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -144,3 +144,57 @@ html.qr-mobile-page body { width: auto; } } + +@layer components { + .btn-primary { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + border-radius: 9999px; + background-image: linear-gradient(to right, rgb(79 70 229), rgb(124 58 237)); + padding: 0.5rem 1rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 600; + color: #fff; + box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + transition: filter 0.15s ease; + } + + .btn-primary:hover { + filter: brightness(0.92); + } + + .btn-primary:disabled { + opacity: 0.6; + pointer-events: none; + } + + .btn-primary-sm { + padding: 0.375rem 0.75rem; + font-size: 0.75rem; + line-height: 1rem; + } + + .btn-primary-lg { + padding: 0.625rem 1.25rem; + } + + .btn-fab { + display: inline-flex; + height: 2.75rem; + width: 2.75rem; + align-items: center; + justify-content: center; + border-radius: 9999px; + background-image: linear-gradient(to right, rgb(79 70 229), rgb(124 58 237)); + color: #fff; + box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); + transition: filter 0.15s ease; + } + + .btn-fab:hover { + filter: brightness(0.92); + } +} diff --git a/resources/views/components/btn/create.blade.php b/resources/views/components/btn/create.blade.php new file mode 100644 index 0000000..caa7d06 --- /dev/null +++ b/resources/views/components/btn/create.blade.php @@ -0,0 +1,17 @@ +@props([ + 'href' => null, + 'type' => 'button', +]) + +@php + $tag = $href ? 'a' : 'button'; +@endphp + +<{{ $tag }} + @if ($href) href="{{ $href }}" @endif + @if ($tag === 'button') type="{{ $type }}" @endif + {{ $attributes->class(['btn-primary']) }} +> + + {{ $slot }} + diff --git a/resources/views/components/btn/primary.blade.php b/resources/views/components/btn/primary.blade.php new file mode 100644 index 0000000..b9cb905 --- /dev/null +++ b/resources/views/components/btn/primary.blade.php @@ -0,0 +1,16 @@ +@props([ + 'href' => null, + 'type' => 'button', +]) + +@php + $tag = $href ? 'a' : 'button'; +@endphp + +<{{ $tag }} + @if ($href) href="{{ $href }}" @endif + @if ($tag === 'button') type="{{ $type }}" @endif + {{ $attributes->class(['btn-primary']) }} +> + {{ $slot }} + diff --git a/resources/views/components/user/service-topup-modal.blade.php b/resources/views/components/user/service-topup-modal.blade.php index 8a80cd0..f9a5675 100644 --- a/resources/views/components/user/service-topup-modal.blade.php +++ b/resources/views/components/user/service-topup-modal.blade.php @@ -113,7 +113,7 @@ Cancel diff --git a/resources/views/email/account/developers.blade.php b/resources/views/email/account/developers.blade.php index ea2649a..d7fa0cd 100644 --- a/resources/views/email/account/developers.blade.php +++ b/resources/views/email/account/developers.blade.php @@ -30,7 +30,7 @@ class="mt-1 w-full rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:border-indigo-300 focus:bg-white focus:outline-none focus:ring-2 focus:ring-indigo-100"> @error('name')

{{ $message }}

@enderror - + diff --git a/resources/views/email/account/settings.blade.php b/resources/views/email/account/settings.blade.php index 54b854a..8d4e4b1 100644 --- a/resources/views/email/account/settings.blade.php +++ b/resources/views/email/account/settings.blade.php @@ -63,7 +63,7 @@ @error('mailbox_address')

{{ $message }}

@enderror - + @endif @@ -104,7 +104,7 @@ - + @endsection diff --git a/resources/views/email/account/team.blade.php b/resources/views/email/account/team.blade.php index 70c9fef..c1baeaa 100644 --- a/resources/views/email/account/team.blade.php +++ b/resources/views/email/account/team.blade.php @@ -23,7 +23,7 @@ - +

Admins can manage mailboxes and the team. Members can manage mailboxes. Invitees join by signing in with that email.

diff --git a/resources/views/email/dashboard.blade.php b/resources/views/email/dashboard.blade.php index d48d16b..34d9b43 100644 --- a/resources/views/email/dashboard.blade.php +++ b/resources/views/email/dashboard.blade.php @@ -7,7 +7,7 @@

Overview

Your mailboxes at a glance.

- New mailbox + New mailbox @if($error)
{{ $error }}
@endif diff --git a/resources/views/email/domains/index.blade.php b/resources/views/email/domains/index.blade.php index 6ae7e6c..7ff52db 100644 --- a/resources/views/email/domains/index.blade.php +++ b/resources/views/email/domains/index.blade.php @@ -9,7 +9,7 @@
@csrf - + Add domain
@if(!empty($domains)) diff --git a/resources/views/email/domains/show.blade.php b/resources/views/email/domains/show.blade.php index 0d4c453..f1c75b5 100644 --- a/resources/views/email/domains/show.blade.php +++ b/resources/views/email/domains/show.blade.php @@ -40,7 +40,7 @@
@csrf - + DNS changes can take time to propagate.
@else diff --git a/resources/views/email/mailboxes/create.blade.php b/resources/views/email/mailboxes/create.blade.php index ec3f8ba..e53c52c 100644 --- a/resources/views/email/mailboxes/create.blade.php +++ b/resources/views/email/mailboxes/create.blade.php @@ -86,8 +86,10 @@ @error('password')

{{ $message }}

@enderror - + @endif diff --git a/resources/views/email/mailboxes/index.blade.php b/resources/views/email/mailboxes/index.blade.php index 284eeac..f3a9f24 100644 --- a/resources/views/email/mailboxes/index.blade.php +++ b/resources/views/email/mailboxes/index.blade.php @@ -4,7 +4,7 @@

Mailboxes

- New mailbox + New mailbox
@if($error)
{{ $error }}
@endif @@ -12,7 +12,7 @@

No mailboxes yet

Verify a domain, then create a mailbox like you@yourdomain.com.

- Create mailbox + Create mailbox
@else
diff --git a/resources/views/email/mailboxes/show.blade.php b/resources/views/email/mailboxes/show.blade.php index e5ee875..256156a 100644 --- a/resources/views/email/mailboxes/show.blade.php +++ b/resources/views/email/mailboxes/show.blade.php @@ -20,7 +20,7 @@
IMAP
{{ $host }}:993 (SSL)
SMTP
{{ $host }}:587 (STARTTLS)
- Open Webmail ↗ + Open Webmail ↗
@php @@ -46,7 +46,7 @@

@if($quotaMb < $maxMb) - Upgrade + Upgrade @else Top plan @endif diff --git a/resources/views/email/mailboxes/upgrade.blade.php b/resources/views/email/mailboxes/upgrade.blade.php index e6c6a4d..ef6211d 100644 --- a/resources/views/email/mailboxes/upgrade.blade.php +++ b/resources/views/email/mailboxes/upgrade.blade.php @@ -44,7 +44,7 @@ @error('quota_mb')

{{ $message }}

@enderror - diff --git a/resources/views/partials/afia.blade.php b/resources/views/partials/afia.blade.php index cd19ecf..79ad59b 100644 --- a/resources/views/partials/afia.blade.php +++ b/resources/views/partials/afia.blade.php @@ -96,7 +96,7 @@ diff --git a/resources/views/partials/mobile-bottom-nav.blade.php b/resources/views/partials/mobile-bottom-nav.blade.php index 69cda93..c0088ca 100644 --- a/resources/views/partials/mobile-bottom-nav.blade.php +++ b/resources/views/partials/mobile-bottom-nav.blade.php @@ -34,7 +34,7 @@
diff --git a/resources/views/public/qr/landing.blade.php b/resources/views/public/qr/landing.blade.php index f4a6755..a7a9d74 100644 --- a/resources/views/public/qr/landing.blade.php +++ b/resources/views/public/qr/landing.blade.php @@ -160,7 +160,7 @@ {{-- Save contact button --}}
+ class="btn-primary w-full"> Save Contact diff --git a/resources/views/public/transfer/password.blade.php b/resources/views/public/transfer/password.blade.php index f05d9e1..0dc5a8e 100644 --- a/resources/views/public/transfer/password.blade.php +++ b/resources/views/public/transfer/password.blade.php @@ -24,7 +24,7 @@
- +
diff --git a/resources/views/qr-codes/attendees.blade.php b/resources/views/qr-codes/attendees.blade.php index 0a21b68..0cb596f 100644 --- a/resources/views/qr-codes/attendees.blade.php +++ b/resources/views/qr-codes/attendees.blade.php @@ -56,7 +56,7 @@ class="shrink-0"> @csrf @@ -96,7 +96,7 @@
selected + class="btn-primary btn-primary-sm">Print selected
@@ -240,11 +240,11 @@ Preview diff --git a/resources/views/qr-codes/index.blade.php b/resources/views/qr-codes/index.blade.php index 3ffff64..34feb37 100644 --- a/resources/views/qr-codes/index.blade.php +++ b/resources/views/qr-codes/index.blade.php @@ -31,8 +31,8 @@
diff --git a/resources/views/qr/account/billing.blade.php b/resources/views/qr/account/billing.blade.php index 78b1551..ec0aaaa 100644 --- a/resources/views/qr/account/billing.blade.php +++ b/resources/views/qr/account/billing.blade.php @@ -76,7 +76,7 @@
diff --git a/resources/views/qr/account/developers.blade.php b/resources/views/qr/account/developers.blade.php index 5185811..d506b9a 100644 --- a/resources/views/qr/account/developers.blade.php +++ b/resources/views/qr/account/developers.blade.php @@ -28,7 +28,7 @@ class="mt-1 w-full rounded-lg border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:border-indigo-300 focus:bg-white focus:outline-none focus:ring-2 focus:ring-indigo-100"> @error('name')

{{ $message }}

@enderror - + diff --git a/resources/views/qr/account/settings.blade.php b/resources/views/qr/account/settings.blade.php index 2a24f93..ace0e9f 100644 --- a/resources/views/qr/account/settings.blade.php +++ b/resources/views/qr/account/settings.blade.php @@ -247,7 +247,7 @@ - diff --git a/resources/views/qr/account/team.blade.php b/resources/views/qr/account/team.blade.php index b19b907..cd3ec45 100644 --- a/resources/views/qr/account/team.blade.php +++ b/resources/views/qr/account/team.blade.php @@ -22,7 +22,7 @@ - +

Admins can manage QR codes and the team. Members can manage QR codes. Invitees join by signing in with that email.

diff --git a/resources/views/transfer/files/index.blade.php b/resources/views/transfer/files/index.blade.php index a2d1e46..42794ae 100644 --- a/resources/views/transfer/files/index.blade.php +++ b/resources/views/transfer/files/index.blade.php @@ -65,7 +65,7 @@
- +
@@ -266,7 +266,7 @@ class="w-full rounded-xl border border-slate-200 px-3 py-2 text-sm focus:border-indigo-300 focus:outline-none focus:ring-2 focus:ring-indigo-100">
- + Create
@@ -325,7 +325,7 @@ @@ -366,7 +366,7 @@
- +
diff --git a/resources/views/transfer/settings.blade.php b/resources/views/transfer/settings.blade.php index 49d36f9..3e2ed7c 100644 --- a/resources/views/transfer/settings.blade.php +++ b/resources/views/transfer/settings.blade.php @@ -27,7 +27,7 @@
- +
diff --git a/resources/views/transfer/transfers/create.blade.php b/resources/views/transfer/transfers/create.blade.php index f741905..49cadb8 100644 --- a/resources/views/transfer/transfers/create.blade.php +++ b/resources/views/transfer/transfers/create.blade.php @@ -119,8 +119,8 @@
Cancel - diff --git a/resources/views/transfer/transfers/index.blade.php b/resources/views/transfer/transfers/index.blade.php index a4445c6..18b47d8 100644 --- a/resources/views/transfer/transfers/index.blade.php +++ b/resources/views/transfer/transfers/index.blade.php @@ -6,7 +6,7 @@

Transfers

All your file shares — active, grace, and expired.

- New transfer + New transfer
diff --git a/resources/views/transfer/transfers/show.blade.php b/resources/views/transfer/transfers/show.blade.php index 65b1a1c..c4bffc0 100644 --- a/resources/views/transfer/transfers/show.blade.php +++ b/resources/views/transfer/transfers/show.blade.php @@ -54,7 +54,7 @@ class="flex-1 rounded-xl border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-700" onclick="this.select()"> + class="btn-primary">Copy
@endif @if($transfer->isPasswordProtected())