diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index e0cf61f..4bbba97 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -9,17 +9,19 @@ use Illuminate\Support\Facades\Mail; class ContactController extends Controller { - public function contact(Request $request) { + public function contact(Request $request) + { $status = $request->session()->get('status'); return view('front.contact', compact('status')); } - public function contactSubmit(ContactFormRequest $request) { + public function contactSubmit(ContactFormRequest $request) + { $data = $request->all(); $toMail = config('mail.contactsList.contactform'); - if(!is_array($toMail)) { + if (!is_array($toMail)) { $toMail = explode(',', $toMail); } //envoi du mail d'alerte diff --git a/app/Http/Controllers/GammesController.php b/app/Http/Controllers/GammesController.php index 58c1c6e..f957bb1 100644 --- a/app/Http/Controllers/GammesController.php +++ b/app/Http/Controllers/GammesController.php @@ -31,6 +31,7 @@ class GammesController extends Controller } $products = Product::whereIn('gamme_id', $gammes) + ->where('is_published', 1) ->orderBy('name') ->get(); diff --git a/app/Http/Requests/ContactFormRequest.php b/app/Http/Requests/ContactFormRequest.php index 294e79d..452bdba 100644 --- a/app/Http/Requests/ContactFormRequest.php +++ b/app/Http/Requests/ContactFormRequest.php @@ -32,6 +32,8 @@ class ContactFormRequest extends FormRequest 'city' => 'required|string|max:255', 'phone' => 'required|max:255', 'email' => 'required|email:rfc,dns,spoof|max:255', + 'country' => 'required|string|max:255', + 'departement' => 'required_if:country,France|max:255', 'topic' => 'required', 'product_name' => 'required_if:topic,Réclamation|max:255', 'barcode' => 'required_if:topic,Réclamation|max:128', diff --git a/app/Http/Requests/StoreProductRequest.php b/app/Http/Requests/StoreProductRequest.php index bceeba0..e4f440e 100644 --- a/app/Http/Requests/StoreProductRequest.php +++ b/app/Http/Requests/StoreProductRequest.php @@ -2,6 +2,8 @@ namespace App\Http\Requests; +use App\Models\Gamme; +use Carbon\Exceptions\InvalidFormatException; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Str; @@ -140,7 +142,10 @@ class StoreProductRequest extends FormRequest $this->merge([ 'slug' => Str::slug($this->name), - 'gamme_id' => $this->gamme_id === '0' ? null : $this->gamme_id, + 'gamme_id' => + $this->is_food_service ? + Gamme::where("slug->fr", "food-service")->firstOrFail()->id : + $this->gamme_id, 'pictos' => $tabCuisson, 'plusproduit' => $tabPlusProduit, 'is_published' => $this->is_published ? true : false, @@ -162,7 +167,7 @@ class StoreProductRequest extends FormRequest public function rules() { return [ - 'gamme_id' => 'sometimes|nullable|exists:gammes,id', + 'gamme_id' => 'required|exists:gammes,id', 'name' => 'required|max:255', 'slug' => 'required|unique:products', 'description' => 'required|min:20', diff --git a/app/Http/Requests/StoreSlideRequest.php b/app/Http/Requests/StoreSlideRequest.php index 8f335b0..07219c8 100644 --- a/app/Http/Requests/StoreSlideRequest.php +++ b/app/Http/Requests/StoreSlideRequest.php @@ -14,6 +14,16 @@ class StoreSlideRequest extends FormRequest * @return bool */ public function authorize() + { + return auth()->check(); + } + + /** + * Prepare the data for validation. + * + * @return void + */ + protected function prepareForValidation() { try { $this->merge([ @@ -25,10 +35,10 @@ class StoreSlideRequest extends FormRequest // On fait rien } $this->merge([ + 'title' => 'lorem title ' . rand(), + 'text' => 'lorem text ' . rand(), 'link_new_tab' => $this->link_new_tab ? true : false ]); - - return auth()->check(); } /** diff --git a/app/Mail/SendContactMail.php b/app/Mail/SendContactMail.php index e70bfc1..ee2dac9 100644 --- a/app/Mail/SendContactMail.php +++ b/app/Mail/SendContactMail.php @@ -2,7 +2,7 @@ /** * Sender pour le contact - * + * * @category Description * @package Category * @author Name @@ -14,13 +14,12 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; /** * Undocumented class - * + * * @category Description * @package Category * @author Name diff --git a/database/seeders/GammesSeeder.php b/database/seeders/GammesSeeder.php index 9a9e03d..3fa08c0 100644 --- a/database/seeders/GammesSeeder.php +++ b/database/seeders/GammesSeeder.php @@ -356,5 +356,20 @@ class GammesSeeder extends Seeder $product->seo_title = 'volaille, poulet, Doux, qualités'; $product->seo_description = 'Doux vous propose des Poulets entiers congelés, nés, élevés et préparés en France'; $product->save(); + + $gamme = new Gamme(); + $gamme->title = 'Food Service'; + $gamme->slug = Str::slug($gamme->title); + $gamme->text = 'Food Service'; + $gamme->color = '#d4eac8'; + $upload = new SplFileInfo(resource_path('seeds/gammes/gamme_volaille.jpg')); + $imgpath = Utils::storeImage($upload, $gamme->getTable()); + $gamme->picture = $imgpath; + $gamme->alt_text_picture = $gamme->title; + $upload = new SplFileInfo(resource_path('seeds/gammes/entete-volaille.jpg')); + $bannerpath = Utils::storeImage($upload, $gamme->getTable()); + $gamme->banner = $bannerpath; + $gamme->alt_text_banner = $gamme->title; + $gamme->save(); } } diff --git a/public/assets/images/story-line.svg b/public/assets/images/story-line.svg new file mode 100644 index 0000000..53c7d02 --- /dev/null +++ b/public/assets/images/story-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/css/preload-front.css b/public/css/preload-front.css index 2c23342..cd6cf04 100644 --- a/public/css/preload-front.css +++ b/public/css/preload-front.css @@ -4143,6 +4143,20 @@ img{ display:flex; flex-direction:column; } +#frise-autoscroll .img-frise svg{ + width:272px; + height:1280px; + position:relative; +} +#frise-autoscroll .img-frise svg:first-child{ + top:-40px; +} +#frise-autoscroll .img-frise svg:nth-child(2){ + top:-100px; +} +#frise-autoscroll .img-frise svg:nth-child(3){ + top:-160px; +} #frise-autoscroll .img-frise .svg-mask{ position:-webkit-sticky; position:sticky; @@ -4179,6 +4193,7 @@ img{ width:24px; height:24px; margin-left:15px; + cursor:pointer; } .product ul.more li{ @@ -5180,8 +5195,13 @@ textarea{ margin-right:0; } -.country select{ - width:30%; +.country, +.drom{ + width:50%; +} +.country select, +.drom select{ + width:100%; border:none; border-bottom-color:currentcolor; border-bottom-style:none; @@ -5190,6 +5210,10 @@ textarea{ padding-bottom:1rem; } +.country{ + margin-right:15px; +} + fieldset{ margin-top:45px; border:0 none; diff --git a/public/js/preload-back.js b/public/js/preload-back.js index f20918b..9f5bd9f 100644 --- a/public/js/preload-back.js +++ b/public/js/preload-back.js @@ -173,7 +173,7 @@ __webpack_require__.r(__webpack_exports__); /******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { /******/ installedChunks[chunkId][0](); /******/ } -/******/ installedChunks[chunkIds[i]] = 0; +/******/ installedChunks[chunkId] = 0; /******/ } /******/ return __webpack_require__.O(result); /******/ } diff --git a/public/js/preload-front.js b/public/js/preload-front.js index 0fcc499..c544fca 100644 --- a/public/js/preload-front.js +++ b/public/js/preload-front.js @@ -32,7 +32,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } /*js doc*/ var Carrousel = /*#__PURE__*/function () { @@ -509,7 +509,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } /** * LDC Service Web @@ -1364,6 +1364,33 @@ module.exports = function (METHOD_NAME, argument) { }; +/***/ }), + +/***/ "./node_modules/core-js/internals/array-slice-simple.js": +/*!**************************************************************!*\ + !*** ./node_modules/core-js/internals/array-slice-simple.js ***! + \**************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); +var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js"); +var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "./node_modules/core-js/internals/length-of-array-like.js"); +var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js"); + +var Array = global.Array; +var max = Math.max; + +module.exports = function (O, start, end) { + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = Array(max(fin - k, 0)); + for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]); + result.length = n; + return result; +}; + + /***/ }), /***/ "./node_modules/core-js/internals/array-slice.js": @@ -1567,13 +1594,15 @@ var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/c var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); -module.exports = function (target, source) { +module.exports = function (target, source, exceptions) { var keys = ownKeys(source); var defineProperty = definePropertyModule.f; var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; for (var i = 0; i < keys.length; i++) { var key = keys[i]; - if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } } }; @@ -1639,9 +1668,9 @@ var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_module var returnThis = function () { return this; }; -module.exports = function (IteratorConstructor, NAME, next) { +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); Iterators[TO_STRING_TAG] = returnThis; return IteratorConstructor; @@ -2180,15 +2209,16 @@ module.exports = function (KEY, exec, FORCED, SHAM) { /*!**********************************************************!*\ !*** ./node_modules/core-js/internals/function-apply.js ***! \**********************************************************/ -/***/ ((module) => { +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); var FunctionPrototype = Function.prototype; var apply = FunctionPrototype.apply; -var bind = FunctionPrototype.bind; var call = FunctionPrototype.call; // eslint-disable-next-line es/no-reflect -- safe -module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () { +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { return call.apply(apply, arguments); }); @@ -2203,29 +2233,49 @@ module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bin var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); var aCallable = __webpack_require__(/*! ../internals/a-callable */ "./node_modules/core-js/internals/a-callable.js"); +var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); var bind = uncurryThis(uncurryThis.bind); // optional / simple context binding module.exports = function (fn, that) { aCallable(fn); - return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) { + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { return fn.apply(that, arguments); }; }; +/***/ }), + +/***/ "./node_modules/core-js/internals/function-bind-native.js": +/*!****************************************************************!*\ + !*** ./node_modules/core-js/internals/function-bind-native.js ***! + \****************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +module.exports = !fails(function () { + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + /***/ }), /***/ "./node_modules/core-js/internals/function-call.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/internals/function-call.js ***! \*********************************************************/ -/***/ ((module) => { +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); var call = Function.prototype.call; -module.exports = call.bind ? call.bind(call) : function () { +module.exports = NATIVE_BIND ? call.bind(call) : function () { return call.apply(call, arguments); }; @@ -2263,15 +2313,17 @@ module.exports = { /*!*****************************************************************!*\ !*** ./node_modules/core-js/internals/function-uncurry-this.js ***! \*****************************************************************/ -/***/ ((module) => { +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); var FunctionPrototype = Function.prototype; var bind = FunctionPrototype.bind; var call = FunctionPrototype.call; -var callBind = bind && bind.bind(call); +var uncurryThis = NATIVE_BIND && bind.bind(call, call); -module.exports = bind ? function (fn) { - return fn && callBind(call, fn); +module.exports = NATIVE_BIND ? function (fn) { + return fn && uncurryThis(fn); } : function (fn) { return fn && function () { return call.apply(fn, arguments); @@ -2497,9 +2549,9 @@ var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_mo var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); -// Thank's IE8 for his funny defineProperty +// Thanks to IE8 for its funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { - // eslint-disable-next-line es/no-object-defineproperty -- requied for testing + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a != 7; @@ -2738,7 +2790,7 @@ var constructorRegExp = /^\s*(?:class|function)\b/; var exec = uncurryThis(constructorRegExp.exec); var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); -var isConstructorModern = function (argument) { +var isConstructorModern = function isConstructor(argument) { if (!isCallable(argument)) return false; try { construct(noop, empty, argument); @@ -2748,16 +2800,25 @@ var isConstructorModern = function (argument) { } }; -var isConstructorLegacy = function (argument) { +var isConstructorLegacy = function isConstructor(argument) { if (!isCallable(argument)) return false; switch (classof(argument)) { case 'AsyncFunction': case 'GeneratorFunction': case 'AsyncGeneratorFunction': return false; + } + try { // we can't check .prototype since constructors produced by .bind haven't it - } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } }; +isConstructorLegacy.sham = true; + // `IsConstructor` abstract operation // https://tc39.es/ecma262/#sec-isconstructor module.exports = !construct || fails(function () { @@ -3111,7 +3172,7 @@ module.exports = !$assign || fails(function () { /* global ActiveXObject -- old IE, WSH */ var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); -var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); +var definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js"); var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js"); var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js"); @@ -3189,7 +3250,7 @@ module.exports = Object.create || function create(O, Properties) { // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; } else result = NullProtoObject(); - return Properties === undefined ? result : defineProperties(result, Properties); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); }; @@ -3199,9 +3260,10 @@ module.exports = Object.create || function create(O, Properties) { /*!********************************************************************!*\ !*** ./node_modules/core-js/internals/object-define-properties.js ***! \********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "./node_modules/core-js/internals/v8-prototype-define-bug.js"); var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); @@ -3210,7 +3272,7 @@ var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_mod // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties // eslint-disable-next-line es/no-object-defineproperties -- safe -module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var props = toIndexedObject(Properties); var keys = objectKeys(Properties); @@ -3233,16 +3295,37 @@ module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperti var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js"); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "./node_modules/core-js/internals/v8-prototype-define-bug.js"); var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js"); var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js"); var TypeError = global.TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty -exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPropertyKey(P); anObject(Attributes); @@ -3299,7 +3382,7 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js"); var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js"); var $getOwnPropertyNames = (__webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f); -var arraySlice = __webpack_require__(/*! ../internals/array-slice */ "./node_modules/core-js/internals/array-slice.js"); +var arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ "./node_modules/core-js/internals/array-slice-simple.js"); var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; @@ -3763,7 +3846,7 @@ var UPDATES_LAST_INDEX_WRONG = (function () { return re1.lastIndex !== 0 || re2.lastIndex !== 0; })(); -var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; // nonparticipating capturing group, copied from es5-shim's String#split patch. var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; @@ -3771,7 +3854,6 @@ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; if (PATCH) { - // eslint-disable-next-line max-statements -- TODO patchedExec = function exec(string) { var re = this; var state = getInternalState(re); @@ -3886,7 +3968,7 @@ module.exports = function () { /*!*****************************************************************!*\ !*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***! \*****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); @@ -3894,19 +3976,31 @@ var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var $RegExp = global.RegExp; -exports.UNSUPPORTED_Y = fails(function () { +var UNSUPPORTED_Y = fails(function () { var re = $RegExp('a', 'y'); re.lastIndex = 2; return re.exec('abcd') != null; }); -exports.BROKEN_CARET = fails(function () { +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 var re = $RegExp('^r', 'gy'); re.lastIndex = 2; return re.exec('str') != null; }); +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + /***/ }), @@ -4035,9 +4129,10 @@ var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -module.exports = function (it, TAG, STATIC) { - if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); } }; @@ -4091,9 +4186,11 @@ var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.19.1', + version: '3.21.0', mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2021 Denis Pushkarev (zloirock.ru)' + copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE', + source: 'https://github.com/zloirock/core-js' }); @@ -4432,6 +4529,28 @@ module.exports = NATIVE_SYMBOL && typeof Symbol.iterator == 'symbol'; +/***/ }), + +/***/ "./node_modules/core-js/internals/v8-prototype-define-bug.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/internals/v8-prototype-define-bug.js ***! + \*******************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); +var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype != 42; +}); + + /***/ }), /***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js": @@ -4517,7 +4636,10 @@ var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js"); var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js"); var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js"); +var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f); var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js"); +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js"); +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); var ARRAY_ITERATOR = 'Array Iterator'; var setInternalState = InternalStateModule.set; @@ -4559,13 +4681,18 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) { // argumentsList[@@iterator] is %ArrayProto_values% // https://tc39.es/ecma262/#sec-createunmappedargumentsobject // https://tc39.es/ecma262/#sec-createmappedargumentsobject -Iterators.Arguments = Iterators.Array; +var values = Iterators.Arguments = Iterators.Array; // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + /***/ }), @@ -4669,7 +4796,7 @@ var defineProperty = (__webpack_require__(/*! ../internals/object-define-propert var FunctionPrototype = Function.prototype; var functionToString = uncurryThis(FunctionPrototype.toString); -var nameRE = /^\s*function ([^ (]*)/; +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; var regExpExec = uncurryThis(nameRE.exec); var NAME = 'name'; @@ -4795,10 +4922,11 @@ var re2 = /a/g; // "new" should create a new object, old webkit bug var CORRECT_NEW = new NativeRegExp(re1) !== re1; +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; var BASE_FORCED = DESCRIPTORS && - (!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { re2[MATCH] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; @@ -4903,9 +5031,9 @@ if (isForced('RegExp', BASE_FORCED)) { rawFlags = flags; - if (UNSUPPORTED_Y && 'sticky' in re1) { + if (MISSED_STICKY && 'sticky' in re1) { sticky = !!flags && stringIndexOf(flags, 'y') > -1; - if (sticky) flags = replace(flags, /y/g, ''); + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); } if (UNSUPPORTED_NCG) { @@ -5307,7 +5435,7 @@ var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-ind var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js"); var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js"); var getMethod = __webpack_require__(/*! ../internals/get-method */ "./node_modules/core-js/internals/get-method.js"); -var arraySlice = __webpack_require__(/*! ../internals/array-slice */ "./node_modules/core-js/internals/array-slice.js"); +var arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ "./node_modules/core-js/internals/array-slice-simple.js"); var callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js"); var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js"); var stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js"); @@ -5576,6 +5704,7 @@ var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-ge var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js"); var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js"); var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); +var definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js"); var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js"); var arraySlice = __webpack_require__(/*! ../internals/array-slice */ "./node_modules/core-js/internals/array-slice.js"); var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js"); @@ -5742,6 +5871,7 @@ if (!NATIVE_SYMBOL) { propertyIsEnumerableModule.f = $propertyIsEnumerable; definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; diff --git a/resources/assets/images/story-line.svg b/resources/assets/images/story-line.svg new file mode 100644 index 0000000..53c7d02 --- /dev/null +++ b/resources/assets/images/story-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/sass/frontend/_form.scss b/resources/sass/frontend/_form.scss index 50f5692..c1c367d 100644 --- a/resources/sass/frontend/_form.scss +++ b/resources/sass/frontend/_form.scss @@ -70,16 +70,23 @@ textarea { margin-right: 0; } } -.country select { - width: 30%; - border: none; - border-bottom-color: currentcolor; - border-bottom-style: none; - border-bottom-width: medium; - border-bottom: 1px solid black; - padding-bottom: 1rem; -} +.country, +.drom { + width: 50%; + select { + width: 100%; + border: none; + border-bottom-color: currentcolor; + border-bottom-style: none; + border-bottom-width: medium; + border-bottom: 1px solid black; + padding-bottom: 1rem; + } +} +.country { + margin-right: 15px; +} fieldset { margin-top: 45px; border: 0 none; diff --git a/resources/sass/frontend/_globals.scss b/resources/sass/frontend/_globals.scss index 3f57b17..7b2f0af 100644 --- a/resources/sass/frontend/_globals.scss +++ b/resources/sass/frontend/_globals.scss @@ -31,6 +31,22 @@ img { display: flex; flex-direction: column; + svg { + width: 272px; + height: 1280px; + position: relative; + } + + & svg:first-child { + top: -40px; + } + & svg:nth-child(2) { + top: -100px; + } + & svg:nth-child(3) { + top: -160px; + } + .svg-mask { position: sticky; width: 100%; @@ -75,6 +91,7 @@ img { width: 24px; height: 24px; margin-left: 15px; + cursor: pointer; } .product ul.more li { diff --git a/resources/views/back/products/form-inputs.blade.php b/resources/views/back/products/form-inputs.blade.php index 558c7a1..73646da 100644 --- a/resources/views/back/products/form-inputs.blade.php +++ b/resources/views/back/products/form-inputs.blade.php @@ -4,7 +4,6 @@
- @include('back.modules.input-error', ['inputName'=>'title']) -
-
- - - @include('back.modules.input-error', ['inputName'=>'text']) -

diff --git a/resources/views/back/slides/index.blade.php b/resources/views/back/slides/index.blade.php index 576ff69..5a68566 100644 --- a/resources/views/back/slides/index.blade.php +++ b/resources/views/back/slides/index.blade.php @@ -14,8 +14,6 @@ - - @@ -28,8 +26,6 @@ @foreach($slides as $slide) - - diff --git a/resources/views/emails/send-contact.blade.php b/resources/views/emails/send-contact.blade.php index 5c18a28..5a9a6d2 100644 --- a/resources/views/emails/send-contact.blade.php +++ b/resources/views/emails/send-contact.blade.php @@ -154,7 +154,7 @@ diff --git a/resources/views/front/a-propos.blade.php b/resources/views/front/a-propos.blade.php index ed60ec2..a9452a7 100644 --- a/resources/views/front/a-propos.blade.php +++ b/resources/views/front/a-propos.blade.php @@ -82,6 +82,9 @@
+ {{-- + + --}} Fil de l'histoire Fil de l'histoire Fil de l'histoire diff --git a/resources/views/front/contact.blade.php b/resources/views/front/contact.blade.php index b7a11c1..6fd804b 100644 --- a/resources/views/front/contact.blade.php +++ b/resources/views/front/contact.blade.php @@ -117,13 +117,33 @@
-
- +
+
+ +
+
+ +
@@ -217,11 +237,32 @@ function hideReclaFields() { document.getElementById('file').required = false; } +function showDromField(sel) { + if (document.getElementById('country').options[sel.selectedIndex].text=='France') { + var dromList = document.getElementById('departement'); + dromList.style.display = 'initial'; + dromList.required = true; + } else { + hideDromField(); + } +} + +function hideDromField() { + var dromList = document.getElementById('departement'); + dromList.style.display = 'none'; + dromList.required = false; +} + document.addEventListener('DOMContentLoaded', function () { hideReclaFields(); + hideDromField(); @if (old('topic')=="Réclamation") showReclaFields(); @endif + @if (old('country')=="France") + showDromField(); + @endif }); + @endpush diff --git a/resources/views/front/gammes/index.blade.php b/resources/views/front/gammes/index.blade.php index 4ed27e5..4aa7408 100644 --- a/resources/views/front/gammes/index.blade.php +++ b/resources/views/front/gammes/index.blade.php @@ -43,13 +43,15 @@
@foreach ($gammes as $gamme) -
- {{ $gamme->alt_text_picture}} - - - {{ $gamme->title}} - -
+ @if ($gamme->slug != 'food-service') +
+ {{ $gamme->alt_text_picture}} + + + {{ $gamme->title}} + +
+ @endif @endforeach
diff --git a/resources/views/layouts/frontend/app-header.blade.php b/resources/views/layouts/frontend/app-header.blade.php index a9d6d29..1105f5d 100644 --- a/resources/views/layouts/frontend/app-header.blade.php +++ b/resources/views/layouts/frontend/app-header.blade.php @@ -122,7 +122,7 @@
- +
@push('scripts')
{{ __('Titre') }}{{ __('Texte') }} {{ __('Image') }} {{ __('Lien') }} {{ __('Début') }}
{{$slide->title}}{!! $slide->text !!} @if (!empty($slide->picture))@endif {{ $slide->link_label }} {{$slide->date_start}}
-
Expediteur : {{ $data->civilite }} {{ $data->name }} {{ $data->lastname }}

Adresse : {{ $data->address }} {{ $data->postcode }} {{ $data->city }}

Téléphone : {{ $data->phone }}

Email : {{ $data->email }}

Sujet : {{ $data->topic }}

Produit : {{ $data->product_name }}

Code Barre : {{ $data->barcode }}

Lot : {{ $data->lot }}

Date limite de consommation : {{ $data->limit_date }}

Lieu d'achat : {{ $data->shop }}

Date de consommation : {{ $data->consumption_date }}

Message :

+
Expediteur : {{ $data->civilite }} {{ $data->name }} {{ $data->lastname }}

Adresse : {{ $data->address }} {{ $data->postcode }} {{ $data->city }}

Téléphone : {{ $data->phone }}

Email : {{ $data->email }}

Pays : {{ $data->country }}

Département : {{ $data->departement }}

Sujet : {{ $data->topic }}

Produit : {{ $data->product_name }}

Code Barre : {{ $data->barcode }}

Lot : {{ $data->lot }}

Date limite de consommation : {{ $data->limit_date }}

Lieu d'achat : {{ $data->shop }}

Date de consommation : {{ $data->consumption_date }}

Message :

{{ $data->message }}