diff --git a/.env.example b/.env.example
index 38a3db7..efe23cd 100644
--- a/.env.example
+++ b/.env.example
@@ -3,8 +3,8 @@ APP_ENV=local
 APP_KEY=
 APP_DEBUG=true
 APP_DEPLOYED=false
-APP_TIMEZONE=UTC
-APP_URL=http://xshop.test
+APP_TIMEZONE=ASIA/TEHRAN
+APP_URL=http://127.0.0.1:8000
 
 APP_LOCALE=en
 APP_FALLBACK_LOCALE=en
@@ -24,7 +24,7 @@ LOG_LEVEL=debug
 #DB_CONNECTION=sqlite
 #DB_HOST=127.0.0.1
 #DB_PORT=3306
-#DB_DATABASE=/home/freeman/Projects/xstack/xshop2/storage/logs/open.db
+#DB_DATABASE=/project-directory/xshop/storage/logs/open.db
 #DB_USERNAME=root
 #DB_PASSWORD=
 
diff --git a/.gitignore b/.gitignore
index 7fe978f..c4f1dd0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,4 @@ yarn-error.log
 /.fleet
 /.idea
 /.vscode
+package-lock.json
diff --git a/README-fa.md b/README-fa.md
index f15a46a..f709b44 100644
--- a/README-fa.md
+++ b/README-fa.md
@@ -73,6 +73,15 @@ php artisan seeding:image Product digital
 ```
 </div>
 
+یا برای همه مدل‌ها یک‌جا از دستور زیر استفاده کنید:
+
+<div dir="ltr">
+
+```bash
+php artisan seeding:all digital
+```
+</div>
+
 > شما ابتدا باید مدل را نوشته و سپس فولدر مورد نظر برای تصاویر را وارد کنید[bag, clothe, digital, sport, posts, makeup]
 > همچنین می‌توانید یک پوشه درخواه پر از تصاویر jpg دلخواه را در آن پر کنید
 
diff --git a/README.md b/README.md
index 86dfa5c..e786f8d 100644
--- a/README.md
+++ b/README.md
@@ -36,11 +36,18 @@ php artisan key:generate
 php artisan serv
 
 # to develop front-end
+npm i
+php artisan client
+npm install @rollup/rollup-win32-x64-msvc # just for windows if the below line dose not work
+npm run dev
+
+# or with yarn
 
-npm install -g yarn
 yarn install
 php artisan client
+yarn add @rollup/rollup-win32-x64-msvc # just for windows if the below line dose not work
 yarn dev
+
 ```
 
 > [!TIP]
