feat(settings): add sponsorship popup toggle and corresponding database migration
This commit is contained in:
@@ -68,6 +68,9 @@ class Index extends Component
|
|||||||
#[Validate('boolean')]
|
#[Validate('boolean')]
|
||||||
public bool $disable_two_step_confirmation;
|
public bool $disable_two_step_confirmation;
|
||||||
|
|
||||||
|
#[Validate('boolean')]
|
||||||
|
public bool $is_sponsorship_popup_enabled;
|
||||||
|
|
||||||
public function render()
|
public function render()
|
||||||
{
|
{
|
||||||
return view('livewire.settings.index');
|
return view('livewire.settings.index');
|
||||||
@@ -96,6 +99,7 @@ class Index extends Component
|
|||||||
$this->update_check_frequency = $this->settings->update_check_frequency;
|
$this->update_check_frequency = $this->settings->update_check_frequency;
|
||||||
$this->instance_timezone = $this->settings->instance_timezone;
|
$this->instance_timezone = $this->settings->instance_timezone;
|
||||||
$this->disable_two_step_confirmation = $this->settings->disable_two_step_confirmation;
|
$this->disable_two_step_confirmation = $this->settings->disable_two_step_confirmation;
|
||||||
|
$this->is_sponsorship_popup_enabled = $this->settings->is_sponsorship_popup_enabled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,6 +138,7 @@ class Index extends Component
|
|||||||
$this->settings->update_check_frequency = $this->update_check_frequency;
|
$this->settings->update_check_frequency = $this->update_check_frequency;
|
||||||
$this->settings->disable_two_step_confirmation = $this->disable_two_step_confirmation;
|
$this->settings->disable_two_step_confirmation = $this->disable_two_step_confirmation;
|
||||||
$this->settings->instance_timezone = $this->instance_timezone;
|
$this->settings->instance_timezone = $this->instance_timezone;
|
||||||
|
$this->settings->is_sponsorship_popup_enabled = $this->is_sponsorship_popup_enabled;
|
||||||
if ($isSave) {
|
if ($isSave) {
|
||||||
$this->settings->save();
|
$this->settings->save();
|
||||||
$this->dispatch('success', 'Settings updated!');
|
$this->dispatch('success', 'Settings updated!');
|
||||||
|
@@ -0,0 +1,28 @@
|
|||||||
|
<?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('instance_settings', function (Blueprint $table) {
|
||||||
|
$table->boolean('is_sponsorship_popup_enabled')->default(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('instance_settings', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('is_sponsorship_popup_enabled');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@@ -87,6 +87,7 @@
|
|||||||
@endif
|
@endif
|
||||||
</span>
|
</span>
|
||||||
@endauth
|
@endauth
|
||||||
|
@if (instanceSettings()->is_sponsorship_popup_enabled)
|
||||||
<span x-show="popups.sponsorship">
|
<span x-show="popups.sponsorship">
|
||||||
<x-popup>
|
<x-popup>
|
||||||
<x-slot:title>
|
<x-slot:title>
|
||||||
@@ -113,12 +114,15 @@
|
|||||||
</x-slot:button-text>
|
</x-slot:button-text>
|
||||||
</x-popup>
|
</x-popup>
|
||||||
</span>
|
</span>
|
||||||
|
@endif
|
||||||
@if (currentTeam()->subscriptionPastOverDue())
|
@if (currentTeam()->subscriptionPastOverDue())
|
||||||
<x-banner :closable=false>
|
<x-banner :closable=false>
|
||||||
<div><span class="font-bold text-red-500">WARNING:</span> Your subscription is in over-due. If your latest
|
<div><span class="font-bold text-red-500">WARNING:</span> Your subscription is in over-due. If your
|
||||||
|
latest
|
||||||
payment is not paid within a week, all automations <span class="font-bold text-red-500">will
|
payment is not paid within a week, all automations <span class="font-bold text-red-500">will
|
||||||
be deactivated</span>. Visit <a href="{{ route('subscription.show') }}"
|
be deactivated</span>. Visit <a href="{{ route('subscription.show') }}"
|
||||||
class="underline dark:text-white">/subscription</a> to check your subscription status or pay your
|
class="underline dark:text-white">/subscription</a> to check your subscription status or pay
|
||||||
|
your
|
||||||
invoice (or check your email for the invoice).
|
invoice (or check your email for the invoice).
|
||||||
</div>
|
</div>
|
||||||
</x-banner>
|
</x-banner>
|
||||||
|
@@ -97,7 +97,7 @@
|
|||||||
helper="Allowed IP lists for the API. A comma separated list of IPs. Empty means you allow from everywhere."
|
helper="Allowed IP lists for the API. A comma separated list of IPs. Empty means you allow from everywhere."
|
||||||
placeholder="1.1.1.1,8.8.8.8" />
|
placeholder="1.1.1.1,8.8.8.8" />
|
||||||
<h4 class="pt-6">Update</h4>
|
<h4 class="pt-6">Update</h4>
|
||||||
<div class="text-right md:w-96">
|
<div class="text-right md:w-96 pb-4">
|
||||||
@if (!is_null(config('constants.coolify.autoupdate', null)))
|
@if (!is_null(config('constants.coolify.autoupdate', null)))
|
||||||
<div class="text-right md:w-96">
|
<div class="text-right md:w-96">
|
||||||
<x-forms.checkbox instantSave helper="AUTOUPDATE is set in .env file, you need to modify it there."
|
<x-forms.checkbox instantSave helper="AUTOUPDATE is set in .env file, you need to modify it there."
|
||||||
@@ -128,6 +128,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="py-4">Confirmation Settings</h4>
|
<h4 class="py-4">Confirmation Settings</h4>
|
||||||
|
<div class="md:w-96 ">
|
||||||
|
<x-forms.checkbox instantSave id="is_sponsorship_popup_enabled" label="Show Sponsorship Popup"
|
||||||
|
helper="When enabled, sponsorship popups will be shown monthly to users. When disabled, the sponsorship popup will be permanently hidden for all users." />
|
||||||
|
</div>
|
||||||
|
|
||||||
@if ($disable_two_step_confirmation)
|
@if ($disable_two_step_confirmation)
|
||||||
<div class="md:w-96 pb-4" wire:key="two-step-confirmation-enabled">
|
<div class="md:w-96 pb-4" wire:key="two-step-confirmation-enabled">
|
||||||
|
Reference in New Issue
Block a user