12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace App\Settings;
- use Spatie\LaravelSettings\Settings;
- class ReferralSettings extends Settings
- {
- public bool $always_give_commission;
- public bool $enabled;
- public ?float $reward;
- public string $mode;
- public ?int $percentage;
- public static function group(): string
- {
- return 'referral';
- }
- /**
- * Summary of validations array
- * @return array<string, string>
- */
- public static function getValidations()
- {
- return [
- 'always_give_commission' => 'nullable|string',
- 'enabled' => 'nullable|string',
- 'reward' => 'nullable|numeric',
- 'mode' => 'required|in:commission,sign-up,both',
- 'percentage' => 'nullable|numeric',
- ];
- }
- /**
- * Summary of optionTypes
- * Only used for the settings page
- * @return array<array<'type'|'label'|'description'|'options', string|bool|float|int|array<string, string>>>
- */
- public static function getOptionInputData()
- {
- return [
- 'category_icon' => 'fas fa-user-friends',
- 'always_give_commission' => [
- 'label' => 'Always Give Commission',
- 'type' => 'boolean',
- 'description' => 'Always give commission to the referrer or only on the first Purchase.',
- ],
- 'enabled' => [
- 'label' => 'Enabled',
- 'type' => 'boolean',
- 'description' => 'Enable referral system.',
- ],
- 'reward' => [
- 'label' => 'Reward',
- 'type' => 'number',
- 'description' => 'Reward for the referrer.',
- ],
- 'mode' => [
- 'label' => 'Mode',
- 'type' => 'select',
- 'description' => 'Referral mode.',
- 'options' => [
- 'commission' => 'Commission',
- 'sign-up' => 'Sign-Up',
- 'both' => 'Both',
- ],
- ],
- 'percentage' => [
- 'label' => 'Percentage',
- 'type' => 'number',
- 'description' => 'If a referred user buys credits, the referral-user will get x% of the Credits the referred user bought.',
- ],
- ];
- }
- }
|