diff --git a/app/Livewire/Sponsorship.php b/app/Livewire/LayoutPopups.php similarity index 86% rename from app/Livewire/Sponsorship.php rename to app/Livewire/LayoutPopups.php index c4dedffc0..dd7f14678 100644 --- a/app/Livewire/Sponsorship.php +++ b/app/Livewire/LayoutPopups.php @@ -4,7 +4,7 @@ namespace App\Livewire; use Livewire\Component; -class Sponsorship extends Component +class LayoutPopups extends Component { public function getListeners() { @@ -23,6 +23,6 @@ class Sponsorship extends Component } public function render() { - return view('livewire.sponsorship'); + return view('livewire.layout-popups'); } } diff --git a/app/Livewire/Subscription/Actions.php b/app/Livewire/Subscription/Actions.php index 90643e01a..a6a201f3b 100644 --- a/app/Livewire/Subscription/Actions.php +++ b/app/Livewire/Subscription/Actions.php @@ -9,6 +9,7 @@ use Livewire\Component; class Actions extends Component { public $server_limits = 0; + public function mount() { $this->server_limits = Team::serverLimit(); diff --git a/app/Models/Team.php b/app/Models/Team.php index 8617bfffd..7858dde49 100644 --- a/app/Models/Team.php +++ b/app/Models/Team.php @@ -54,6 +54,12 @@ class Team extends Model implements SendsDiscord, SendsEmail $servers = $team->servers->count(); return $servers >= $serverLimit; } + public function serverOverflow() { + if ($this->serverLimit() < $this->servers->count()) { + return true; + } + return false; + } static public function serverLimit() { return Team::find(currentTeam()->id)->limits['serverLimit']; diff --git a/resources/views/components/banner.blade.php b/resources/views/components/banner.blade.php new file mode 100644 index 000000000..d75a6d75e --- /dev/null +++ b/resources/views/components/banner.blade.php @@ -0,0 +1,22 @@ +@props(['closable' => true]) +
+
+ {{ $slot }} + @if ($closable) + + @endif +
+
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index a5fd6d0e6..7d74f7acb 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -7,7 +7,7 @@ @endpersist - + @auth @endauth diff --git a/resources/views/livewire/sponsorship.blade.php b/resources/views/livewire/layout-popups.blade.php similarity index 58% rename from resources/views/livewire/sponsorship.blade.php rename to resources/views/livewire/layout-popups.blade.php index 28cb96ac4..c58ca4c31 100644 --- a/resources/views/livewire/sponsorship.blade.php +++ b/resources/views/livewire/layout-popups.blade.php @@ -11,4 +11,9 @@ @endif + @if (currentTeam()->serverOverflow()) + +
WARNING: The number of active servers exceeds the limit covered by your payment. If not resolved, some of your servers will be deactivated in the next billing cycle. Visit /subscription to update your subscription.
+
+ @endif diff --git a/resources/views/livewire/subscription/actions.blade.php b/resources/views/livewire/subscription/actions.blade.php index acfd7179e..fedbaf2cf 100644 --- a/resources/views/livewire/subscription/actions.blade.php +++ b/resources/views/livewire/subscription/actions.blade.php @@ -1,7 +1,8 @@
@if (subscriptionProvider() === 'stripe')
-
Your current Plan is: Your current plan +
Tier: {{ data_get(currentTeam(), 'subscription')->type() }}
@if (currentTeam()->subscription->stripe_cancel_at_period_end) @@ -10,13 +11,19 @@
Subscription is active. Last invoice is {{ currentTeam()->subscription->stripe_invoice_paid ? 'paid' : 'not paid' }}.
@endif -

Limits

-
Server: {{ $server_limits }}
-

Actions

+
Number of paid servers: {{ $server_limits }}
+
Currently active servers: {{ currentTeam()->servers->count() }}
+ @if (currentTeam()->serverOverflow()) +
WARNING: You must delete + {{ currentTeam()->servers->count() - $server_limits }} servers, + or upgrade your subscription. {{ currentTeam()->servers->count() - $server_limits }} servers will be + deactivated in the next billing cycle.
+ @endif +

Manage your subscription

Cancel, upgrade or downgrade your subscription.
- Manage your subscription on + Go to