@@ -55,9 +62,17 @@ php artisan seeding:prepare
  ```
 - nor copy your image folder to `database/seeders/images/` 
 - then: Seeding image for models: [Group, Category, Post, Product, Slider] 
+
 ```bash
 php artisan seeding:image Product digital
 ```
+
+Or to seed all models:
+
+```bash
+php artisan seeding:all digital
+```
+
 > First parameter is Model, Second is image seeder directory available [bag, clothe, digital, sport, posts, makeup]
 > You can create your directory and put your image into new directory then use image seeder
 
diff --git a/app/Console/Commands/SeedImageAll.php b/app/Console/Commands/SeedImageAll.php
new file mode 100644
index 0000000..2cfe38a
--- /dev/null
+++ b/app/Console/Commands/SeedImageAll.php
@@ -0,0 +1,48 @@
+<?php
+
+namespace App\Console\Commands;
+
+use Illuminate\Console\Command;
+
+class SeedImageAll extends Command
+{
+
+
+    public $models = ['Category', 'Group', 'Slider', 'Post', 'Product'];
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'seeding:all {directory}';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = 'Command description';
+
+    /**
+     * Execute the console command.
+     */
+    public function handle()
+    {
+        //
+        foreach ($this->models as $model) {
+            // Call the seeder command
+            $exitCode = \Artisan::call('seeding:image', ['directory' => $this->argument('directory'), 'model' => $model]);
+
+            // Get the output
+            $output = \Artisan::output();
+
+            // Handle the exit code and output as needed
+            if ($exitCode === 0) {
+                $this->info( "Seeding was successful: [$model] \n");
+            } else {
+                $this->error("Seeding failed with exit code {$exitCode}:\n");
+            }
+            $this->info( $output);
+        }
+    }
+}
diff --git a/app/Console/Commands/SeedingImage.php b/app/Console/Commands/SeedingImage.php
index d478c4f..6c77a17 100644
--- a/app/Console/Commands/SeedingImage.php
+++ b/app/Console/Commands/SeedingImage.php
@@ -56,6 +56,8 @@ class SeedingImage extends Command
                 }
                 break;
             case 'Category':
+                $svgs = \File::files(__DIR__ . '/../../../database/seeders/images/svg');
+
                 foreach (Category::all() as $item) {
                     $this->info('Category: ' . $item->name . ' adding image...');
                     shuffle($images);
@@ -75,6 +77,9 @@ class SeedingImage extends Command
                         ->optimize()
                         ->format('webp');
                     $i->save(storage_path() . '/app/public/categories/optimized-'. $item->bg);
+                    shuffle($svgs);
+                    \File::copy($svgs[0]->getRealPath(),storage_path().'/app/public/categories/' . $svgs[0]->getFilename());
+                    $item->svg = $svgs[0]->getFilename();
                     $item->save();
                 }
                 break;
diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php
index 7b52b21..8b8ca24 100644
--- a/app/Helpers/Helper.php
+++ b/app/Helpers/Helper.php
@@ -1437,7 +1437,7 @@ function cacheNumber()
  * @param $asc
  * @return Category[]|\LaravelIdea\Helper\App\Models\_IH_Category_C
  */
-function getMainCategory($limit=4,$orderBy = 'id', $asc = 'ASC')
+function getMainCategory($limit=4,$orderBy = 'sort', $asc = 'ASC')
 {
     return \App\Models\Category::whereNull('parent_id')->limit($limit)->orderBy($orderBy,$asc)->get();
 }
diff --git a/app/Http/Controllers/Admin/AreaController.php b/app/Http/Controllers/Admin/AreaController.php
index b1868a4..0367d89 100644
--- a/app/Http/Controllers/Admin/AreaController.php
+++ b/app/Http/Controllers/Admin/AreaController.php
@@ -29,11 +29,12 @@ class AreaController extends Controller
             if (File::exists(resource_path() . '/views/segments/' . $seg)) {
                 $dirs = File::directories(resource_path() . '/views/segments/' . $seg);
                 foreach ($dirs as $dir) {
-                    $temp = explode('/', $dir);
+                    $tmp = str_replace(DIRECTORY_SEPARATOR,'/',$dir);
+                    $temp = explode('/', $tmp);
                     $valids[] = [
                         'segment' => $temp[count($temp) - 2],
                         'part' => $temp[count($temp) - 1],
-                        'data' => json_decode(file_get_contents($dir . '/' . $temp[count($temp) - 1] . '.json'), true)
+                        'data' => json_decode(file_get_contents($dir . DIRECTORY_SEPARATOR. $temp[count($temp) - 1] . '.json'), true)
                     ];
                 }
             }
@@ -67,11 +68,12 @@ class AreaController extends Controller
             if (File::exists(resource_path() . '/views/segments/' . $seg)) {
                 $dirs = File::directories(resource_path() . '/views/segments/' . $seg);
                 foreach ($dirs as $dir) {
-                    $temp = explode('/', $dir);
+                    $tmp = str_replace(DIRECTORY_SEPARATOR,'/',$dir);
+                    $temp = explode('/', $tmp);
                     $valids[] = [
                         'segment' => $temp[count($temp) - 2],
                         'part' => $temp[count($temp) - 1],
-                        'data' => json_decode(file_get_contents($dir . '/' . $temp[count($temp) - 1] . '.json'), true)
+                        'data' => json_decode(file_get_contents($dir . DIRECTORY_SEPARATOR. $temp[count($temp) - 1] . '.json'), true)
                     ];
                 }
             }
diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php
index fa74117..e63a15e 100644
--- a/app/Http/Controllers/ClientController.php
+++ b/app/Http/Controllers/ClientController.php
@@ -96,7 +96,8 @@ class ClientController extends Controller
             __('Video clips') => clipsUrl(),
             $clip->title => null,
         ];
-        return view('client.default-list', compact('area', 'clip', 'title', 'subtitle', 'breadcrumb'));
+        $model = $clip;
+        return view('client.default-list', compact('area', 'clip', 'title', 'subtitle', 'breadcrumb','model'));
     }
 
     public function gallery($slug)
@@ -179,7 +180,8 @@ class ClientController extends Controller
             __('Attachments') => attachmentsUrl(),
             $attachment->title => null,
         ];
-        return view('client.default-list', compact('area', 'attachment', 'title', 'subtitle', 'breadcrumb'));
+        $model = $attachment;
+        return view('client.default-list', compact('area', 'attachment', 'title', 'subtitle', 'breadcrumb','model'));
     }
 
     public function tag($slug)
@@ -225,7 +227,9 @@ class ClientController extends Controller
             }
         }
 
-        $comment->parent_id = $request->input('parent_id', null);
+        if ($request->input('parent_id') != '') {
+            $comment->parent_id = $request->input('parent_id', null);
+        }
         $comment->body = $request->input('message');
         $comment->commentable_type = $request->input('commentable_type');
         $comment->commentable_id = $request->input('commentable_id');
diff --git a/app/Models/Setting.php b/app/Models/Setting.php
index 03c9bcb..3185b13 100644
--- a/app/Models/Setting.php
+++ b/app/Models/Setting.php
@@ -13,7 +13,8 @@ class Setting extends Model
     public $translatable = ['value'];
 
     public static $settingTypes = ['TEXT', 'NUMBER', 'LONGTEXT', 'CODE', 'EDITOR',
-        'CATEGORY', 'GROUP', 'CHECKBOX', 'FILE', 'COLOR', 'SELECT', 'MENU', 'LOCATION', 'ICON'];
+        'CATEGORY', 'GROUP', 'CHECKBOX', 'FILE', 'COLOR', 'SELECT', 'MENU', 'LOCATION',
+        'ICON','DATE','DATETIME','TIME'];
 
     public function getData()
     {
diff --git a/composer.json b/composer.json
index 7cc67c9..04f8e99 100644
--- a/composer.json
+++ b/composer.json
@@ -7,6 +7,7 @@
     "require": {
         "php": "^8.2",
         "ext-dom": "*",
+        "ext-zip": "*",
         "carlos-meneses/laravel-mpdf": "^2.1",
         "chillerlan/php-qrcode": "^5.0",
         "dpsoft/mellat": "^1.1",
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 73817ae..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,931 +0,0 @@
-{
-    "name": "xshop2",
-    "lockfileVersion": 3,
-    "requires": true,
-    "packages": {
-        "": {
-            "license": "GPL-3.0-or-later",
-            "dependencies": {
-                "bs5-lightbox": "^1.8.3",
-                "chart.js": "^4.4.3",
-                "leaflet": "^1.9.4",
-                "remixicon": "^4.3.0",
-                "sortablejs": "^1.15.2",
-                "three": "0.150.0",
-                "tiny-slider": "^2.9.4",
-                "vazir-xui": "^1.0.0",
-                "vazirmatn": "^33.0.3",
-                "vue-toast-notification": "^3.1.2",
-                "vuex": "^4.0.2"
-            },
-            "devDependencies": {
-                "@popperjs/core": "^2.11.6",
-                "@vitejs/plugin-vue": "^4.5.0",
-                "axios": "^1.6.4",
-                "bootstrap": "^5.2.3",
-                "laravel-vite-plugin": "^1.0",
-                "sass": "^1.56.1",
-                "vite": "^5.0",
-                "vue": "^3.2.37"
-            }
-        },
-        "node_modules/@babel/parser": {
-            "version": "7.24.5",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz",
-            "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==",
-            "license": "MIT",
-            "bin": {
-                "parser": "bin/babel-parser.js"
-            },
-            "engines": {
-                "node": ">=6.0.0"
-            }
-        },
-        "node_modules/@esbuild/linux-x64": {
-            "version": "0.20.2",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
-            "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "license": "MIT",
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@jridgewell/sourcemap-codec": {
-            "version": "1.4.15",
-            "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-            "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
-            "license": "MIT"
-        },
-        "node_modules/@kurkle/color": {
-            "version": "0.3.2",
-            "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz",
-            "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
-        },
-        "node_modules/@popperjs/core": {
-            "version": "2.11.8",
-            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
-            "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
-            "license": "MIT",
-            "funding": {
-                "type": "opencollective",
-                "url": "https://opencollective.com/popperjs"
-            }
-        },
-        "node_modules/@rollup/rollup-linux-x64-gnu": {
-            "version": "4.17.2",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz",
-            "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "license": "MIT",
-            "optional": true,
-            "os": [
-                "linux"
-            ]
-        },
-        "node_modules/@rollup/rollup-linux-x64-musl": {
-            "version": "4.17.2",
-            "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz",
-            "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "license": "MIT",
-            "optional": true,
-            "os": [
-                "linux"
-            ]
-        },
-        "node_modules/@types/estree": {
-            "version": "1.0.5",
-            "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
-            "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
-            "dev": true,
-            "license": "MIT"
-        },
-        "node_modules/@vitejs/plugin-vue": {
-            "version": "4.6.2",
-            "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
-            "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": "^14.18.0 || >=16.0.0"
-            },
-            "peerDependencies": {
-                "vite": "^4.0.0 || ^5.0.0",
-                "vue": "^3.2.25"
-            }
-        },
-        "node_modules/@vue/compiler-core": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz",
-            "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==",
-            "license": "MIT",
-            "dependencies": {
-                "@babel/parser": "^7.24.4",
-                "@vue/shared": "3.4.26",
-                "entities": "^4.5.0",
-                "estree-walker": "^2.0.2",
-                "source-map-js": "^1.2.0"
-            }
-        },
-        "node_modules/@vue/compiler-dom": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.26.tgz",
-            "integrity": "sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==",
-            "license": "MIT",
-            "dependencies": {
-                "@vue/compiler-core": "3.4.26",
-                "@vue/shared": "3.4.26"
-            }
-        },
-        "node_modules/@vue/compiler-sfc": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.26.tgz",
-            "integrity": "sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==",
-            "license": "MIT",
-            "dependencies": {
-                "@babel/parser": "^7.24.4",
-                "@vue/compiler-core": "3.4.26",
-                "@vue/compiler-dom": "3.4.26",
-                "@vue/compiler-ssr": "3.4.26",
-                "@vue/shared": "3.4.26",
-                "estree-walker": "^2.0.2",
-                "magic-string": "^0.30.10",
-                "postcss": "^8.4.38",
-                "source-map-js": "^1.2.0"
-            }
-        },
-        "node_modules/@vue/compiler-ssr": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.26.tgz",
-            "integrity": "sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==",
-            "license": "MIT",
-            "dependencies": {
-                "@vue/compiler-dom": "3.4.26",
-                "@vue/shared": "3.4.26"
-            }
-        },
-        "node_modules/@vue/devtools-api": {
-            "version": "6.6.3",
-            "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz",
-            "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw=="
-        },
-        "node_modules/@vue/reactivity": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz",
-            "integrity": "sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==",
-            "license": "MIT",
-            "dependencies": {
-                "@vue/shared": "3.4.26"
-            }
-        },
-        "node_modules/@vue/runtime-core": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.26.tgz",
-            "integrity": "sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==",
-            "license": "MIT",
-            "dependencies": {
-                "@vue/reactivity": "3.4.26",
-                "@vue/shared": "3.4.26"
-            }
-        },
-        "node_modules/@vue/runtime-dom": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.26.tgz",
-            "integrity": "sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==",
-            "license": "MIT",
-            "dependencies": {
-                "@vue/runtime-core": "3.4.26",
-                "@vue/shared": "3.4.26",
-                "csstype": "^3.1.3"
-            }
-        },
-        "node_modules/@vue/server-renderer": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.26.tgz",
-            "integrity": "sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==",
-            "license": "MIT",
-            "dependencies": {
-                "@vue/compiler-ssr": "3.4.26",
-                "@vue/shared": "3.4.26"
-            },
-            "peerDependencies": {
-                "vue": "3.4.26"
-            }
-        },
-        "node_modules/@vue/shared": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
-            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==",
-            "license": "MIT"
-        },
-        "node_modules/anymatch": {
-            "version": "3.1.3",
-            "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
-            "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
-            "dev": true,
-            "license": "ISC",
-            "dependencies": {
-                "normalize-path": "^3.0.0",
-                "picomatch": "^2.0.4"
-            },
-            "engines": {
-                "node": ">= 8"
-            }
-        },
-        "node_modules/asynckit": {
-            "version": "0.4.0",
-            "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-            "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
-            "dev": true,
-            "license": "MIT"
-        },
-        "node_modules/axios": {
-            "version": "1.6.8",
-            "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
-            "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "follow-redirects": "^1.15.6",
-                "form-data": "^4.0.0",
-                "proxy-from-env": "^1.1.0"
-            }
-        },
-        "node_modules/binary-extensions": {
-            "version": "2.3.0",
-            "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
-            "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=8"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/sindresorhus"
-            }
-        },
-        "node_modules/bootstrap": {
-            "version": "5.3.3",
-            "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
-            "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
-            "funding": [
-                {
-                    "type": "github",
-                    "url": "https://github.com/sponsors/twbs"
-                },
-                {
-                    "type": "opencollective",
-                    "url": "https://opencollective.com/bootstrap"
-                }
-            ],
-            "license": "MIT",
-            "peerDependencies": {
-                "@popperjs/core": "^2.11.8"
-            }
-        },
-        "node_modules/braces": {
-            "version": "3.0.2",
-            "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-            "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "fill-range": "^7.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/bs5-lightbox": {
-            "version": "1.8.3",
-            "resolved": "https://registry.npmjs.org/bs5-lightbox/-/bs5-lightbox-1.8.3.tgz",
-            "integrity": "sha512-fEIjplDAtWw17vi6dFeu7+Td52sk3qQ9FbOOVSpWM3nqio502vZKIA0Q0De9D9ah44BGd+zOKUsikRPlKE2hFg==",
-            "funding": {
-                "url": "https://github.com/sponsors/trvswgnr"
-            },
-            "peerDependencies": {
-                "bootstrap": "^5.0.0"
-            }
-        },
-        "node_modules/chart.js": {
-            "version": "4.4.4",
-            "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.4.tgz",
-            "integrity": "sha512-emICKGBABnxhMjUjlYRR12PmOXhJ2eJjEHL2/dZlWjxRAZT1D8xplLFq5M0tMQK8ja+wBS/tuVEJB5C6r7VxJA==",
-            "dependencies": {
-                "@kurkle/color": "^0.3.0"
-            },
-            "engines": {
-                "pnpm": ">=8"
-            }
-        },
-        "node_modules/chokidar": {
-            "version": "3.6.0",
-            "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
-            "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "anymatch": "~3.1.2",
-                "braces": "~3.0.2",
-                "glob-parent": "~5.1.2",
-                "is-binary-path": "~2.1.0",
-                "is-glob": "~4.0.1",
-                "normalize-path": "~3.0.0",
-                "readdirp": "~3.6.0"
-            },
-            "engines": {
-                "node": ">= 8.10.0"
-            },
-            "funding": {
-                "url": "https://paulmillr.com/funding/"
-            },
-            "optionalDependencies": {
-                "fsevents": "~2.3.2"
-            }
-        },
-        "node_modules/combined-stream": {
-            "version": "1.0.8",
-            "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
-            "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "delayed-stream": "~1.0.0"
-            },
-            "engines": {
-                "node": ">= 0.8"
-            }
-        },
-        "node_modules/csstype": {
-            "version": "3.1.3",
-            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
-            "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
-            "license": "MIT"
-        },
-        "node_modules/delayed-stream": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-            "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=0.4.0"
-            }
-        },
-        "node_modules/entities": {
-            "version": "4.5.0",
-            "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
-            "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
-            "license": "BSD-2-Clause",
-            "engines": {
-                "node": ">=0.12"
-            },
-            "funding": {
-                "url": "https://github.com/fb55/entities?sponsor=1"
-            }
-        },
-        "node_modules/esbuild": {
-            "version": "0.20.2",
-            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
-            "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
-            "dev": true,
-            "hasInstallScript": true,
-            "license": "MIT",
-            "bin": {
-                "esbuild": "bin/esbuild"
-            },
-            "engines": {
-                "node": ">=12"
-            },
-            "optionalDependencies": {
-                "@esbuild/aix-ppc64": "0.20.2",
-                "@esbuild/android-arm": "0.20.2",
-                "@esbuild/android-arm64": "0.20.2",
-                "@esbuild/android-x64": "0.20.2",
-                "@esbuild/darwin-arm64": "0.20.2",
-                "@esbuild/darwin-x64": "0.20.2",
-                "@esbuild/freebsd-arm64": "0.20.2",
-                "@esbuild/freebsd-x64": "0.20.2",
-                "@esbuild/linux-arm": "0.20.2",
-                "@esbuild/linux-arm64": "0.20.2",
-                "@esbuild/linux-ia32": "0.20.2",
-                "@esbuild/linux-loong64": "0.20.2",
-                "@esbuild/linux-mips64el": "0.20.2",
-                "@esbuild/linux-ppc64": "0.20.2",
-                "@esbuild/linux-riscv64": "0.20.2",
-                "@esbuild/linux-s390x": "0.20.2",
-                "@esbuild/linux-x64": "0.20.2",
-                "@esbuild/netbsd-x64": "0.20.2",
-                "@esbuild/openbsd-x64": "0.20.2",
-                "@esbuild/sunos-x64": "0.20.2",
-                "@esbuild/win32-arm64": "0.20.2",
-                "@esbuild/win32-ia32": "0.20.2",
-                "@esbuild/win32-x64": "0.20.2"
-            }
-        },
-        "node_modules/estree-walker": {
-            "version": "2.0.2",
-            "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
-            "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
-            "license": "MIT"
-        },
-        "node_modules/fill-range": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-            "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "to-regex-range": "^5.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/follow-redirects": {
-            "version": "1.15.6",
-            "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
-            "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
-            "dev": true,
-            "funding": [
-                {
-                    "type": "individual",
-                    "url": "https://github.com/sponsors/RubenVerborgh"
-                }
-            ],
-            "license": "MIT",
-            "engines": {
-                "node": ">=4.0"
-            },
-            "peerDependenciesMeta": {
-                "debug": {
-                    "optional": true
-                }
-            }
-        },
-        "node_modules/form-data": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
-            "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "asynckit": "^0.4.0",
-                "combined-stream": "^1.0.8",
-                "mime-types": "^2.1.12"
-            },
-            "engines": {
-                "node": ">= 6"
-            }
-        },
-        "node_modules/glob-parent": {
-            "version": "5.1.2",
-            "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-            "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-            "dev": true,
-            "license": "ISC",
-            "dependencies": {
-                "is-glob": "^4.0.1"
-            },
-            "engines": {
-                "node": ">= 6"
-            }
-        },
-        "node_modules/immutable": {
-            "version": "4.3.5",
-            "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz",
-            "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
-            "dev": true,
-            "license": "MIT"
-        },
-        "node_modules/is-binary-path": {
-            "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-            "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "binary-extensions": "^2.0.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/is-extglob": {
-            "version": "2.1.1",
-            "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-            "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=0.10.0"
-            }
-        },
-        "node_modules/is-glob": {
-            "version": "4.0.3",
-            "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
-            "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "is-extglob": "^2.1.1"
-            },
-            "engines": {
-                "node": ">=0.10.0"
-            }
-        },
-        "node_modules/is-number": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-            "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=0.12.0"
-            }
-        },
-        "node_modules/laravel-vite-plugin": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.0.2.tgz",
-            "integrity": "sha512-Mcclml10khYzBVxDwJro8wnVDwD4i7XOSEMACQNnarvTnHjrjXLLL+B/Snif2wYAyElsOqagJZ7VAinb/2vF5g==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "picocolors": "^1.0.0",
-                "vite-plugin-full-reload": "^1.1.0"
-            },
-            "bin": {
-                "clean-orphaned-assets": "bin/clean.js"
-            },
-            "engines": {
-                "node": "^18.0.0 || >=20.0.0"
-            },
-            "peerDependencies": {
-                "vite": "^5.0.0"
-            }
-        },
-        "node_modules/leaflet": {
-            "version": "1.9.4",
-            "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz",
-            "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA=="
-        },
-        "node_modules/magic-string": {
-            "version": "0.30.10",
-            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
-            "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
-            "license": "MIT",
-            "dependencies": {
-                "@jridgewell/sourcemap-codec": "^1.4.15"
-            }
-        },
-        "node_modules/mime-db": {
-            "version": "1.52.0",
-            "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
-            "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">= 0.6"
-            }
-        },
-        "node_modules/mime-types": {
-            "version": "2.1.35",
-            "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
-            "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "mime-db": "1.52.0"
-            },
-            "engines": {
-                "node": ">= 0.6"
-            }
-        },
-        "node_modules/nanoid": {
-            "version": "3.3.7",
-            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
-            "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
-            "funding": [
-                {
-                    "type": "github",
-                    "url": "https://github.com/sponsors/ai"
-                }
-            ],
-            "license": "MIT",
-            "bin": {
-                "nanoid": "bin/nanoid.cjs"
-            },
-            "engines": {
-                "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
-            }
-        },
-        "node_modules/normalize-path": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-            "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=0.10.0"
-            }
-        },
-        "node_modules/picocolors": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-            "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
-            "license": "ISC"
-        },
-        "node_modules/picomatch": {
-            "version": "2.3.1",
-            "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
-            "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=8.6"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/jonschlinkert"
-            }
-        },
-        "node_modules/postcss": {
-            "version": "8.4.38",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
-            "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
-            "funding": [
-                {
-                    "type": "opencollective",
-                    "url": "https://opencollective.com/postcss/"
-                },
-                {
-                    "type": "tidelift",
-                    "url": "https://tidelift.com/funding/github/npm/postcss"
-                },
-                {
-                    "type": "github",
-                    "url": "https://github.com/sponsors/ai"
-                }
-            ],
-            "license": "MIT",
-            "dependencies": {
-                "nanoid": "^3.3.7",
-                "picocolors": "^1.0.0",
-                "source-map-js": "^1.2.0"
-            },
-            "engines": {
-                "node": "^10 || ^12 || >=14"
-            }
-        },
-        "node_modules/proxy-from-env": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
-            "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
-            "dev": true,
-            "license": "MIT"
-        },
-        "node_modules/readdirp": {
-            "version": "3.6.0",
-            "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
-            "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "picomatch": "^2.2.1"
-            },
-            "engines": {
-                "node": ">=8.10.0"
-            }
-        },
-        "node_modules/remixicon": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/remixicon/-/remixicon-4.3.0.tgz",
-            "integrity": "sha512-jRYQ37dTFSkJtvcxwTUAkIiXkYRvA9EDvVuXPNrmt2xf/VS//CRgFtsX2TAFBoQOhh9SDh7l6La4Xu12snEyxg=="
-        },
-        "node_modules/rollup": {
-            "version": "4.17.2",
-            "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz",
-            "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "@types/estree": "1.0.5"
-            },
-            "bin": {
-                "rollup": "dist/bin/rollup"
-            },
-            "engines": {
-                "node": ">=18.0.0",
-                "npm": ">=8.0.0"
-            },
-            "optionalDependencies": {
-                "@rollup/rollup-android-arm-eabi": "4.17.2",
-                "@rollup/rollup-android-arm64": "4.17.2",
-                "@rollup/rollup-darwin-arm64": "4.17.2",
-                "@rollup/rollup-darwin-x64": "4.17.2",
-                "@rollup/rollup-linux-arm-gnueabihf": "4.17.2",
-                "@rollup/rollup-linux-arm-musleabihf": "4.17.2",
-                "@rollup/rollup-linux-arm64-gnu": "4.17.2",
-                "@rollup/rollup-linux-arm64-musl": "4.17.2",
-                "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2",
-                "@rollup/rollup-linux-riscv64-gnu": "4.17.2",
-                "@rollup/rollup-linux-s390x-gnu": "4.17.2",
-                "@rollup/rollup-linux-x64-gnu": "4.17.2",
-                "@rollup/rollup-linux-x64-musl": "4.17.2",
-                "@rollup/rollup-win32-arm64-msvc": "4.17.2",
-                "@rollup/rollup-win32-ia32-msvc": "4.17.2",
-                "@rollup/rollup-win32-x64-msvc": "4.17.2",
-                "fsevents": "~2.3.2"
-            }
-        },
-        "node_modules/sass": {
-            "version": "1.76.0",
-            "resolved": "https://registry.npmjs.org/sass/-/sass-1.76.0.tgz",
-            "integrity": "sha512-nc3LeqvF2FNW5xGF1zxZifdW3ffIz5aBb7I7tSvOoNu7z1RQ6pFt9MBuiPtjgaI62YWrM/txjWlOCFiGtf2xpw==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "chokidar": ">=3.0.0 <4.0.0",
-                "immutable": "^4.0.0",
-                "source-map-js": ">=0.6.2 <2.0.0"
-            },
-            "bin": {
-                "sass": "sass.js"
-            },
-            "engines": {
-                "node": ">=14.0.0"
-            }
-        },
-        "node_modules/sortablejs": {
-            "version": "1.15.2",
-            "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.2.tgz",
-            "integrity": "sha512-FJF5jgdfvoKn1MAKSdGs33bIqLi3LmsgVTliuX6iITj834F+JRQZN90Z93yql8h0K2t0RwDPBmxwlbZfDcxNZA=="
-        },
-        "node_modules/source-map-js": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
-            "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
-            "license": "BSD-3-Clause",
-            "engines": {
-                "node": ">=0.10.0"
-            }
-        },
-        "node_modules/three": {
-            "version": "0.150.0",
-            "resolved": "https://registry.npmjs.org/three/-/three-0.150.0.tgz",
-            "integrity": "sha512-12oqqBZom9fb5HtX3rD8qPVnamojuiN5Os7r0x8s3HQ+WHRwnEyzl2XU3aEKocsDkG++rkE9+HWzx77O59NXtw==",
-            "license": "MIT"
-        },
-        "node_modules/tiny-slider": {
-            "version": "2.9.4",
-            "resolved": "https://registry.npmjs.org/tiny-slider/-/tiny-slider-2.9.4.tgz",
-            "integrity": "sha512-LAs2kldWcY+BqCKw4kxd4CMx2RhWrHyEePEsymlOIISTlOVkjfK40sSD7ay73eKXBLg/UkluAZpcfCstimHXew=="
-        },
-        "node_modules/to-regex-range": {
-            "version": "5.0.1",
-            "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-            "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "is-number": "^7.0.0"
-            },
-            "engines": {
-                "node": ">=8.0"
-            }
-        },
-        "node_modules/vazir-xui": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/vazir-xui/-/vazir-xui-1.0.0.tgz",
-            "integrity": "sha512-kvQ+cJgDBVv05pyXvrZeK+f96btLYMzurFm6VPvZbbQ7NbvGrOnIbYZO4ifqPN6YpkPdusJNXeNArXmbGM9rzA=="
-        },
-        "node_modules/vazirmatn": {
-            "version": "33.0.3",
-            "resolved": "https://registry.npmjs.org/vazirmatn/-/vazirmatn-33.0.3.tgz",
-            "integrity": "sha512-fbjNc0CMjazZpIegWzz9OHGzI1APFboT+x7ZecXlUCtDe/nkyx7gtCTZnWS/+eeXG7fbfXymCPKJI8EsnM3iqw=="
-        },
-        "node_modules/vite": {
-            "version": "5.2.11",
-            "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz",
-            "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "esbuild": "^0.20.1",
-                "postcss": "^8.4.38",
-                "rollup": "^4.13.0"
-            },
-            "bin": {
-                "vite": "bin/vite.js"
-            },
-            "engines": {
-                "node": "^18.0.0 || >=20.0.0"
-            },
-            "funding": {
-                "url": "https://github.com/vitejs/vite?sponsor=1"
-            },
-            "optionalDependencies": {
-                "fsevents": "~2.3.3"
-            },
-            "peerDependencies": {
-                "@types/node": "^18.0.0 || >=20.0.0",
-                "less": "*",
-                "lightningcss": "^1.21.0",
-                "sass": "*",
-                "stylus": "*",
-                "sugarss": "*",
-                "terser": "^5.4.0"
-            },
-            "peerDependenciesMeta": {
-                "@types/node": {
-                    "optional": true
-                },
-                "less": {
-                    "optional": true
-                },
-                "lightningcss": {
-                    "optional": true
-                },
-                "sass": {
-                    "optional": true
-                },
-                "stylus": {
-                    "optional": true
-                },
-                "sugarss": {
-                    "optional": true
-                },
-                "terser": {
-                    "optional": true
-                }
-            }
-        },
-        "node_modules/vite-plugin-full-reload": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.1.0.tgz",
-            "integrity": "sha512-3cObNDzX6DdfhD9E7kf6w2mNunFpD7drxyNgHLw+XwIYAgb+Xt16SEXo0Up4VH+TMf3n+DSVJZtW2POBGcBYAA==",
-            "dev": true,
-            "license": "MIT",
-            "dependencies": {
-                "picocolors": "^1.0.0",
-                "picomatch": "^2.3.1"
-            }
-        },
-        "node_modules/vue": {
-            "version": "3.4.26",
-            "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.26.tgz",
-            "integrity": "sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==",
-            "license": "MIT",
-            "dependencies": {
-                "@vue/compiler-dom": "3.4.26",
-                "@vue/compiler-sfc": "3.4.26",
-                "@vue/runtime-dom": "3.4.26",
-                "@vue/server-renderer": "3.4.26",
-                "@vue/shared": "3.4.26"
-            },
-            "peerDependencies": {
-                "typescript": "*"
-            },
-            "peerDependenciesMeta": {
-                "typescript": {
-                    "optional": true
-                }
-            }
-        },
-        "node_modules/vue-toast-notification": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npmjs.org/vue-toast-notification/-/vue-toast-notification-3.1.2.tgz",
-            "integrity": "sha512-oNRL/W9aaHoeScp+iTIW7k09vM16/+8aptp2maa+7qTB43JuxmAgKdXKFYtf+uvSNOYYq2BIWgLCeJ61pwom/A==",
-            "engines": {
-                "node": ">=12.15.0"
-            },
-            "peerDependencies": {
-                "vue": "^3.0"
-            }
-        },
-        "node_modules/vuex": {
-            "version": "4.1.0",
-            "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz",
-            "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==",
-            "dependencies": {
-                "@vue/devtools-api": "^6.0.0-beta.11"
-            },
-            "peerDependencies": {
-                "vue": "^3.2.0"
-            }
-        }
-    }
-}
diff --git a/resources/js/app.js b/resources/js/app.js
index 1b7a562..0a3180f 100644
--- a/resources/js/app.js
+++ b/resources/js/app.js
@@ -118,6 +118,10 @@ app.component('lat-lng', Latlng);
 import MenuItemInput from "./components/MenuItemInput.vue";
 app.component('menu-item-input', MenuItemInput);
 
+
+import VueTimepicker from "./components/vueTimePicker.vue";
+app.component('vue-time-picker', VueTimepicker);
+
 /**
  * The following block of code may be used to automatically register your
  * Vue components. It will recursively scan this directory for the Vue
diff --git a/resources/js/components/vueDateTimePicker.vue b/resources/js/components/vueDateTimePicker.vue
index d1ef618..787b635 100644
--- a/resources/js/components/vueDateTimePicker.vue
+++ b/resources/js/components/vueDateTimePicker.vue
@@ -395,9 +395,9 @@ export default {
         // get input class
         getClass: function () {
             if (this.err == true || (typeof this.err == 'String' && this.err.trim() == '1')) {
-                return 'form-control is-invalid ' + this.customClass;
+                return 'form-control is-invalid text-center' + this.customClass;
             }
-            return 'form-control ' + this.customClass;
+            return 'form-control text-center ' + this.customClass;
         },
         /*
          * make array of this month days [gregorian]
diff --git a/resources/lang/fa.json b/resources/lang/fa.json
index a2021ce..eaaf2f3 100644
--- a/resources/lang/fa.json
+++ b/resources/lang/fa.json
@@ -345,6 +345,7 @@
     "Needs Improvement": "نیازمند بهینه‌تر شدن",
     "Next": "بعدی",
     "No parent": "بدون والد",
+    "Not available": "نا موجود",
     "Not required": "غیر ضرروری",
     "Order removed successfully": "سفارش با موفقیت حذف شد",
     "Orders": "سفارشاات",
diff --git a/resources/sass/client-custom/_zfix.scss b/resources/sass/client-custom/_zfix.scss
index 0d26364..46e8a6c 100644
--- a/resources/sass/client-custom/_zfix.scss
+++ b/resources/sass/client-custom/_zfix.scss
@@ -146,3 +146,7 @@ ul.pagination {
 .accordion-button:not(.collapsed){
     background: transparent;
 }
+
+.btn-outline-light:hover{
+    color: black !important;
+}
diff --git a/resources/views/admin/advs/adv-form.blade.php b/resources/views/admin/advs/adv-form.blade.php
index 2a6455b..b4e8447 100644
--- a/resources/views/admin/advs/adv-form.blade.php
+++ b/resources/views/admin/advs/adv-form.blade.php
@@ -105,7 +105,7 @@
                         </label>
 {{--  WIP for lang change def tab--}}
                         <vue-datetime-picker-input :xmin="{{strtotime('yesterday')}}"
-                        xid="dp" xname="expire" xshow="date" xtitle="Expire date" def-tab="1"
+                        xid="dp" xname="expire" xtitle="Expire date"  @if(app()->getLocale() != 'fa')  def-tab="1" xshow="date"  @else xshow="pdate"  @endif
                         @if(isset($item)) :xvalue="{{strtotime($item->expire)}}" @endif
                         ></vue-datetime-picker-input>
                     </div>
diff --git a/resources/views/admin/customers/customer-form.blade.php b/resources/views/admin/customers/customer-form.blade.php
index 7d4fe59..fcdee2a 100644
--- a/resources/views/admin/customers/customer-form.blade.php
+++ b/resources/views/admin/customers/customer-form.blade.php
@@ -104,7 +104,7 @@
                             </label>
                             <vue-datetime-picker-input
                                 :xmax="{{strtotime('yesterday')}}"
-                                xid="dp" xname="dob" xshow="pdate" xtitle="{{__("Date of born")}}" def-tab="0"
+                                xid="dp" xname="dob"  xtitle="{{__("Date of born")}}"  @if(app()->getLocale() != 'fa')  def-tab="1" xshow="date"  @else xshow="pdate"  @endif
                                 @if(isset($item)) :xvalue="{{strtotime($item->dob)}}" @endif
                                 :timepicker="false"
                             ></vue-datetime-picker-input>
diff --git a/resources/views/admin/discounts/discount-form.blade.php b/resources/views/admin/discounts/discount-form.blade.php
index 5961bcc..802c0a3 100644
--- a/resources/views/admin/discounts/discount-form.blade.php
+++ b/resources/views/admin/discounts/discount-form.blade.php
@@ -44,7 +44,7 @@
                             </label>
                             <vue-datetime-picker-input
                                 :xmin="{{strtotime('yesterday')}}"
-                                xid="dp" xname="expire" xshow="datetime" xtitle="Expire date" def-tab="1"
+                                xid="dp" xname="expire" xtitle="Expire date"  @if(app()->getLocale() != 'fa')  def-tab="1" xshow="datetime"  @else xshow="pdatetime"  @endif
                                 @if(isset($item)) :xvalue="{{strtotime($item->expire)}}" @endif
                                 :timepicker="true"
                             ></vue-datetime-picker-input>
diff --git a/resources/views/client/default-list.blade.php b/resources/views/client/default-list.blade.php
index b4f2500..8995ba4 100644
--- a/resources/views/client/default-list.blade.php
+++ b/resources/views/client/default-list.blade.php
@@ -12,7 +12,7 @@
             @endforeach
         @endif
         @foreach(getParts($area) as $part)
-            @php($p = $part->getBladeWithData())
+            @php($p = $part->getBladeWithData($model??null))
             @include($p['blade'],['data' => $p['data']])
         @endforeach
         @if(findArea($area)->use_default)
diff --git a/resources/views/client/gallery.blade.php b/resources/views/client/gallery.blade.php
index 43f7a64..c9144db 100644
--- a/resources/views/client/gallery.blade.php
+++ b/resources/views/client/gallery.blade.php
@@ -12,7 +12,7 @@
             @endforeach
         @endif
         @foreach(getParts($area) as $part)
-            @php($p = $part->getBladeWithData())
+            @php($p = $part->getBladeWithData($gallery))
             @include($p['blade'],['data' => $p['data']])
         @endforeach
         @if(findArea($area)->use_default)
diff --git a/resources/views/client/post.blade.php b/resources/views/client/post.blade.php
index 13cd00c..c579694 100644
--- a/resources/views/client/post.blade.php
+++ b/resources/views/client/post.blade.php
@@ -11,7 +11,7 @@
         @endforeach
     @endif
     @foreach(getParts($area,$post) as $part)
-        @php($p = $part->getBladeWithData())
+        @php($p = $part->getBladeWithData($post))
         @include($p['blade'],['data' => $p['data']])
     @endforeach
     @if(findArea($area,$post)->use_default)
diff --git a/resources/views/client/product.blade.php b/resources/views/client/product.blade.php
index de4f0a0..c60dc0a 100644
--- a/resources/views/client/product.blade.php
+++ b/resources/views/client/product.blade.php
@@ -12,7 +12,7 @@
             @endforeach
         @endif
         @foreach(getParts($area,$product) as $part)
-            @php($p = $part->getBladeWithData())
+            @php($p = $part->getBladeWithData($product))
             @include($p['blade'],['data' => $p['data']])
         @endforeach
         @if(findArea($area,$product)->use_default)
diff --git a/resources/views/components/setting-field.blade.php b/resources/views/components/setting-field.blade.php
index 3305c5b..674a696 100644
--- a/resources/views/components/setting-field.blade.php
+++ b/resources/views/components/setting-field.blade.php
@@ -22,6 +22,26 @@
                       class="form-control"
                       rows="5">{{old($setting->key, $setting->value)}}</textarea>
             @break
+        @case('TIME')
+            <vue-time-picker :am-pm="false"
+                             xid="{{$setting->key}}"
+                             xname="{{$setting->key}}"
+                             :xvalue="{{$setting->value}}"
+                             xtitle="{{$setting->title}}"></vue-time-picker>
+            @break
+        @case('DATE')
+            <vue-datetime-picker-input
+                xid="{{$setting->key}}" xname="{{$setting->key}}"  @if(app()->getLocale() == 'fa')  xshow="pdate" @else xshow="date" @endif  xtitle="{{$setting->title}}" @if(app()->getLocale() != 'fa')  def-tab="1" @endif
+            :xvalue="{{$setting->value}}"
+            ></vue-datetime-picker-input>
+            @break
+        @case('DATETIME')
+            <vue-datetime-picker-input
+                xid="{{$setting->key}}" xname="{{$setting->key}}"  @if(app()->getLocale() == 'fa')  xshow="pdatetime" @else xshow="datetime" @endif  xtitle="{{$setting->title}}" @if(app()->getLocale() != 'fa')  def-tab="1" @endif
+            :xvalue="{{$setting->value}}"
+                :timepicker="true"
+            ></vue-datetime-picker-input>
+            @break
         @case('ICON')
             <remix-icon-picker xname="{{$setting->key}}" xvalue="{{old($setting->key, $setting->value)}}"></remix-icon-picker>
             @break
diff --git a/resources/views/segments/categories/CurveCategories/CurveCategories.blade.php b/resources/views/segments/categories/CurveCategories/CurveCategories.blade.php
new file mode 100644
index 0000000..b2301b2
--- /dev/null
+++ b/resources/views/segments/categories/CurveCategories/CurveCategories.blade.php
@@ -0,0 +1,42 @@
+<section id='CurveCategories'>
+
+
+    <div id="curve-cat-top">
+
+    </div>
+    <div>
+        {{--        class="{{gfx()['container']}}"--}}
+
+        <h1 class="text-center">
+            {{getSetting($part->area_name . '_' . $part->part.'_title')}}
+        </h1>
+        <div id="curve-slider-cat-container">
+
+            <div id="crc-nxt" class="sld-btn">
+                <i class="ri-arrow-right-line"></i>
+            </div>
+            <div id="crc-prv" class="sld-btn">
+                <i class="ri-arrow-left-line"></i>
+            </div>
+
+            <div id="curve-slider-cat">
+                @foreach(getCategorySubCatsBySetting($part->area_name . '_' . $part->part.'_category') as $cat)
+                    <div class="item slider-content">
+                        <div class="curve-cat-item">
+                            <a href="{{$cat->webUrl()}}">
+                                <img src="{{$cat->imgUrl()}}" alt="{{$cat->name}}">
+                                <h4>
+                                    {{$cat->name}}
+                                </h4>
+                            </a>
+                        </div>
+                    </div>
+                @endforeach
+            </div>
+        </div>
+    </div>
+
+    <div id="curve-cat-bottom">
+
+    </div>
+</section>
diff --git a/resources/views/segments/categories/CurveCategories/CurveCategories.js b/resources/views/segments/categories/CurveCategories/CurveCategories.js
new file mode 100644
index 0000000..19e707c
--- /dev/null
+++ b/resources/views/segments/categories/CurveCategories/CurveCategories.js
@@ -0,0 +1,52 @@
+import {tns} from "tiny-slider/src/tiny-slider";
+
+var curveCatSlider ;
+
+document.addEventListener('DOMContentLoaded', () => {
+    document.querySelectorAll('#curve-slider-cat')?.forEach(function (el) {
+        if (el.classList.contains('.tns-slider')){
+            console.log('ignore');
+            return 'ignore';
+        }
+        curveCatSlider = tns({
+            container: el,
+            responsive:{
+                560:{
+                    items: 1.5,
+                },
+                1000:{
+                    items: 3.5,
+                },
+                1400:{
+                    items: 5.5,
+                },
+
+            },
+            // edgePadding: 50,
+            autoplay: true,
+            autoplayButton: false,
+            mouseDrag: true,
+            prevButton: false,
+            nextButton: false,
+            autoplayTimeout: 8000,
+            center: true,
+            nav: true,
+            loop:true,
+        });
+    });
+    //
+    document.querySelector('#crc-nxt')?.addEventListener('click',function () {
+        if (document.documentElement.getAttribute('dir') === 'rtl'){
+            curveCatSlider.goTo('prev');
+        }else{
+            curveCatSlider.goTo('next');
+        }
+    });
+    document.querySelector('#crc-prv')?.addEventListener('click',function () {
+        if (document.documentElement.getAttribute('dir') !== 'rtl'){
+            curveCatSlider.goTo('prev');
+        }else{
+            curveCatSlider.goTo('next');
+        }
+    });
+});
diff --git a/resources/views/segments/categories/CurveCategories/CurveCategories.json b/resources/views/segments/categories/CurveCategories/CurveCategories.json
new file mode 100644
index 0000000..24bdfb5
--- /dev/null
+++ b/resources/views/segments/categories/CurveCategories/CurveCategories.json
@@ -0,0 +1,10 @@
+{
+    "name": "CurveCategories",
+    "version": "1.0",
+    "author": "xStack",
+    "email": "xshop@xstack.ir",
+    "license": "GPL-3.0-or-later",
+    "url": "https:\/\/xstack.ir",
+    "author_url": "https:\/\/4xmen.ir",
+    "packages": []
+}
\ No newline at end of file
diff --git a/resources/views/segments/categories/CurveCategories/CurveCategories.php b/resources/views/segments/categories/CurveCategories/CurveCategories.php
new file mode 100644
index 0000000..17e1d98
--- /dev/null
+++ b/resources/views/segments/categories/CurveCategories/CurveCategories.php
@@ -0,0 +1,56 @@
+<?php
+
+namespace Resources\Views\Segments;
+
+use App\Models\Category;
+use App\Models\Part;
+use App\Models\Setting;
+
+class CurveCategories
+{
+    public static function onAdd(Part $part = null)
+    {
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_title';
+        $setting->value = 'Lorem ipsum dolor sit amet';
+        $setting->type = 'TEXT';
+        $setting->size = 4;
+        $setting->title =  $part->area_name . ' ' . $part->part .' titles';
+        $setting->save();
+
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_category';
+        $setting->value = Category::first()->id;
+        $setting->type = 'CATEGORY';
+        $setting->size = 4;
+        $setting->title =  $part->area_name . ' ' . $part->part .' category';
+        $setting->save();
+
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_bg';
+        $setting->value = gfx()['secondary'];
+        $setting->type = 'COLOR';
+        $setting->data = json_encode(['name' => 'curve-slider-bg']);
+        $setting->size = 4;
+        $setting->title =  $part->area_name . ' ' . $part->part .' background color';
+        $setting->save();
+
+
+
+    }
+    public static function onRemove(Part $part = null)
+    {
+        Setting::where('key',$part->area_name . '_' . $part->part.'_title')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'_category')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'bg')->first()?->delete();
+    }
+    public static function onMount(Part $part = null)
+    {
+        return $part;
+    }
+}
diff --git a/resources/views/segments/categories/CurveCategories/CurveCategories.scss b/resources/views/segments/categories/CurveCategories/CurveCategories.scss
new file mode 100644
index 0000000..180f17e
--- /dev/null
+++ b/resources/views/segments/categories/CurveCategories/CurveCategories.scss
@@ -0,0 +1,171 @@
+#CurveCategories {
+    position: relative;
+    background: var(--curve-slider-bg);
+
+
+    h1{
+        position: relative;
+        z-index: 33;
+        margin-bottom: 1rem;
+        font-size: 30px;
+        font-weight: 300;
+    }
+    #curve-cat-top, #curve-cat-bottom {
+        height: 10rem;
+        position: relative;
+        background: transparent;
+        overflow: hidden;
+
+    }
+
+    #curve-cat-top {
+
+        margin-bottom: -4.5rem;
+
+        z-index: 15;
+
+        &:before {
+            content: " ";
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            width: 100%;
+            height: 700%;
+            background: var(--xshop-background);
+            border-radius: 50%;
+            transform: scaleX(1.75);
+        }
+
+    }
+
+    #curve-cat-bottom {
+        margin-top: -2.5rem;
+        z-index: 10;
+
+        &:before {
+            content: " ";
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 100%;
+            height: 700%;
+            background: var(--xshop-background);
+            border-radius: 50%;
+            transform: scaleX(1.75);
+        }
+    }
+
+    #curve-slider-cat-container {
+        height: 35vh;
+
+        #curve-slider-cat{
+            //width: 100vw;
+            //left: 0;
+            //right: 0;
+        }
+
+        .slider-content {
+            transform: translateX(25%);
+        }
+
+        &:before, &:after {
+            content: ' ';
+            position: absolute;
+            top: 0;
+            bottom: 0;
+            width: 45%;
+            z-index: 9;
+            pointer-events: none;
+        }
+
+        &:before {
+            background: linear-gradient(90deg, var(--curve-slider-bg) 20%, rgba(0, 0, 0, 0) 100%);
+            left: 0;
+        }
+
+        &:after {
+            background: linear-gradient(-90deg, var(--curve-slider-bg) 20%, rgba(0, 0, 0, 0) 100%);
+            right: 0;
+        }
+
+
+        .sld-btn,.tns-nav{
+            z-index: 70;
+            position: absolute;
+            top: 75%;
+            cursor: pointer;
+            i{
+                font-size: 35px;
+            }
+        }
+
+        #crc-nxt{
+            right:calc(50% - 100px);
+            transform: translateX(-50%);
+        }
+        #crc-prv{
+            left:calc(50% - 100px);
+            transform: translateX(50%);
+        }
+
+        .tns-nav{
+            display: flex !important;
+            width: 150px;
+            left:calc(50% - 75px);
+            height: 50px;
+
+            align-items: center;
+            justify-content: space-evenly;
+            button{
+                display: inline-block;
+                margin: 3px;
+                width: 10px;
+                height: 10px;
+                border-radius: var(--xshop-border-radius);
+                background: #00000044;
+                border: 0;
+            }
+
+            .tns-nav-active{
+
+                background: var(--xshop-primary);
+            }
+        }
+    }
+
+    .curve-cat-item {
+        height: 35vh;
+        position: relative;
+        img {
+            height: 100%;
+            width: 100%;
+            object-fit: cover;
+        }
+
+        h4{
+            position: absolute;
+            bottom: 45%;
+            left: 0;
+            right: 0;
+            width: 100%;
+            text-align: center;
+            z-index: 33;
+            background: var(--xshop-background);
+            padding: .5rem;
+            transition: 300ms;
+            font-weight: 400;
+            opacity: 0;
+        }
+
+        &:hover{
+            h4{
+                opacity: 1;
+            }
+        }
+
+
+
+    }
+
+
+}
diff --git a/resources/views/segments/categories/CurveCategories/screenshot.png b/resources/views/segments/categories/CurveCategories/screenshot.png
new file mode 100644
index 0000000..c715a5f
Binary files /dev/null and b/resources/views/segments/categories/CurveCategories/screenshot.png differ
diff --git a/resources/views/segments/customer/AvisaCustomer/AvisaCustomer.blade.php b/resources/views/segments/customer/AvisaCustomer/AvisaCustomer.blade.php
index a7baa6f..05b79c2 100644
--- a/resources/views/segments/customer/AvisaCustomer/AvisaCustomer.blade.php
+++ b/resources/views/segments/customer/AvisaCustomer/AvisaCustomer.blade.php
@@ -287,7 +287,8 @@
                                     </label>
                                     <vue-datetime-picker-input
                                         :xmax="{{strtotime('yesterday')}}"
-                                        xid="dp" xname="dob" xshow="pdate" xtitle="{{__("Date of born")}}" def-tab="0"
+                                        xid="dp" xname="dob" xtitle="{{__("Date of born")}}"
+                                        @if(app()->getLocale() != 'fa')  def-tab="1" xshow="date"  @else xshow="pdate"  @endif
                                         :xvalue="{{strtotime(auth('customer')->user()->dob)}}"
                                         :timepicker="false"
                                     ></vue-datetime-picker-input>
diff --git a/resources/views/segments/default-assets/circle-3d-minify.svg b/resources/views/segments/default-assets/circle-3d-minify.svg
new file mode 100644
index 0000000..5ce409d
--- /dev/null
+++ b/resources/views/segments/default-assets/circle-3d-minify.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="450" height="90"><path fill="none" stroke="#c5c6c6" d="M31 41c0 19.33 85.066 35 190 35s190-15.67 190-35c0-12.933-38.08-24.228-94.713-30.287"/><circle cx="31.118" cy="42.094" r="12.362" style="fill:none;fill-opacity:.998931;stroke:#c5c6c6;stroke-width:.69;stroke-dasharray:none;stroke-opacity:1"/><circle cx="31.204" cy="42.323" r="4.242" style="fill:maroon;fill-opacity:.998931;stroke:none;stroke-width:.69;stroke-dasharray:none;stroke-opacity:1"/><circle cx="86.201" cy="65.349" r="2.638" style="fill:#ccc;fill-opacity:.998931;stroke:none;stroke-width:.429084;stroke-dasharray:none;stroke-opacity:1"/><circle cx="142.481" cy="72.624" r="2.638" style="fill:#ccc;fill-opacity:.998931;stroke:none;stroke-width:.429084;stroke-dasharray:none;stroke-opacity:1"/><circle cx="214.078" cy="75.719" r="2.638" style="fill:#ccc;fill-opacity:.998931;stroke:none;stroke-width:.429084;stroke-dasharray:none;stroke-opacity:1"/><circle cx="283.972" cy="74.022" r="2.638" style="fill:#ccc;fill-opacity:.998931;stroke:none;stroke-width:.429084;stroke-dasharray:none;stroke-opacity:1"/><circle cx="349.739" cy="66.418" r="2.638" style="fill:#ccc;fill-opacity:.998931;stroke:none;stroke-width:.429084;stroke-dasharray:none;stroke-opacity:1"/><circle cx="394.632" cy="26.596" r="2.638" style="fill:#ccc;fill-opacity:.998931;stroke:none;stroke-width:.429084;stroke-dasharray:none;stroke-opacity:1"/><circle cx="315.84" cy="9.743" r="2.638" style="fill:#ccc;fill-opacity:.998931;stroke:none;stroke-width:.429084;stroke-dasharray:none;stroke-opacity:1"/></svg>
\ No newline at end of file
diff --git a/resources/views/segments/default-assets/hodhod.png b/resources/views/segments/default-assets/hodhod.png
new file mode 100644
index 0000000..8519082
Binary files /dev/null and b/resources/views/segments/default-assets/hodhod.png differ
diff --git a/resources/views/segments/default-assets/smoke.webp b/resources/views/segments/default-assets/smoke.webp
new file mode 100644
index 0000000..aa27ef5
Binary files /dev/null and b/resources/views/segments/default-assets/smoke.webp differ
diff --git a/resources/views/segments/header/HodHeader/HodHeader.blade.php b/resources/views/segments/header/HodHeader/HodHeader.blade.php
new file mode 100644
index 0000000..72e1718
--- /dev/null
+++ b/resources/views/segments/header/HodHeader/HodHeader.blade.php
@@ -0,0 +1,19 @@
+<section class='HodHeader'>
+    <div class="{{gfx()['container']}}">
+        <div class="row">
+            <div class="col-md">
+                <h1>
+                    {{$title}}
+                </h1>
+                <h2>
+                    {{$subtitle}}
+                </h2>
+            </div>
+            <div class="col-md-3 text-end">
+                <div id="hod-logo">
+                <img src="{{asset('upload/images/logo.png')}}" alt="logo" >
+                </div>
+            </div>
+        </div>
+    </div>
+</section>
diff --git a/resources/views/segments/header/HodHeader/HodHeader.js b/resources/views/segments/header/HodHeader/HodHeader.js
new file mode 100644
index 0000000..e69de29
diff --git a/resources/views/segments/header/HodHeader/HodHeader.json b/resources/views/segments/header/HodHeader/HodHeader.json
new file mode 100644
index 0000000..e23cb23
--- /dev/null
+++ b/resources/views/segments/header/HodHeader/HodHeader.json
@@ -0,0 +1,10 @@
+{
+    "name": "HodHeader",
+    "version": "1.0",
+    "author": "xStack",
+    "email": "xshop@xstack.ir",
+    "license": "GPL-3.0-or-later",
+    "url": "https:\/\/xstack.ir",
+    "author_url": "https:\/\/4xmen.ir",
+    "packages": []
+}
diff --git a/resources/views/segments/header/HodHeader/HodHeader.php b/resources/views/segments/header/HodHeader/HodHeader.php
new file mode 100644
index 0000000..357a8e2
--- /dev/null
+++ b/resources/views/segments/header/HodHeader/HodHeader.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Resources\Views\Segments;
+
+use App\Models\Part;
+use App\Models\Setting;
+use Illuminate\Support\Facades\File;
+
+class HodHeader
+{
+    public static function onAdd(Part $part = null)
+    {
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_png';
+        $setting->value = 'url("'.asset('upload/images/'.$part->area_name . '.' . $part->part.'.png').'")';
+        $setting->type = 'FILE';
+        $setting->size = 12;
+        $setting->title =  $part->area_name . ' ' . $part->part.' pattern image';
+        $setting->data = json_encode(['name' => 'hod-img']);
+        $setting->save();
+
+        File::copy(__DIR__.'/../../default-assets/hodhod.png',public_path('upload/images/').$part->area_name . '.' . $part->part.'.png');
+    }
+    public static function onRemove(Part $part = null)
+    {
+        Setting::where('key',$part->area_name . '_' . $part->part.'_png')->first()?->delete();
+    }
+    public static function onMount(Part $part = null)
+    {
+        return $part;
+    }
+}
diff --git a/resources/views/segments/header/HodHeader/HodHeader.scss b/resources/views/segments/header/HodHeader/HodHeader.scss
new file mode 100644
index 0000000..ba3352a
--- /dev/null
+++ b/resources/views/segments/header/HodHeader/HodHeader.scss
@@ -0,0 +1,43 @@
+.HodHeader {
+    // scss
+    overflow: visible;
+    background: linear-gradient( 45deg, var(--xshop-primary), var(--xshop-secondary) 100%);
+    color: var(--xshop-diff);
+    padding: 4.5rem 0 1rem;
+    position: relative;
+
+    &:before{
+        content: ' ';
+        background-image: var(--hod-img);
+        position: absolute;
+        left: 0;
+        right: 0;
+        top: 0;
+        bottom: 0;
+        width: 100%;
+        height: 100%;
+    }
+
+    h1,h2{
+        font-weight: 400;
+        max-height: 1em;
+        overflow: hidden;
+    }
+    #hod-logo {
+        padding: 2rem;
+        background: #ffffff99;
+        position: relative;
+        z-index: 5;
+        display: inline-block;
+        margin-bottom: -40px;
+        border-radius: var(--xshop-border-radius);
+        margin-top: 1rem;
+        img {
+            height: 75px;
+        }
+    }
+
+    + .content{
+        padding-top: 2rem;
+    }
+}
diff --git a/resources/views/segments/header/HodHeader/screenshot.png b/resources/views/segments/header/HodHeader/screenshot.png
new file mode 100644
index 0000000..cb1a196
Binary files /dev/null and b/resources/views/segments/header/HodHeader/screenshot.png differ
diff --git a/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.blade.php b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.blade.php
new file mode 100644
index 0000000..5d7e531
--- /dev/null
+++ b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.blade.php
@@ -0,0 +1,26 @@
+<section class='MainCategoriesIcon'>
+    <div class="{{gfx()['container']}}">
+        <h1 class="text-center">
+            {{getSetting($part->area_name . '_' . $part->part.'_title')}}
+        </h1>
+        <div class="cat-icon-box">
+            <div class="row">
+                @foreach(getMainCategory(getSetting($part->area_name . '_' . $part->part.'_limit')) as $category)
+                    <div class="col-md">
+                        <div class=" l-box">
+                            <a class="main-category" href="{{$category->webUrl()}}">
+                                <img src="{{$category->svgUrl()}}" alt="{{$category->name}}"
+                                     title="{{$category->name}}">
+                            </a>
+                        </div>
+                        <a class="main-category" href="{{$category->webUrl()}}">
+                            <h4>
+                                {{$category->name}}
+                            </h4>
+                        </a>
+                    </div>
+                @endforeach
+            </div>
+        </div>
+    </div>
+</section>
diff --git a/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.js b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.js
new file mode 100644
index 0000000..e69de29
diff --git a/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.json b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.json
new file mode 100644
index 0000000..ee29139
--- /dev/null
+++ b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.json
@@ -0,0 +1,10 @@
+{
+    "name": "MainCategoriesIcon",
+    "version": "1.0",
+    "author": "xStack",
+    "email": "xshop@xstack.ir",
+    "license": "GPL-3.0-or-later",
+    "url": "https:\/\/xstack.ir",
+    "author_url": "https:\/\/4xmen.ir",
+    "packages": []
+}
\ No newline at end of file
diff --git a/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.php b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.php
new file mode 100644
index 0000000..85bef68
--- /dev/null
+++ b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.php
@@ -0,0 +1,75 @@
+<?php
+
+namespace Resources\Views\Segments;
+
+use App\Models\Part;
+use App\Models\Setting;
+
+class MainCategoriesIcon
+{
+    public static function onAdd(Part $part = null)
+    {
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_bg';
+        $setting->value = '#ffffff';
+        $setting->type = 'COLOR';
+        $setting->data = json_encode(['name' => 'cat-icon-bg']);
+        $setting->size = 4;
+        $setting->title =  $part->area_name . ' ' . $part->part .' background color';
+        $setting->save();
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_box';
+        $setting->value = gfx()['primary'];
+        $setting->type = 'COLOR';
+        $setting->data = json_encode(['name' => 'cat-icon-box']);
+        $setting->size = 4;
+        $setting->title =  $part->area_name . ' ' . $part->part .' box color';
+        $setting->save();
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_text';
+        $setting->value = '#ffffff';
+        $setting->type = 'COLOR';
+        $setting->data = json_encode(['name' => 'cat-icon-text']);
+        $setting->size =4;
+        $setting->title =  $part->area_name . ' ' . $part->part .' text color';
+        $setting->save();
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_title';
+        $setting->value = 'Lorem ipsum dolor sit amet';
+        $setting->type = 'TEXT';
+        $setting->size = 6;
+        $setting->title =  $part->area_name . ' ' . $part->part .' titles';
+        $setting->save();
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_limit';
+        $setting->value = '4';
+        $setting->size = 6;
+        $setting->type = 'NUMBER';
+        $setting->data = json_encode(['xmin' => 4, 'xmax' => 12]);
+        $setting->title =  $part->area_name . ' ' . $part->part. ' limit';
+        $setting->save();
+
+    }
+    public static function onRemove(Part $part = null)
+    {
+        Setting::where('key',$part->area_name . '_' . $part->part.'_title')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'_limit')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'_bg')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'_box')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'_text')->first()?->delete();
+    }
+    public static function onMount(Part $part = null)
+    {
+        return $part;
+    }
+}
diff --git a/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.scss b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.scss
new file mode 100644
index 0000000..c113f9b
--- /dev/null
+++ b/resources/views/segments/index/MainCategoriesIcon/MainCategoriesIcon.scss
@@ -0,0 +1,51 @@
+.MainCategoriesIcon {
+    // scss
+    padding: 4rem;
+    background: var(--cat-icon-bg);
+    position: relative;
+    overflow: hidden;
+
+    h1 {
+        position: absolute;
+        left: 2rem;
+        top: 1rem;
+        transform: rotateZ(-90deg);
+        white-space: nowrap;
+        font-size: 22px;
+        text-align: center;
+        width: 0;
+    }
+
+    .cat-icon-box {
+        background: var(--cat-icon-box);
+        padding: 1rem;
+        border-radius: var(--xshop-border-radius);
+
+        .row {
+            margin: 1rem;
+        }
+
+        .l-box {
+            border-radius: var(--xshop-border-radius);
+            margin: 1rem;
+            background: var(--cat-icon-bg);
+            text-align: center;
+
+
+            img {
+                max-width: 70%;
+                margin: 1rem 0;
+            }
+
+        }
+    }
+
+    h4 {
+        padding: 1rem 0 0 0;
+        font-size: 20px;
+        font-weight: 300;
+        color: var(--cat-icon-text) !important;
+        text-align: center;
+    }
+
+}
diff --git a/resources/views/segments/index/MainCategoriesIcon/screenshot.png b/resources/views/segments/index/MainCategoriesIcon/screenshot.png
new file mode 100644
index 0000000..e122506
Binary files /dev/null and b/resources/views/segments/index/MainCategoriesIcon/screenshot.png differ
diff --git a/resources/views/segments/index/MainCategoriesSlider/MainCategoriesSlider.blade.php b/resources/views/segments/index/MainCategoriesSlider/MainCategoriesSlider.blade.php
index 1fb14d8..446df49 100644
--- a/resources/views/segments/index/MainCategoriesSlider/MainCategoriesSlider.blade.php
+++ b/resources/views/segments/index/MainCategoriesSlider/MainCategoriesSlider.blade.php
@@ -4,7 +4,7 @@
             {{getSetting($data->area_name.'_'.$data->part.'_title')}}
         </h1>
         <div id="main-cats">
-            @foreach(\App\Models\Category::whereNull('parent_id')->limit(10)->get() as $category)
+            @foreach(getMainCategory(10) as $category)
                 <div class="item slider-content">
                     <a class="main-category" href="{{$category->webUrl()}}">
                         <img src="{{$category->imgUrl()}}" alt="{{$category->name}}" title="{{$category->name}}" >
diff --git a/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.blade.php b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.blade.php
new file mode 100644
index 0000000..b841a09
--- /dev/null
+++ b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.blade.php
@@ -0,0 +1,44 @@
+<section id='SamiraProductSlider'>
+    <div class="{{gfx()['container']}}">
+        <div id="samira-container">
+            <div id="sam-nxt" class="sld-btn">
+                <i class="ri-arrow-right-line"></i>
+            </div>
+            <div id="sam-prv" class="sld-btn">
+                <i class="ri-arrow-left-line"></i>
+            </div>
+            <div id="samira-slider">
+
+                @foreach(getCategoryProductBySetting($part->area_name . '_' . $part->part.'_category',getSetting($part->area_name . '_' . $part->part.'_limit')) as $product)
+                    <div class="item slider-content">
+
+                        <div class="row">
+
+                            <div class="col-md-8 cloudy">
+                                <a href="{{$product->webUrl()}}">
+                                    <img src="{{$product->imgUrl()}}" alt="{{$product->name}}" loading="lazy">
+                                </a>
+                                <img src="{{asset('upload/images/index.SamiraProductSlider.webp')}}" alt="" class="bg">
+                                <img src="{{asset('upload/images/circle-3d-minify.svg')}}" alt="" class="circle">
+                            </div>
+                            <div class="col-md-4">
+                                <h4 class="mb-4">
+                                    {{$product->name}}
+                                </h4>
+
+                                <a href="{{$product->webUrl()}}" class="btn btn-outline-light">
+                                    {{__("View product")}}
+                                    &nbsp;
+                                    <i class="ri-arrow-right-circle-fill float-end"></i>
+                                </a>
+                            </div>
+
+                        </div>
+
+                    </div>
+                @endforeach
+            </div>
+        </div>
+
+    </div>
+</section>
diff --git a/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.js b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.js
new file mode 100644
index 0000000..5a7a5dd
--- /dev/null
+++ b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.js
@@ -0,0 +1,42 @@
+import {tns} from "tiny-slider/src/tiny-slider";
+
+var samSlider ;
+
+
+document.addEventListener('DOMContentLoaded', () => {
+    document.querySelectorAll('#samira-slider')?.forEach(function (el) {
+        if (el.classList.contains('.tns-slider')){
+            console.log('ignore');
+            return 'ignore';
+        }
+        samSlider = tns({
+            container: el,
+            items: 1.5,
+            // edgePadding: 50,
+            autoplay: true,
+            autoplayButton: false,
+            mouseDrag: true,
+            prevButton: false,
+            nextButton: false,
+            autoplayTimeout: 8000,
+            center: true,
+            nav: true,
+            loop:true,
+        });
+    });
+
+    document.querySelector('#sam-nxt')?.addEventListener('click',function () {
+        if (document.documentElement.getAttribute('dir') === 'rtl'){
+            samSlider.goTo('prev');
+        }else{
+            samSlider.goTo('next');
+        }
+    });
+    document.querySelector('#sam-prv')?.addEventListener('click',function () {
+        if (document.documentElement.getAttribute('dir') !== 'rtl'){
+            samSlider.goTo('prev');
+        }else{
+            samSlider.goTo('next');
+        }
+    });
+});
diff --git a/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.json b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.json
new file mode 100644
index 0000000..bea5c6e
--- /dev/null
+++ b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.json
@@ -0,0 +1,10 @@
+{
+    "name": "SamiraProductSlider",
+    "version": "1.0",
+    "author": "xStack",
+    "email": "xshop@xstack.ir",
+    "license": "GPL-3.0-or-later",
+    "url": "https:\/\/xstack.ir",
+    "author_url": "https:\/\/4xmen.ir",
+    "packages": []
+}
\ No newline at end of file
diff --git a/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.php b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.php
new file mode 100644
index 0000000..d37bebf
--- /dev/null
+++ b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.php
@@ -0,0 +1,79 @@
+<?php
+
+namespace Resources\Views\Segments;
+
+use App\Models\Category;
+use App\Models\Part;
+use App\Models\Setting;
+use Illuminate\Support\Facades\File;
+
+class SamiraProductSlider
+{
+    public static function onAdd(Part $part = null)
+    {
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_title';
+        $setting->value = 'Lorem ipsum dolor sit amet';
+        $setting->type = 'TEXT';
+        $setting->size = 6;
+        $setting->title =  $part->area_name . ' ' . $part->part .' titles';
+        $setting->save();
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_category';
+        $setting->value = Category::first()->id;
+        $setting->type = 'CATEGORY';
+        $setting->size = 3;
+        $setting->title =  $part->area_name . ' ' . $part->part .' category';
+        $setting->save();
+
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_bg';
+        $setting->value = gfx()['secondary'];
+        $setting->type = 'COLOR';
+        $setting->data = json_encode(['name' => 'samira-bg']);
+        $setting->size = 3;
+        $setting->title =  $part->area_name . ' ' . $part->part .' background color';
+        $setting->save();
+
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_limit';
+        $setting->value = 4;
+        $setting->size = 6;
+        $setting->type = 'NUMBER';
+        $setting->data = json_encode(['xmin' => 4, 'xmax' => 12]);
+        $setting->title =  $part->area_name . ' ' . $part->part. ' limit';
+        $setting->save();
+
+        $setting = new Setting();
+        $setting->section = 'theme';
+        $setting->key = $part->area_name . '_' . $part->part.'_webp';
+        $setting->value = null;
+        $setting->type = 'FILE';
+        $setting->size = 6;
+        $setting->title =  $part->area_name . ' ' . $part->part.' background pattern image';
+        $setting->save();
+        File::copy(__DIR__.'/../../default-assets/smoke.webp',public_path('upload/images/').$part->area_name . '.' . $part->part.'.webp');
+        File::copy(__DIR__.'/../../default-assets/circle-3d-minify.svg',public_path('upload/images/').'circle-3d-minify.svg');
+
+    }
+    public static function onRemove(Part $part = null)
+    {
+        Setting::where('key',$part->area_name . '_' . $part->part.'_title')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'_category')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'bg')->first()?->delete();
+        Setting::where('key',$part->area_name . '_' . $part->part.'_webp')->first()?->delete();
+
+    }
+    public static function onMount(Part $part = null)
+    {
+        return $part;
+    }
+}
diff --git a/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.scss b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.scss
new file mode 100644
index 0000000..4535755
--- /dev/null
+++ b/resources/views/segments/products/SamiraProductSlider/SamiraProductSlider.scss
@@ -0,0 +1,143 @@
+#SamiraProductSlider {
+    // scss
+    padding: 4rem 0;
+    background: var(--samira-bg);
+    color: var(--xshop-diff2);
+
+    .container,.container-fluid{
+        position: relative;
+        padding: 2rem 0;
+        &:before{
+            position: absolute;
+            content:  ' ';
+            top: 1rem;
+            bottom: 1rem;
+            left: 2rem;
+            right: 2rem;
+            background: #ffffff;
+            background: radial-gradient(circle, rgba(255,255,255,.4) 0%, rgba(0,0,0,0) 100%);
+
+            border-radius: 50%;
+            filter: blur(30px);
+
+        }
+    }
+
+    img{
+        width: 100px;
+        transition: 300ms;
+        height: 80vh;
+        object-fit: contain;
+    }
+
+    .slider-content{
+        height: 80vh;
+        //border:1px solid grey;
+        direction: rtl !important;
+        transform: translateX(25%);
+
+        .col-md-4{
+            padding-top: 40vh;
+            a{
+                color: white;
+            }
+            h4{
+                border-bottom: darkred 1px solid;
+                padding: .5rem;
+            }
+        }
+    }
+
+    .cloudy{
+        position: relative;
+        padding-top: 10vh;
+        .bg{
+            opacity: 0;
+            transition: 200ms;
+        }
+    }
+
+
+    .tns-slide-active{
+        img{
+            width: 100%;
+            height: 50vh;
+        }
+
+        &+.tns-item{
+            direction: ltr !important;
+        }
+
+        .cloudy{
+            .bg{
+                position: absolute;
+                left: 15%;
+                bottom: 0;
+                top: 0;
+                width: 75%;
+                z-index: -1;
+                object-fit: contain;
+                height: 70vh;
+                opacity: 1;
+            }
+            .circle{
+                position: absolute;
+                right: 0;
+                bottom: -10vh;
+                width: 100%;
+                object-fit: scale-down;
+                height: 15vh;
+                transform: translateX(5%);
+            }
+        }
+
+    }
+
+    #samira-container {
+        position: relative;
+
+        .sld-btn,.tns-nav{
+            z-index: 70;
+            position: absolute;
+            top: 90%;
+            cursor: pointer;
+            i{
+                font-size: 35px;
+            }
+        }
+
+        #sam-nxt{
+            left:calc(20% + 200px);
+        }
+        #sam-prv{
+            left: 20%;
+        }
+
+        .tns-nav{
+            display: flex !important;
+            width: 150px;
+            left:calc(20% + 45px);
+            height: 50px;
+
+            align-items: center;
+            justify-content: space-evenly;
+            button{
+                display: inline-block;
+                margin: 3px;
+                width: 10px;
+                height: 10px;
+                border-radius: var(--xshop-border-radius);
+                background: #ffffff44;
+                border: 0;
+            }
+
+            .tns-nav-active{
+
+                background: #ffffff;
+            }
+        }
+    }
+
+
+
+}
diff --git a/resources/views/segments/products/SamiraProductSlider/screenshot.png b/resources/views/segments/products/SamiraProductSlider/screenshot.png
new file mode 100644
index 0000000..9cc398c
Binary files /dev/null and b/resources/views/segments/products/SamiraProductSlider/screenshot.png differ