move into sonardesk

This commit is contained in:
Mark Gregory
2026-10-12 14:50:13 +01:00
parent 5f0d2ceb72
commit 38b4a7406f
879 changed files with 24021 additions and 1 deletions
@@ -0,0 +1,25 @@
<form method="POST" class="space-y-5">
@csrf
<div class="grid gap-5 md:grid-cols-2">
<flux:input name="name" :label="__('Name')" required />
<flux:select name="product_type" :label="__('Type')">
<option value="product">Product</option>
<option value="plan">Pricing plan</option>
</flux:select>
<flux:input name="price" type="number" step="0.01" min="0" :label="__('Price')" />
<flux:input name="currency" value="GBP" maxlength="3" :label="__('Currency')" />
<flux:input name="billing_period" value="month" :label="__('Billing period')" />
<flux:input name="sort_order" type="number" min="0" value="0" :label="__('Sort order')" />
</div>
<flux:textarea name="description" :label="__('Description')" rows="3" />
<flux:textarea name="features" :label="__('Features — one per line')" rows="6" />
<div class="grid gap-5 md:grid-cols-2">
<flux:input name="cta_label" :label="__('Button label')" />
<flux:input name="cta_url" :label="__('Button URL')" />
</div>
<div class="flex flex-wrap gap-6">
<flux:checkbox name="is_active" value="1" checked :label="__('Active')" />
<flux:checkbox name="is_featured" value="1" :label="__('Featured / most popular')" />
</div>
<flux:button type="submit" variant="primary">{{ __('Save Product') }}</flux:button>
</form>
@@ -0,0 +1,26 @@
<x-layouts.app :title="__('Products & Pricing')">
<div class="space-y-6">
<div>
<h1 class="text-2xl font-semibold">Products & Pricing</h1>
<p class="mt-1 text-sm text-zinc-500">Manage catalogue products and public-facing pricing plans from one place.</p>
</div>
<section class="rounded-2xl border border-zinc-200/70 bg-white/80 p-6 shadow-sm backdrop-blur dark:border-white/10 dark:bg-zinc-950/70">
@include('products::admin.products.form')
</section>
<div class="grid gap-4 lg:grid-cols-3">
@forelse ($records as $record)
<article class="rounded-2xl border border-zinc-200/70 bg-white/80 p-5 shadow-sm backdrop-blur dark:border-white/10 dark:bg-zinc-950/70">
<div class="flex items-start justify-between gap-4">
<div><h2 class="font-semibold">{{ $record->name }}</h2><p class="text-sm text-zinc-500">{{ ucfirst($record->product_type ?? 'product') }}</p></div>
@if($record->is_featured)<span class="rounded-full bg-orange-500/10 px-2.5 py-1 text-xs font-semibold text-orange-600">Featured</span>@endif
</div>
@if($record->price !== null)<p class="mt-4 text-2xl font-bold">{{ $record->currency }} {{ $record->price }} <small class="text-sm font-normal">/{{ $record->billing_period }}</small></p>@else<p class="mt-4 text-2xl font-bold">Custom</p>@endif
<p class="mt-2 text-sm text-zinc-500">{{ $record->description }}</p>
</article>
@empty
<p class="text-sm text-zinc-500">No products or plans have been created.</p>
@endforelse
</div>
{{ $records->links() }}
</div>
</x-layouts.app>