feat(faqs): migrate FAQ management to information section and update routing

This commit is contained in:
Yoga Pangestu 2025-11-21 23:14:45 +07:00
parent d6f26163f6
commit d0c41e9d89
6 changed files with 21 additions and 21 deletions

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Livewire\Datatable\Studio\Manage; namespace App\Livewire\Datatable\Studio\Information;
use App\Models\Faq; use App\Models\Faq;
use App\Traits\Datatable\WithConfiguration; use App\Traits\Datatable\WithConfiguration;
@ -71,14 +71,14 @@ public function columns(): array
$actions .= view('components.datatables.edit-modal', [ $actions .= view('components.datatables.edit-modal', [
'id' => $row->hash, 'id' => $row->hash,
'method' => 'update', 'method' => 'update',
'modalTitle' => 'Ubah Kategori', 'modalTitle' => 'Ubah FAQs',
])->render(); ])->render();
} }
if (auth()->user()->can('delete faq')) { if (auth()->user()->can('delete faq')) {
$actions .= view('components.datatables.delete', [ $actions .= view('components.datatables.delete', [
'id' => $row->hash, 'id' => $row->hash,
'deleteRoute' => route('studio.manage.faq.delete', $row->hash), 'deleteRoute' => route('studio.information.faq.delete', $row->hash),
])->render(); ])->render();
} }

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Livewire\Forms\Studio\Manage; namespace App\Livewire\Forms\Studio\Information;
use App\Models\Faq; use App\Models\Faq;
use Livewire\Form; use Livewire\Form;

View File

@ -1,8 +1,8 @@
<?php <?php
namespace App\Livewire\Studio\Manage; namespace App\Livewire\Studio\Information;
use App\Livewire\Forms\Studio\Manage\FaqForm; use App\Livewire\Forms\Studio\Information\FaqForm;
use App\Models\Faq as FaqModel; use App\Models\Faq as FaqModel;
use App\Traits\Notification\WithSubscribeNotification; use App\Traits\Notification\WithSubscribeNotification;
use App\Traits\WithAuthorization; use App\Traits\WithAuthorization;
@ -93,7 +93,7 @@ public function sortOrder(FaqModel $faq, string $direction)
public function render() public function render()
{ {
return view('livewire.studio.manage.faqs', [ return view('livewire.studio.information.faqs', [
'pageTitle' => 'FAQs', 'pageTitle' => 'FAQs',
]); ]);
} }

View File

@ -169,13 +169,6 @@ public function boot(): void
'match' => 'studio.manage.article.*', 'match' => 'studio.manage.article.*',
'can' => 'view article', 'can' => 'view article',
], ],
[
'label' => 'FAQs',
'icon' => 'question-mark-circle',
'route' => 'studio.manage.faq.index',
'match' => 'studio.manage.faq.*',
'can' => 'view faq',
],
], ],
], ],
[ [
@ -196,6 +189,13 @@ public function boot(): void
'can' => 'view price request', 'can' => 'view price request',
'badge' => $priceRequestCount, 'badge' => $priceRequestCount,
], ],
[
'label' => 'FAQs',
'icon' => 'question-mark-circle',
'route' => 'studio.information.faq.index',
'match' => 'studio.information.faq.*',
'can' => 'view faq',
],
], ],
], ],
[ [

View File

@ -15,7 +15,7 @@
</div> </div>
<div class="mt-6"> <div class="mt-6">
<livewire:datatable.studio.manage.faqs-table /> <livewire:datatable.studio.information.faqs-table />
</div> </div>
@include('components.confirmation.delete') @include('components.confirmation.delete')

View File

@ -21,6 +21,7 @@
use App\Livewire\Studio\Finance\Expense as ExpenseComponent; use App\Livewire\Studio\Finance\Expense as ExpenseComponent;
use App\Livewire\Studio\Finance\Payroll as PayrollComponent; use App\Livewire\Studio\Finance\Payroll as PayrollComponent;
use App\Livewire\Studio\Information\Broadcast as BroadcastComponent; use App\Livewire\Studio\Information\Broadcast as BroadcastComponent;
use App\Livewire\Studio\Information\Faq as FaqComponent;
use App\Livewire\Studio\Information\PriceRequest as PriceRequestComponent; use App\Livewire\Studio\Information\PriceRequest as PriceRequestComponent;
use App\Livewire\Studio\Loyalty\Customer as CustomerComponent; use App\Livewire\Studio\Loyalty\Customer as CustomerComponent;
use App\Livewire\Studio\Loyalty\Tier as TierComponent; use App\Livewire\Studio\Loyalty\Tier as TierComponent;
@ -30,7 +31,6 @@
use App\Livewire\Studio\Manage\Article\Create as ArticleCreate; use App\Livewire\Studio\Manage\Article\Create as ArticleCreate;
use App\Livewire\Studio\Manage\Article\Edit as ArticleEdit; use App\Livewire\Studio\Manage\Article\Edit as ArticleEdit;
use App\Livewire\Studio\Manage\Article\Index as ArticleIndex; use App\Livewire\Studio\Manage\Article\Index as ArticleIndex;
use App\Livewire\Studio\Manage\Faq as FaqComponent;
use App\Livewire\Studio\Manage\Order\Create as OrderCreate; use App\Livewire\Studio\Manage\Order\Create as OrderCreate;
use App\Livewire\Studio\Manage\Order\Index as OrderIndex; use App\Livewire\Studio\Manage\Order\Index as OrderIndex;
use App\Livewire\Studio\Manage\Order\Show as OrderShow; use App\Livewire\Studio\Manage\Order\Show as OrderShow;
@ -172,11 +172,6 @@
Route::get('/{article}/edit', ArticleEdit::class)->name('edit')->middleware('can:update article'); Route::get('/{article}/edit', ArticleEdit::class)->name('edit')->middleware('can:update article');
Route::delete('/{article}/delete', ArticleCreate::class)->name('delete')->middleware('can:delete article'); Route::delete('/{article}/delete', ArticleCreate::class)->name('delete')->middleware('can:delete article');
}); });
Route::prefix('faqs')->name('faq.')->group(function () {
Route::get('/', FaqComponent::class)->name('index')->middleware('can:view faq');
Route::delete('/{faq}/delete', FaqComponent::class)->name('delete')->middleware('can:delete faq');
});
}); });
Route::prefix('information')->name('studio.information.')->group(function () { Route::prefix('information')->name('studio.information.')->group(function () {
@ -187,6 +182,11 @@
Route::patch('/{priceRequest}/approve', PriceRequestComponent::class)->name('approve')->middleware('can:approve price request'); Route::patch('/{priceRequest}/approve', PriceRequestComponent::class)->name('approve')->middleware('can:approve price request');
Route::patch('/{priceRequest}/reject', PriceRequestComponent::class)->name('reject')->middleware('can:reject price request'); Route::patch('/{priceRequest}/reject', PriceRequestComponent::class)->name('reject')->middleware('can:reject price request');
}); });
Route::prefix('faqs')->name('faq.')->group(function () {
Route::get('/', FaqComponent::class)->name('index')->middleware('can:view faq');
Route::delete('/{faq}/delete', FaqComponent::class)->name('delete')->middleware('can:delete faq');
});
}); });
Route::prefix('feature')->name('studio.feature.')->group(function () { Route::prefix('feature')->name('studio.feature.')->group(function () {