Your IP : 216.73.216.79


Current Path : /var/www/html/reddsis/database/seeders/
Upload File :
Current File : /var/www/html/reddsis/database/seeders/ThemeRuleSeeder.php

<?php

namespace Database\Seeders;

use App\Models\Backend\ThemeRule;
use App\Models\Backend\ThemeSetting;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class ThemeRuleSeeder extends Seeder
{
    public function run(): void
    {
        $adminId = 1;

        DB::statement('SET FOREIGN_KEY_CHECKS=0');
        ThemeSetting::truncate();
        ThemeRule::truncate();
        DB::statement('SET FOREIGN_KEY_CHECKS=1');

        $rules = [
            // ─── LOGIN ───────────────────────────────────────────
            [
                'rule_name' => 'Login Background',
                'rule_description' => 'Background for Login page',
                'rule_sorting' => 1,
                'rule_content' => ':root { --login-bg-gradient: {{background-gradient}}; } .login-page { background: var(--login-bg-gradient); }',
                'params' => [
                    ['param_name' => 'background-gradient', 'param_type' => 'text', 'param_default' => 'linear-gradient(-45deg, rgba(5, 5, 152,0.5),rgba(9,209,154,0.5))'],
                ],
            ],
            [
                'rule_name' => 'Login Welcome Page',
                'rule_description' => 'Description for login page',
                'rule_sorting' => 2,
                'rule_content' => ':root { --login-welcome-title: "{{title}}"; --login-welcome-desc: "{{description}}"; --login-copyright: "{{copyright}}"; } .login-welcome-title::before { content: var(--login-welcome-title); } .login-welcome-desc::before { content: var(--login-welcome-desc); } .login-copyright::before { content: var(--login-copyright); }',
                'params' => [
                    ['param_name' => 'title', 'param_type' => 'text', 'param_default' => 'WELCOME TO DYNAWEB4 CONTENT MANAGEMENT SYSTEM (CMS)'],
                    ['param_name' => 'description', 'param_type' => 'text', 'param_default' => 'DYNAWEB4 is a modular content and application management system and platform that makes it easy to develop and deploy portals and web applications in a structured, secured and modular way.'],
                    ['param_name' => 'copyright', 'param_type' => 'text', 'param_default' => 'Copyright 2026, Dynaweb4 & BLUNET, All Rights Reserved'],
                ],
            ],
        ];

        foreach ($rules as $data) {
            $params = $data['params'];
            unset($data['params']);

            $data['rule_params'] = json_encode($params);
            $data['rule_status'] = true;
            $data['created_by'] = $adminId;
            $data['updated_by'] = $adminId;

            $rule = ThemeRule::create($data);

            foreach ($params as $param) {
                $value = $param['param_type'] === 'unit'
                    ? json_encode(['value' => $param['param_default'], 'unit' => 'px'])
                    : $param['param_default'];
                $default = $param['param_type'] === 'unit'
                    ? json_encode(['value' => $param['param_default'], 'unit' => 'px'])
                    : $param['param_default'];

                ThemeSetting::create([
                    'setting_rule_id' => $rule->rule_id,
                    'setting_param_name' => $param['param_name'],
                    'setting_param_type' => $param['param_type'],
                    'setting_param_value' => $default,
                    'setting_param_default' => $default,
                ]);
            }
        }
    }
}