@extends('layouts.admin.app') @php $planResource = __('pages/admin/plan.heading.singular'); $pageTitle = isset($plan) ? __('pages/common.edit', ['resource' => $planResource]) : __('pages/common.add_new', ['resource' => $planResource]); @endphp @section('title', $pageTitle) @section('content') @php $durationValue = (int) old('duration_value', isset($plan) ? ($plan->duration_value ?? 1) : 1); $durationFrequency = (string) old('duration_frequency', isset($plan) ? ($plan->duration_frequency ?? 'monthly') : 'monthly'); $stripeConfigured = $stripeConfigured ?? app(\App\Services\Admin\StripeConfigurationService::class)->isConfigured(); $isEdit = isset($plan); $readOnly = $isEdit && ! $stripeConfigured; $canSubmit = $stripeConfigured && ! $readOnly; @endphp
@if(! $stripeConfigured) @endif @if(! $isEdit && ! $stripeConfigured) @else
@csrf @if($isEdit) @method('PUT') @endif
{{ __('form.label.title') }}
{{ __('form.label.description') }}

{{ __('pages/admin/plan.form.price_section') }}

@if($isEdit) {{ $plan->price?->stripe_price_id ?? '—' }} @endif
{{ __('pages/admin/plan.form.billing_interval.label') }}

{{ __('pages/admin/plan.form.billing_interval.renews_every') }}

@foreach(__('pages/admin/plan.form.billing_interval.frequency_options') as $value => $label) @endforeach

{{ __('pages/admin/plan.form.amount') }}

{{ __('pages/admin/plan.form.amount_hint') }}

{{ __('pages/admin/plan.form.sale_price') }}

{{ __('pages/admin/plan.form.sale_price_hint') }}

{{ __('pages/admin/plan.form.trial_days') }}

{{ __('form.label.status') }}

@php $ps = old( 'price_status', isset($plan) ? ($plan->price?->status ?? $plan->status ?? 'active') : 'active', ); @endphp
{{ __('buttons.cancel') }} @if($canSubmit) {{ $isEdit ? __('buttons.update') : __('buttons.save') }} @endif
@endif
@endsection @push('before-app-js') @if($isEdit || ($stripeConfigured ?? true)) {!! JsValidator::formRequest('App\\Http\\Requests\\Admin\\Subscription\\PlanRequest', '#plan-form') !!} @vite(['resources/js/common/validation.js', 'resources/js/admin/subscription/plan-form.js']) @endif @endpush