From f864f8cf4a9b969d85595fc1da361cd86170f8f7 Mon Sep 17 00:00:00 2001 From: A1Gard Date: Thu, 13 Jun 2024 03:42:32 +0330 Subject: [PATCH] added galley xController optimize ui added imgUrl to list template --- app/Console/Commands/makeXcontroller.php | 2 +- .../Controllers/Admin/AdminLogController.php | 2 +- .../Controllers/Admin/GalleryController.php | 141 ++++++++++++++ .../Controllers/Admin/ImageController.php | 87 +++++++++ app/Http/Controllers/Admin/PostController.php | 10 +- app/Http/Requests/GallerySaveRequest.php | 32 ++++ app/Models/Gallery.php | 7 +- app/Models/Image.php | 51 +++++ .../{ImagesFactory.php => ImageFactory.php} | 4 +- .../{ImagesSeeder.php => ImageSeeder.php} | 2 +- resources/js/panel/general-events.js | 8 + resources/sass/panel/_common.scss | 34 ++++ resources/sass/panel/_fix.scss | 34 +++- .../admin/galleries/gallery-form.blade.php | 178 ++++++++++++++++++ .../admin/galleries/gallery-list.blade.php | 16 ++ .../views/admin/posts/post-list.blade.php | 3 +- .../templates/panel-form-template.blade.php | 1 + .../templates/panel-list-template.blade.php | 30 ++- resources/views/auth/login.blade.php | 112 +++++------ .../views/auth/passwords/confirm.blade.php | 2 +- .../views/auth/passwords/email.blade.php | 2 +- .../views/auth/passwords/reset.blade.php | 2 +- resources/views/auth/register.blade.php | 2 +- resources/views/auth/verify.blade.php | 2 +- .../components/panel-side-navbar.blade.php | 4 +- routes/web.php | 21 ++- 26 files changed, 706 insertions(+), 83 deletions(-) create mode 100644 app/Http/Controllers/Admin/GalleryController.php create mode 100644 app/Http/Controllers/Admin/ImageController.php create mode 100644 app/Http/Requests/GallerySaveRequest.php create mode 100644 app/Models/Image.php rename database/factories/{ImagesFactory.php => ImageFactory.php} (87%) rename database/seeders/{ImagesSeeder.php => ImageSeeder.php} (87%) create mode 100644 resources/views/admin/galleries/gallery-form.blade.php create mode 100644 resources/views/admin/galleries/gallery-list.blade.php diff --git a/app/Console/Commands/makeXcontroller.php b/app/Console/Commands/makeXcontroller.php index 7ec3e90..a30e9b6 100644 --- a/app/Console/Commands/makeXcontroller.php +++ b/app/Console/Commands/makeXcontroller.php @@ -45,8 +45,8 @@ class makeXcontroller extends Command // replace variables $content = str_replace('User', $model, $content); - $content = str_replace('user', strtolower($model), $content); $content = str_replace('users', strtolower($plural), $content); + $content = str_replace('user', strtolower($model), $content); $content = str_replace('$user', $var, $content); Artisan::call('make:request', ['name' => $model.'SaveRequest']); diff --git a/app/Http/Controllers/Admin/AdminLogController.php b/app/Http/Controllers/Admin/AdminLogController.php index 89c5f7a..5bbff37 100644 --- a/app/Http/Controllers/Admin/AdminLogController.php +++ b/app/Http/Controllers/Admin/AdminLogController.php @@ -36,7 +36,7 @@ class AdminLogController extends XController public function log(User $item){ - return redirect()->route('admin.adminlogs.index',['filter[user_id]'=> '['.$item->id.']']); + return redirect()->route('admin.adminlog.index',['filter[user_id]'=> '['.$item->id.']']); } diff --git a/app/Http/Controllers/Admin/GalleryController.php b/app/Http/Controllers/Admin/GalleryController.php new file mode 100644 index 0000000..df91373 --- /dev/null +++ b/app/Http/Controllers/Admin/GalleryController.php @@ -0,0 +1,141 @@ + + ['title' => "Edit", 'class' => 'btn-outline-primary', 'icon' => 'ri-edit-2-line'], + 'show' => + ['title' => "Detail", 'class' => 'btn-outline-light', 'icon' => 'ri-eye-line'], + 'destroy' => + ['title' => "Remove", 'class' => 'btn-outline-danger delete-confirm', 'icon' => 'ri-close-line'], + ]; + + + public function __construct() + { + parent::__construct(Gallery::class, GallerySaveRequest::class); + } + + /** + * @param $gallery Gallery + * @param $request GallerySaveRequest + * @return Gallery + */ + public function save($gallery, $request) + { + + $gallery->title = $request->input('title'); + $gallery->slug = $this->getSlug($gallery,'slug','title'); + $gallery->description = $request->input('description'); + $gallery->status = $request->input('status'); + $gallery->user_id = auth()->id(); + + $gallery->save(); + + + if ($request->hasFile('image')) { + $gallery->media()->delete(); + $gallery->addMedia($request->file('image')) + ->preservingOriginal() //middle method + ->toMediaCollection(); + } + $gallery->save(); + return $gallery; + + } + + + /** + * Show the form for creating a new resource. + */ + public function create() + { + // + return view($this->formView); + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(Gallery $item) + { + // + return view($this->formView, compact('item')); + } + + public function bulk(Request $request) + { + +// dd($request->all()); + $data = explode('.', $request->input('action')); + $action = $data[0]; + $ids = $request->input('id'); + switch ($action) { + case 'delete': + $msg = __(':COUNT items deleted successfully', ['COUNT' => count($ids)]); + $this->_MODEL_::destroy($ids); + break; + case 'publish': + $this->_MODEL_::whereIn('id', $request->input('id'))->update(['status' => 1]); + $msg = __(':COUNT items published successfully', ['COUNT' => count($ids)]); + break; + case 'draft': + $this->_MODEL_::whereIn('id', $request->input('id'))->update(['status' => 0]); + $msg = __(':COUNT items drafted successfully', ['COUNT' => count($ids)]); + break; + default: + $msg = __('Unknown bulk action : :ACTION', ["ACTION" => $action]); + } + + return $this->do_bulk($msg, $action, $ids); + } + + public function destroy(Gallery $item) + { + return parent::delete($item); + } + + + public function update(Request $request, Gallery $item) + { + return $this->bringUp($request, $item); + } + + + public function updateTitle(Request $request){ + foreach ($request->titles as $k => $title) { + $image = Image::whereId($k)->first(); + $image->title = $title; + $image->save(); + } + return redirect()->back()->with(['message' => __("Titles updated")]); + } + + +} diff --git a/app/Http/Controllers/Admin/ImageController.php b/app/Http/Controllers/Admin/ImageController.php new file mode 100644 index 0000000..a8b32fa --- /dev/null +++ b/app/Http/Controllers/Admin/ImageController.php @@ -0,0 +1,87 @@ +file('image') as $k => $item) { + + DB::transaction(function () use ($gallery, $item, $request): void { + + $newimage = $gallery->images()->create([ + 'title' => $gallery->title . '-' . ($gallery->images()->count() + 1), + 'user_id' => auth()->id(), + ]); + $newimage->addMedia($item) + ->toMediaCollection(); + }); + } + logAdmin(__METHOD__, Gallery::class, $gallery->id); + + return redirect()->back()->with(['message' => __(':COUNT Images uploaded successfully', ['COUNT' => count($request->file('image'))] )]); + } + + /** + * Display the specified resource. + */ + public function show(Image $image) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(Image $image) + { + // + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, Image $image) + { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(Image $image) + { + // + logAdmin(__METHOD__, Image::class, $image->id); + $image->delete(); + return redirect()->back()->with(['message' => __('Image deleted successfully')]); + } +} diff --git a/app/Http/Controllers/Admin/PostController.php b/app/Http/Controllers/Admin/PostController.php index 5d2733f..71baf96 100644 --- a/app/Http/Controllers/Admin/PostController.php +++ b/app/Http/Controllers/Admin/PostController.php @@ -18,7 +18,7 @@ class PostController extends XController // protected $_MODEL_ = Post::class; // protected $SAVE_REQUEST = PostSaveRequest::class; - protected $cols = ['title','hash','view']; + protected $cols = ['title','hash','view','status']; protected $extra_cols = ['id', 'slug']; protected $searchable = ['title','subtitle','body']; @@ -123,6 +123,14 @@ class PostController extends XController $this->_MODEL_::withTrashed()->find($id)->restore(); } break; + case 'publish': + $this->_MODEL_::whereIn('id', $request->input('id'))->update(['status' => 1]); + $msg = __(':COUNT items published successfully', ['COUNT' => count($ids)]); + break; + case 'draft': + $this->_MODEL_::whereIn('id', $request->input('id'))->update(['status' => 0]); + $msg = __(':COUNT items drafted successfully', ['COUNT' => count($ids)]); + break; /*restore**/ default: $msg = __('Unknown bulk action : :ACTION', ["ACTION" => $action]); diff --git a/app/Http/Requests/GallerySaveRequest.php b/app/Http/Requests/GallerySaveRequest.php new file mode 100644 index 0000000..477f92b --- /dev/null +++ b/app/Http/Requests/GallerySaveRequest.php @@ -0,0 +1,32 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array|string> + */ + public function rules(): array + { + return [ + // + 'title' => ['required', 'string', 'max:255','min:2'], + 'description' => ['nullable', 'string'], + 'status' => ['required', 'boolean'], + 'image' => ['nullable', 'image', 'mimes:jpeg,png,jpg,gif,svg', 'max:2048'], + ]; + } +} diff --git a/app/Models/Gallery.php b/app/Models/Gallery.php index 6f790ca..e9b7c3d 100644 --- a/app/Models/Gallery.php +++ b/app/Models/Gallery.php @@ -18,7 +18,7 @@ class Gallery extends Model implements HasMedia public $translatable = ['title','description']; public function images() { - return $this->hasMany(Images::class, 'gallery_id', 'id')->orderBy('sort')->orderByDesc('id'); + return $this->hasMany(Image::class, 'gallery_id', 'id')->orderBy('sort')->orderByDesc('id'); } public function registerMediaConversions(Media $media = null): void @@ -35,7 +35,8 @@ class Gallery extends Model implements HasMedia $this->addMediaConversion('gthumb')->width($t[0]) ->height($t[1]) - ->crop(Manipulations::CROP_CENTER, $t[0], $t[1])->optimize(); + ->nonQueued() + ->crop( $t[0], $t[1])->optimize(); // ->watermark(public_path('images/logo.png'))->watermarkOpacity(50); // ->withResponsiveImages(); } @@ -45,7 +46,7 @@ class Gallery extends Model implements HasMedia return 'slug'; } - public function imgurl() + public function imgUrl() { if ($this->getMedia()->count() > 0) { return $this->getMedia()->first()->getUrl('gthumb'); diff --git a/app/Models/Image.php b/app/Models/Image.php new file mode 100644 index 0000000..26e76a1 --- /dev/null +++ b/app/Models/Image.php @@ -0,0 +1,51 @@ +belongsTo(Gallery::class, 'gallery_id'); + } + + public function registerMediaConversions(Media $media = null): void + { + + $t = explode('x', config('starter-kit.post_thumb')); + if (config('starter-kit.gallery_thumb') == null || config('starter-kit.gallery_thumb') == '') { + $t[0] = 500; + $t[1] = 500; + } + + $this->addMediaConversion('image-image')->optimize(); + + $this->addMediaConversion('gthumb')->width($t[0]) + ->height($t[1]) + ->nonQueued() + ->crop( $t[0], $t[1])->optimize(); +// ->watermark(public_path('images/logo.png'))->watermarkOpacity(50); +// ->withResponsiveImages(); + } + + public function imgurl() + { + if ($this->getMedia()->count() > 0) { + return $this->getMedia()->first()->getUrl('gthumb'); + } else { + return "no image"; + } + } +} diff --git a/database/factories/ImagesFactory.php b/database/factories/ImageFactory.php similarity index 87% rename from database/factories/ImagesFactory.php rename to database/factories/ImageFactory.php index 701a046..b3e0de5 100644 --- a/database/factories/ImagesFactory.php +++ b/database/factories/ImageFactory.php @@ -5,9 +5,9 @@ namespace Database\Factories; use Illuminate\Database\Eloquent\Factories\Factory; /** - * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Images> + * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Image> */ -class ImagesFactory extends Factory +class ImageFactory extends Factory { /** * Define the model's default state. diff --git a/database/seeders/ImagesSeeder.php b/database/seeders/ImageSeeder.php similarity index 87% rename from database/seeders/ImagesSeeder.php rename to database/seeders/ImageSeeder.php index d945fa5..c7add85 100644 --- a/database/seeders/ImagesSeeder.php +++ b/database/seeders/ImageSeeder.php @@ -5,7 +5,7 @@ namespace Database\Seeders; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; -class ImagesSeeder extends Seeder +class ImageSeeder extends Seeder { /** * Run the database seeds. diff --git a/resources/js/panel/general-events.js b/resources/js/panel/general-events.js index 7a59d8b..b38b35e 100644 --- a/resources/js/panel/general-events.js +++ b/resources/js/panel/general-events.js @@ -5,3 +5,11 @@ document.addEventListener('click', function(e) { } } }); + +document.querySelectorAll('.delete-confirm')?.forEach(function (el) { + el.addEventListener('click',function (e) { + if (!confirm('Are you sure you want to delete this item?')) { // WIP Need to translate + e.preventDefault(); + } + }); +}) diff --git a/resources/sass/panel/_common.scss b/resources/sass/panel/_common.scss index 01b402e..42f5640 100644 --- a/resources/sass/panel/_common.scss +++ b/resources/sass/panel/_common.scss @@ -89,3 +89,37 @@ a.btn,a.action-btn,a.circle-btn{ margin: 0 .5rem; } } + +.model-status{ + width: 15px; + height: 15px; + margin: auto; + border-radius: 3px; +} +.status-0{ + background: red; +} +.status-1{ + background: lime; +} + +.image-x64{ + height: 64px; + width: 64px; + object-fit: cover; + border-radius: 5px; +} + + + +.img-squire{ + display: block; + max-width: 100%; + margin: auto; +} + +.rm-img{ + position: relative; + z-index: 1; + margin-bottom: -75px; +} diff --git a/resources/sass/panel/_fix.scss b/resources/sass/panel/_fix.scss index 53447f0..287e46a 100644 --- a/resources/sass/panel/_fix.scss +++ b/resources/sass/panel/_fix.scss @@ -3,11 +3,35 @@ border-color: #bc86fe; } -.card{ - background-color: rgba(var(--bs-body-bg),.5); - background-image: url("../../images/pattern.png"); - backdrop-filter: blur(4px); - box-shadow: -2px -2px 7px #560000, 2px 2px 7px #5e00b5; +.forms{ + + .card{ + background-color: rgba(var(--bs-body-bg),.5); + background-image: url("../../images/pattern.png"); + backdrop-filter: blur(4px); + box-shadow: -2px -2px 7px #560000, 2px 2px 7px #5e00b5; + } +} + +main{ + .card{ + background-color: $lighter-color; + border: 0; + .card-header{ + background: #00000011; + border: 0; + text-align: center; + } + + .card-footer{ + .btn{ + min-width: 200px; + width: 10%; + display: block; + margin: auto; + } + } + } } diff --git a/resources/views/admin/galleries/gallery-form.blade.php b/resources/views/admin/galleries/gallery-form.blade.php new file mode 100644 index 0000000..ddd533c --- /dev/null +++ b/resources/views/admin/galleries/gallery-form.blade.php @@ -0,0 +1,178 @@ +@extends('admin.templates.panel-form-template') +@section('title') + @if(isset($item)) + {{__("Edit gallery")}} [{{$item->title}}] + @else + {{__("Add new gallery")}} + @endif - +@endsection +@section('form') + +
+
+ + @include('components.err') +
+

