diff --git a/app/Enums/Settings/SettingsType.php b/app/Enums/Settings/SettingsType.php index 354bc0f8..2143ba32 100644 --- a/app/Enums/Settings/SettingsType.php +++ b/app/Enums/Settings/SettingsType.php @@ -24,7 +24,7 @@ enum SettingsType: int private const LABELS = [ self::mainMenu->name => 'Menu principal', self::hotNews->name => 'Infos chaudes', - self::recipes->name => 'Listage des recettes', - self::recipe->name => 'Fiche recette', + self::recipes->name => 'Page des recettes', + self::recipe->name => 'Page d\'une recette', ]; } diff --git a/app/Enums/StaticPageType.php b/app/Enums/StaticPageType.php index 85744704..7d06f660 100644 --- a/app/Enums/StaticPageType.php +++ b/app/Enums/StaticPageType.php @@ -25,7 +25,7 @@ enum StaticPageType: int self::legals->name => 'Mentions légales', self::confidentiality->name => 'Confidentialité', self::recruitment->name => 'Recrutement', - self::story->name => 'Qui sommes nous ?', + self::story->name => 'Qui sommes-nous ?', self::saga->name => 'Saga publicitaire', ]; } diff --git a/app/Http/Controllers/Bo/ConsumptionMomentController.php b/app/Http/Controllers/Bo/ConsumptionMomentController.php index 43f90a22..4dc39cbe 100644 --- a/app/Http/Controllers/Bo/ConsumptionMomentController.php +++ b/app/Http/Controllers/Bo/ConsumptionMomentController.php @@ -91,12 +91,12 @@ class ConsumptionMomentController extends Controller if ($consumptionMoment->saveOrFail()) { return redirect()->route('bo.consumption_moments.edit', $consumptionMoment) ->with('success', __('crud.messages.has_been_created', [ - 'model' => Str::ucfirst(__('models.classes.consumption_moment')) + 'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1)) ])); } return redirect()->back() ->with('error', __('crud.messages.cannot_be_created', [ - 'model' => Str::ucfirst(__('models.classes.consumption_moment')) + 'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1)) ])); }); } @@ -129,12 +129,12 @@ class ConsumptionMomentController extends Controller if ($consumptionMoment->saveOrFail()) { return redirect()->route('bo.consumption_moments.edit', $consumptionMoment) ->with('success', __('crud.messages.has_been_updated', [ - 'model' => Str::ucfirst(__('models.classes.consumption_moment')) + 'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1)) ])); } return redirect()->route('bo.consumption_moments.edit', $consumptionMoment) ->with('error', __('crud.messages.cannot_be_updated', [ - 'model' => Str::ucfirst(__('models.classes.consumption_moment')) + 'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1)) ])); }); } @@ -153,12 +153,12 @@ class ConsumptionMomentController extends Controller if ($consumptionMoment->deleteOrFail()) { return redirect()->route('bo.consumption_moments.index', $previousQueries) ->with('success', __('crud.messages.has_been_deleted', [ - 'model' => Str::ucfirst(__('models.classes.consumption_moment')) + 'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1)) ])); } return redirect()->back() ->with('error', __('crud.messages.cannot_be_deleted', [ - 'model' => Str::ucfirst(__('models.classes.consumption_moment')) + 'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1)) ])); } diff --git a/app/Http/Controllers/Bo/GeneralSettingController.php b/app/Http/Controllers/Bo/GeneralSettingController.php index a47ce0e8..706ec099 100644 --- a/app/Http/Controllers/Bo/GeneralSettingController.php +++ b/app/Http/Controllers/Bo/GeneralSettingController.php @@ -7,8 +7,6 @@ use App\Http\Controllers\Controller; use App\Http\Requests\Bo\GeneralSettings\UpdateGeneralSettingRequest; use App\Lib\Helpers\FileStorageHelper; use App\Models\GeneralSetting; -use Illuminate\Database\Query\Builder; -use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; @@ -22,42 +20,6 @@ class GeneralSettingController extends Controller $this->authorizeResource(GeneralSetting::class); } - /** - * Display a listing of the resource. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Contracts\View\View - */ - public function index(Request $request): \Illuminate\Contracts\View\View - { - /** @var \Illuminate\Database\Eloquent\Builder $query */ - $query = GeneralSetting::query(); - - /** @var string $search Search field */ - $search = $request->search; - if ($search) { - $this->searchQuery( - $query, - $search, - fn (Builder $q) => $q->whereIn('type', collect(SettingsType::all()) - ->filter(fn (SettingsType $type) => str($type->label())->contains($search) or - str($type->value())->contains($search))), - 'type', - ); - } - $searchFields = \implode(', ', [ - trans('validation.custom.general_setting_type'), - ]); - - /** Sort columns with a query */ - $this->sortQuery($query); - - /** Custom pagination */ - $generalSettingsModelList = $this->paginate($query); - - return view('bo.pages.general_settings.index', compact('generalSettingsModelList', 'search', 'searchFields')); - } - /** * Show the form for editing the specified resource. * diff --git a/app/Http/Controllers/Bo/StaticPageController.php b/app/Http/Controllers/Bo/StaticPageController.php index 9b92073d..7dfac7e2 100644 --- a/app/Http/Controllers/Bo/StaticPageController.php +++ b/app/Http/Controllers/Bo/StaticPageController.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; use App\Http\Requests\Bo\StaticPages\UpdateStaticPageRequest; use App\Models\StaticPage; -use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; @@ -19,40 +18,6 @@ class StaticPageController extends Controller $this->authorizeResource(StaticPage::class); } - /** - * Display a listing of the resource. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Contracts\View\View - */ - public function index(Request $request): \Illuminate\Contracts\View\View - { - /** @var \Illuminate\Database\Eloquent\Builder $query */ - $query = StaticPage::query(); - - /** @var string $search Search field */ - $search = $request->search; - if ($search) { - $this->searchQuery( - $query, - $search, - null, - 'title', - ); - } - $searchFields = \implode(', ', [ - trans('validation.attributes.title'), - ]); - - /** Sort columns with a query */ - $this->sortQuery($query); - - /** Custom pagination */ - $staticPageModelList = $this->paginate($query); - - return view('bo.pages.static_pages.index', compact('staticPageModelList', 'search', 'searchFields')); - } - /** * Show the form for editing the specified resource. * diff --git a/app/Providers/ViewServiceProvider.php b/app/Providers/ViewServiceProvider.php index febae7a3..323ddbc9 100644 --- a/app/Providers/ViewServiceProvider.php +++ b/app/Providers/ViewServiceProvider.php @@ -3,9 +3,11 @@ namespace App\Providers; use App\Enums\Settings\SettingsType; +use App\Enums\StaticPageType; use App\Models\GeneralSetting; use App\Models\Meat; use App\Models\Range; +use App\Models\StaticPage; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\File; @@ -18,9 +20,11 @@ class ViewServiceProvider extends ServiceProvider * Bootstrap any application services. * * @return void + * phpcs:disable Generic.Metrics.CyclomaticComplexity.TooHigh */ public function boot(): void { + // phpcs:enable $appInfos = Cache::remember('composer', 360, function () { return json_decode(File::get(\app_path('../composer.json'))); }); @@ -54,37 +58,39 @@ class ViewServiceProvider extends ServiceProvider })()); View::share('menuNodeDataList', app('menuNodeDataList')); - // * Inject first meat and range : needed for the bo menu. - View::share('firstMeat', (function () { - /** @var \App\Models\Meat|null */ - $firstMeat = Meat::query()->first(); - return (!$firstMeat) ? null : $firstMeat; - })()); - View::share('firstRange', (function () { - /** @var \App\Models\Range|null */ - $firstRange = Range::query()->first(); - return (!$firstRange) ? null : $firstRange; - })()); - // * Inject configuration model View::share('mainMenuSettingModel', (function () { - /** @var \App\Models\GeneralSetting|null */ - $mainMenuSettingModel = GeneralSetting::query()->where('type', SettingsType::mainMenu)->first(); - return (!$mainMenuSettingModel) ? null : $mainMenuSettingModel; + return GeneralSetting::query()->where('type', SettingsType::mainMenu)->first() ?: null; })()); View::share('hotNewsSettingModel', (function () { - /** @var \App\Models\GeneralSetting|null */ - $hotNewsSettingModel = GeneralSetting::query()->where('type', SettingsType::hotNews)->first(); - return (!$hotNewsSettingModel) ? null : $hotNewsSettingModel; + return GeneralSetting::query()->where('type', SettingsType::hotNews)->first() ?: null; })()); View::share('recipeSettingModel', (function () { - /** @var \App\Models\GeneralSetting|null */ - $recipeSettingModel = GeneralSetting::query()->where('type', SettingsType::recipe)->first(); - return (!$recipeSettingModel) ? null : $recipeSettingModel; + return GeneralSetting::query()->where('type', SettingsType::recipe)->first() ?: null; + })()); + View::share('recipesSettingModel', (function () { + return GeneralSetting::query()->where('type', SettingsType::recipes)->first() ?: null; + })()); + + // * Inject some data for the bo menu. + View::share('firstMeat', (function () { + return Meat::query()->first() ?: null; + })()); + View::share('firstRange', (function () { + return Range::query()->first() ?: null; })()); View::share('mainMenuMeatModels', (function () { return Meat::query()->where('published', true)->get(); })()); + View::share('storyStaticPageModel', (function () { + return StaticPage::query()->where('type', StaticPageType::story)->first() ?: null; + })()); + View::share('recruitmentStaticPageModel', (function () { + return StaticPage::query()->where('type', StaticPageType::recruitment)->first() ?: null; + })()); + View::share('sagaStaticPageModel', (function () { + return StaticPage::query()->where('type', StaticPageType::saga)->first() ?: null; + })()); } //end if } } diff --git a/resources/lang/fr/crud.php b/resources/lang/fr/crud.php index f640f315..c8742a73 100644 --- a/resources/lang/fr/crud.php +++ b/resources/lang/fr/crud.php @@ -11,7 +11,7 @@ return [ 'save' => 'sauvegarder', 'edit' => 'mettre à jour', 'view' => 'aperçu', - 'order_submodels' => 'ordonner les sous-élements', + 'order_submodels' => 'ordonnancement des sous-élements', ], 'helpers' => [ @@ -24,7 +24,6 @@ return [ 'delete_model' => 'Supprimer :model', 'save_model' => 'Sauvegarder :model', 'edit_model' => 'Mettre à jour :model', - 'order_submodels' => 'Modifier l\'ordre des :model', 'no_results' => 'Aucun résultat pour :model', 'publish' => 'Publié', 'unpublish' => 'Dépublié', diff --git a/resources/lang/fr/models.php b/resources/lang/fr/models.php index 87954405..2a0347b8 100644 --- a/resources/lang/fr/models.php +++ b/resources/lang/fr/models.php @@ -19,7 +19,7 @@ return [ 'submeat' => 'sous-viande', 'label' => 'label', 'demarche' => 'démarche', - 'consumption_moment' => 'moment de consommation', + 'consumption_moment' => 'moment de consommation|moments de consommation', 'video' => 'vidéo', 'product' => 'produit', 'recipe' => 'recette', diff --git a/resources/sass/bo/base/_common.scss b/resources/sass/bo/base/_common.scss index e4712610..5f0c9d6b 100644 --- a/resources/sass/bo/base/_common.scss +++ b/resources/sass/bo/base/_common.scss @@ -20,7 +20,7 @@ body { left: 0; overflow-y: auto; - @include media-breakpoint-up(md) { + @include media-breakpoint-up(lg) { z-index: 1; height: calc(100vh - #{$bo-header-height}); } @@ -28,7 +28,7 @@ body { .sidemenu { height: calc(100vh - #{$bo-header-height}); - @include media-breakpoint-up(md) { + @include media-breakpoint-up(lg) { height: fit-content; } } diff --git a/resources/sass/bo/utilities/_bootstrap-variables.scss b/resources/sass/bo/utilities/_bootstrap-variables.scss index 7af4d0ed..a32dc9d7 100644 --- a/resources/sass/bo/utilities/_bootstrap-variables.scss +++ b/resources/sass/bo/utilities/_bootstrap-variables.scss @@ -1,3 +1,6 @@ +@use 'sass:map'; +@import 'bootstrap/scss/functions'; + // Override bootstrap colors $primary: $color-primary; $secondary: $color-secondary; @@ -22,3 +25,13 @@ $theme-colors: ( $font-family-base: $font-default-family-base; $font-size-base: $font-default-size-base; $line-height-base: $line-default-height-base; +$grid-breakpoints: map.merge(( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px, + xxl: 1400px +), ( + xxxl: 1700px, +)) diff --git a/resources/views/bo/layout.blade.php b/resources/views/bo/layout.blade.php index af5a8504..456e48d6 100644 --- a/resources/views/bo/layout.blade.php +++ b/resources/views/bo/layout.blade.php @@ -15,7 +15,7 @@ id="main-container">