feat(api): add AI text-to-deck generation, wallet deposit structure, and profile/notification endpoints
Fills the gaps between the admin panel screens and the backend: a full free-text + slide-count + language -> AI-generated presentation flow with new slide-cloning logic in TemplateFillService, a "my presentations" list endpoint, a swappable payment-gateway structure for wallet top-ups (fake driver for now), and avatar upload / public-profile toggle / account deletion / password change / notification preference endpoints. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,7 @@ use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\Toggle;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class TemplateForm
|
||||
@@ -49,6 +50,19 @@ class TemplateForm
|
||||
Toggle::make('is_active')
|
||||
->label('فعال')
|
||||
->default(true),
|
||||
Toggle::make('is_ai_enabled')
|
||||
->label('امکان ساخت با هوش مصنوعی از متن')
|
||||
->helperText('در صورت فعال بودن، این قالب در فرم «ساخت پاورپوینت از متن» به کاربران پیشنهاد داده میشود.')
|
||||
->default(false)
|
||||
->live(),
|
||||
TextInput::make('ai_repeatable_slide_number')
|
||||
->label('شماره اسلاید تکرارشونده')
|
||||
->helperText('شماره اسلایدی از فایل پاورپوینت که برای هر بخش محتوای تولیدشده با هوش مصنوعی شبیهسازی میشود (مثلاً 2).')
|
||||
->numeric()
|
||||
->integer()
|
||||
->minValue(1)
|
||||
->visible(fn (Get $get): bool => (bool) $get('is_ai_enabled'))
|
||||
->required(fn (Get $get): bool => (bool) $get('is_ai_enabled')),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user