+ + {{__("Tips")}} +

+
    +
  • + {{__("You can add images after create gallery")}} +
  • +
  • + {{__("You can choose more than image to upload")}} +
  • +
  • + {{__("We recommending add title each images")}} +
  • +
+
+ @if (isset($item)) +
+

+ + {{__("Index image")}} +

+
+ {{$item->title}} +
+
+ @endif + +
+
+
+ +

+ @if(isset($item)) + {{__("Edit gallery")}} [{{$item->title}}] + @else + {{__("Add new gallery")}} + @endif +

+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
+@endsection +@section('out-of-form') + @if (isset($item)) + @if($item->images->count() > 0) + +
+
+ {{__("Images")}} +
+
+
+ @csrf +
+ + @foreach($item->images as $img) +
+ + + + +
+
+ +
+
+ @if(config('app.xlang')) + + + + @endif +
+
+
+ @endforeach +
+
+
+ +
+
+ @endif + +
+
+ @csrf +
+ {{__("Upload new images")}} +
+
+ +
    + +
+
+ +
+
+ @endif +@endsection diff --git a/resources/views/admin/galleries/gallery-list.blade.php b/resources/views/admin/galleries/gallery-list.blade.php new file mode 100644 index 0000000..7ba0597 --- /dev/null +++ b/resources/views/admin/galleries/gallery-list.blade.php @@ -0,0 +1,16 @@ +@extends('admin.templates.panel-list-template') + +@section('list-title') + + {{__("Galleries list")}} +@endsection +@section('title') + {{__("Galleries list")}} - +@endsection +@section('filter') + {{-- Other filters --}} +@endsection +@section('bulk') + + +@endsection diff --git a/resources/views/admin/posts/post-list.blade.php b/resources/views/admin/posts/post-list.blade.php index a27242e..96d80d6 100644 --- a/resources/views/admin/posts/post-list.blade.php +++ b/resources/views/admin/posts/post-list.blade.php @@ -11,5 +11,6 @@ {{-- Other filters --}} @endsection @section('bulk') - {{-- --}} + + @endsection diff --git a/resources/views/admin/templates/panel-form-template.blade.php b/resources/views/admin/templates/panel-form-template.blade.php index e828b8d..1c10a8b 100644 --- a/resources/views/admin/templates/panel-form-template.blade.php +++ b/resources/views/admin/templates/panel-form-template.blade.php @@ -37,4 +37,5 @@ @endif @yield('form') + @yield('out-of-form') @endsection diff --git a/resources/views/admin/templates/panel-list-template.blade.php b/resources/views/admin/templates/panel-list-template.blade.php index 97fb753..cb25b4f 100644 --- a/resources/views/admin/templates/panel-list-template.blade.php +++ b/resources/views/admin/templates/panel-list-template.blade.php @@ -119,6 +119,11 @@ type="checkbox" role="switch"> + @if(isset($items[0]) && method_exists($items[0],'imgUrl')) + + {{__("image")}} + + @endif @foreach($cols as $col) @@ -126,7 +131,7 @@ @endforeach -{{-- @yield('table-head')--}} + {{-- @yield('table-head')--}} @@ -142,6 +147,7 @@ @else @foreach($items as $item) + @@ -149,6 +155,11 @@ {{$item->id}} + @if(isset($item) && method_exists($item,'imgUrl')) + + + + @endif @foreach($cols as $k => $col) @if($k == 0 && hasRoute('edit')) @@ -162,15 +173,23 @@ @switch($col) @case($col == 'parent_id') - {{ $item->parent?->{$cols[0]}??'-' }} - @break + {{ $item->parent?->{$cols[0]}??'-' }} + @break + @case($col == 'status') +
+ @break + @case($col == 'user_id') + + {{ $item->user?->name??'-' }} + + @break @default {{$item->$col}} @endswitch @endif @endforeach -{{-- @yield('table-body')--}} + {{-- @yield('table-body')--}} @if(strpos(request()->url(),'trashed') != false && hasRoute('restore')) @@ -221,7 +240,8 @@ @else @if( hasRoute('restore') && $item->trashed()) -
- {{__("Login")}} -
- -
-
- @csrf +
+ +
+
+ {{__("Login")}} +
+ +
+ + @csrf -
- {{-- --}} +
+ {{-- --}} -
-
+
+
- + -
- @error('email') - +
+ @error('email') + {{ $message }} - @enderror + @enderror +
-
-
+ @endsection diff --git a/resources/views/auth/passwords/confirm.blade.php b/resources/views/auth/passwords/confirm.blade.php index 97feba6..5c87152 100644 --- a/resources/views/auth/passwords/confirm.blade.php +++ b/resources/views/auth/passwords/confirm.blade.php @@ -2,7 +2,7 @@ @section('content')
-
+
{{ __('Confirm Password') }}
diff --git a/resources/views/auth/passwords/email.blade.php b/resources/views/auth/passwords/email.blade.php index 2487448..e7e8bfe 100644 --- a/resources/views/auth/passwords/email.blade.php +++ b/resources/views/auth/passwords/email.blade.php @@ -2,7 +2,7 @@ @section('content')
-
+
{{ __('Reset Password') }}
diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php index 9c98701..575214e 100644 --- a/resources/views/auth/passwords/reset.blade.php +++ b/resources/views/auth/passwords/reset.blade.php @@ -2,7 +2,7 @@ @section('content')
-
+
{{ __('Reset Password') }}
diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index 74785f8..fb13231 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -2,7 +2,7 @@ @section('content')
-
+
{{ __('Register') }}
diff --git a/resources/views/auth/verify.blade.php b/resources/views/auth/verify.blade.php index 31c57ad..3087658 100644 --- a/resources/views/auth/verify.blade.php +++ b/resources/views/auth/verify.blade.php @@ -2,7 +2,7 @@ @section('content')
-
+
{{ __('Verify Your Email Address') }}
diff --git a/resources/views/components/panel-side-navbar.blade.php b/resources/views/components/panel-side-navbar.blade.php index 1f8aac5..f6dc233 100644 --- a/resources/views/components/panel-side-navbar.blade.php +++ b/resources/views/components/panel-side-navbar.blade.php @@ -91,7 +91,7 @@
  • - + {{__("Galleries")}} @@ -189,7 +189,7 @@
  • - + {{__('Logs of admins')}} diff --git a/routes/web.php b/routes/web.php index b7980d8..79619c8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,8 +20,11 @@ Route::prefix(config('app.panel.prefix'))->name('admin.')->group( Route::get('/',[\App\Http\Controllers\HomeController::class,'index'])->name('dash'); Route::post('ckeditor/upload', [\App\Http\Controllers\Admin\CkeditorController::class,'upload'])->name('ckeditor.upload'); - Route::get('adminlogs', [\App\Http\Controllers\Admin\AdminLogController::class,'index'])->name('adminlogs.index'); - Route::get('adminlogs/{user}', [\App\Http\Controllers\Admin\AdminLogController::class,'log'])->name('adminlogs.show'); + Route::get('adminlogs', [\App\Http\Controllers\Admin\AdminLogController::class,'index'])->name('adminlog.index'); + Route::get('adminlogs/{user}', [\App\Http\Controllers\Admin\AdminLogController::class,'log'])->name('adminlog.show'); + Route::post('images/store/{gallery}', [\App\Http\Controllers\Admin\ImageController::class,'store'])->name('image.store'); + Route::get('images/destroy/{image}', [\App\Http\Controllers\Admin\ImageController::class,'destroy'])->name('image.destroy'); + Route::prefix('users')->name('user.')->group( function () { @@ -54,7 +57,7 @@ Route::prefix(config('app.panel.prefix'))->name('admin.')->group( Route::get('', [\App\Http\Controllers\Admin\PostController::class, 'index'])->name('index'); Route::get('create', [\App\Http\Controllers\Admin\PostController::class, 'create'])->name('create'); Route::post('store', [\App\Http\Controllers\Admin\PostController::class, 'store'])->name('store'); - Route::post('show/{item}', [\App\Http\Controllers\Admin\PostController::class, 'show'])->name('show'); + Route::get('show/{item}', [\App\Http\Controllers\Admin\PostController::class, 'show'])->name('show'); Route::get('edit/{item}', [\App\Http\Controllers\Admin\PostController::class, 'edit'])->name('edit'); Route::post('update/{item}', [\App\Http\Controllers\Admin\PostController::class, 'update'])->name('update'); Route::get('delete/{item}', [\App\Http\Controllers\Admin\PostController::class, 'destroy'])->name('destroy'); @@ -62,5 +65,17 @@ Route::prefix(config('app.panel.prefix'))->name('admin.')->group( Route::post('bulk', [\App\Http\Controllers\Admin\PostController::class, "bulk"])->name('bulk'); Route::get('trashed', [\App\Http\Controllers\Admin\PostController::class, "trashed"])->name('trashed'); }); + Route::prefix('galleries')->name('gallery.')->group( + function () { + Route::get('', [\App\Http\Controllers\Admin\GalleryController::class, 'index'])->name('index'); + Route::get('create', [\App\Http\Controllers\Admin\GalleryController::class, 'create'])->name('create'); + Route::post('store', [\App\Http\Controllers\Admin\GalleryController::class, 'store'])->name('store'); + Route::get('show/{item}', [\App\Http\Controllers\Admin\GalleryController::class, 'show'])->name('show'); + Route::post('title/update', [\App\Http\Controllers\Admin\GalleryController::class, 'updateTitle'])->name('title'); + Route::get('edit/{item}', [\App\Http\Controllers\Admin\GalleryController::class, 'edit'])->name('edit'); + Route::post('update/{item}', [\App\Http\Controllers\Admin\GalleryController::class, 'update'])->name('update'); + Route::get('delete/{item}', [\App\Http\Controllers\Admin\GalleryController::class, 'destroy'])->name('destroy'); + Route::post('bulk', [\App\Http\Controllers\Admin\GalleryController::class, "bulk"])->name('bulk'); + }); }); });