From 2cc4a75976240e400cd1341acc6f3e08f644d9a4 Mon Sep 17 00:00:00 2001 From: A1Gard Date: Sun, 30 Jun 2024 08:37:02 +0330 Subject: [PATCH] added GFX to panel --- app/Helpers/Helper.php | 4 + .../Controllers/Admin/CategoryController.php | 1 - app/Http/Controllers/Admin/GfxController.php | 26 ++ app/Models/Gfx.php | 11 + .../2024_06_30_034527_create_gfxes_table.php | 31 ++ database/seeders/DatabaseSeeder.php | 1 + database/seeders/GfxSeeder.php | 76 ++++ database/seeders/StateSeeder.php | 11 + resources/js/app.js | 3 + resources/js/components/BorderRadiosInput.vue | 124 ++++++ resources/js/components/Gfxer.vue | 399 ++++++++++++++++++ resources/js/components/ShadowInput.vue | 85 ++++ resources/views/admin/commons/gfx.blade.php | 20 + resources/views/components/err.blade.php | 2 + .../components/panel-side-navbar.blade.php | 2 +- routes/web.php | 7 + 16 files changed, 801 insertions(+), 2 deletions(-) create mode 100644 app/Http/Controllers/Admin/GfxController.php create mode 100644 app/Models/Gfx.php create mode 100644 database/migrations/2024_06_30_034527_create_gfxes_table.php create mode 100644 database/seeders/GfxSeeder.php create mode 100644 resources/js/components/BorderRadiosInput.vue create mode 100644 resources/js/components/Gfxer.vue create mode 100644 resources/js/components/ShadowInput.vue create mode 100644 resources/views/admin/commons/gfx.blade.php diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 1303b9e..2b022a7 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -212,6 +212,10 @@ function logAdmin($method, $cls, $id): void ]); } +function gfx(){ + return \App\Models\Gfx::pluck('value','key'); +} + /** * build query with excepts diff --git a/app/Http/Controllers/Admin/CategoryController.php b/app/Http/Controllers/Admin/CategoryController.php index 66e1e49..adb439b 100644 --- a/app/Http/Controllers/Admin/CategoryController.php +++ b/app/Http/Controllers/Admin/CategoryController.php @@ -154,5 +154,4 @@ class CategoryController extends XController /*sort**/ - } diff --git a/app/Http/Controllers/Admin/GfxController.php b/app/Http/Controllers/Admin/GfxController.php new file mode 100644 index 0000000..5433ae8 --- /dev/null +++ b/app/Http/Controllers/Admin/GfxController.php @@ -0,0 +1,26 @@ +input('gfx',[]) as $key => $gfx){ + $g = Gfx::where('key',$key)->first(); + $g->value = $gfx; + $g->save(); + } + logAdmin(__METHOD__,__CLASS__,null); + return redirect()->back()->with(['message' => __('GFX of website updated')]); + } +} diff --git a/app/Models/Gfx.php b/app/Models/Gfx.php new file mode 100644 index 0000000..5b49707 --- /dev/null +++ b/app/Models/Gfx.php @@ -0,0 +1,11 @@ +id(); + $table->string('key')->unique(); + $table->string('label'); + $table->boolean('system')->default(0); + $table->longText('value'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('gfxes'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 400b0b0..38cb4c8 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -33,6 +33,7 @@ class DatabaseSeeder extends Seeder ProductSeeder::class, CommentSeeder::class, SettingSeeder::class, + GfxSeeder::class, ] ); } diff --git a/database/seeders/GfxSeeder.php b/database/seeders/GfxSeeder.php new file mode 100644 index 0000000..edfd66a --- /dev/null +++ b/database/seeders/GfxSeeder.php @@ -0,0 +1,76 @@ +'background', + 'label'=>'background color', + 'system'=>'1', + 'value'=> '#eeeeee' + ], + [ + 'key'=>'primary', + 'label'=>'Primary color', + 'system'=>'1', + 'value'=> '#6e0000' + ], + [ + 'key'=>'secondary', + 'label'=>'Secondary color', + 'system'=>'1', + 'value'=> '#ff0000' + ], + [ + 'key'=>'text', + 'label'=>'Text color', + 'system'=>'1', + 'value'=> '#111111' + ], + [ + 'key'=>'border-radius', + 'label'=>'Border radius', + 'system'=>'1', + 'value'=> '7px' + ], + [ + 'key'=>'shadow', + 'label'=>'Shadow', + 'system'=>'1', + 'value'=> '2px 2px 4px #777777' + ], + [ + 'key'=>'container', + 'label'=>'Container', + 'system'=>'1', + 'value'=> 'container' + ], + [ + 'key'=>'font', + 'label'=>'font', + 'system'=>'1', + 'value'=> 'Vazir' + ], + + ]; + + + foreach ($array as $item) { + $item['created_at'] = date('Y-m-d H:i:s'); + Gfx::insert($item); + } + } +} diff --git a/database/seeders/StateSeeder.php b/database/seeders/StateSeeder.php index b79e23c..d1f5cd6 100644 --- a/database/seeders/StateSeeder.php +++ b/database/seeders/StateSeeder.php @@ -70,5 +70,16 @@ class StateSeeder extends Seeder $c->save(); } } + + // dehloran + City::whereId(250)->update([ + 'lat'=> 32.6894, + 'lng' => 47.2691, + ]); + // karaj + City::whereId(228)->update([ + 'lat'=> 35.8439, + 'lng' => 50.9715, + ]); } } diff --git a/resources/js/app.js b/resources/js/app.js index d9b083f..a04354f 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -87,6 +87,9 @@ app.component('meta-input', MetaInput); import MorphSelector from "./components/MorphSelector.vue"; app.component('morph-selector', MorphSelector); +import Gfxer from "./components/Gfxer.vue"; +app.component('gfxer', Gfxer); + /** * The following block of code may be used to automatically register your diff --git a/resources/js/components/BorderRadiosInput.vue b/resources/js/components/BorderRadiosInput.vue new file mode 100644 index 0000000..5010cd7 --- /dev/null +++ b/resources/js/components/BorderRadiosInput.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/resources/js/components/Gfxer.vue b/resources/js/components/Gfxer.vue new file mode 100644 index 0000000..8c4c31b --- /dev/null +++ b/resources/js/components/Gfxer.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/resources/js/components/ShadowInput.vue b/resources/js/components/ShadowInput.vue new file mode 100644 index 0000000..152309b --- /dev/null +++ b/resources/js/components/ShadowInput.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/resources/views/admin/commons/gfx.blade.php b/resources/views/admin/commons/gfx.blade.php new file mode 100644 index 0000000..88abd3d --- /dev/null +++ b/resources/views/admin/commons/gfx.blade.php @@ -0,0 +1,20 @@ +@extends('layouts.app') + +@section('content') +
+ @csrf + @include('components.err') + + +
+@endsection diff --git a/resources/views/components/err.blade.php b/resources/views/components/err.blade.php index 5d30f23..4b55b28 100755 --- a/resources/views/components/err.blade.php +++ b/resources/views/components/err.blade.php @@ -1,10 +1,12 @@ @if(session()->has('message'))
+ {{ session()->get('message') }}
@endif @foreach($errors->all() as $err)
+ {{$err}}
@endforeach diff --git a/resources/views/components/panel-side-navbar.blade.php b/resources/views/components/panel-side-navbar.blade.php index 3cbc827..91ba02f 100644 --- a/resources/views/components/panel-side-navbar.blade.php +++ b/resources/views/components/panel-side-navbar.blade.php @@ -129,7 +129,7 @@
  • - + {{__("Graphic")}} diff --git a/routes/web.php b/routes/web.php index 13a563b..1ea2132 100644 --- a/routes/web.php +++ b/routes/web.php @@ -265,6 +265,13 @@ Route::prefix(config('app.panel.prefix'))->name('admin.')->group( Route::post('update', [\App\Http\Controllers\Admin\SettingController::class, "update"])->name('update'); } ); + Route::prefix('gfx')->name('gfx.')->group( + function () { + Route::get('index', [\App\Http\Controllers\Admin\GfxController::class, "index"])->name('index'); +// Route::post('store', [\App\Http\Controllers\Admin\SettingController::class, "store"])->name('store'); + Route::post('update', [\App\Http\Controllers\Admin\GfxController::class, "update"])->name('update'); + } + ); });