]> _ Git - psq.git/commitdiff
created blocks, added cards
authorLouis Jeckel <louis.jeckel@outlook.cm>
Wed, 6 May 2020 12:07:35 +0000 (14:07 +0200)
committerLouis Jeckel <louis.jeckel@outlook.cm>
Wed, 6 May 2020 12:07:35 +0000 (14:07 +0200)
21 files changed:
app/Http/Controllers/HomeController.php
public/admin/js/admin.js
public/css/app.css
public/js/app.js
resources/js/components/Home/cover.vue [new file with mode: 0644]
resources/js/components/Links/GenerateLink.vue [deleted file]
resources/sass/app.scss
resources/views/home.blade.php [deleted file]
resources/views/home/blocks/1_last_editions.blade.php [new file with mode: 0644]
resources/views/home/blocks/1_news.blade.php [new file with mode: 0644]
resources/views/home/blocks/2_ad_campaigns.blade.php [new file with mode: 0644]
resources/views/home/blocks/3_events.blade.php [new file with mode: 0644]
resources/views/home/blocks/4_news.blade.php [new file with mode: 0644]
resources/views/home/blocks/5_archives.blade.php [new file with mode: 0644]
resources/views/home/blocks/6_jobs.blade.php [new file with mode: 0644]
resources/views/home/blocks/7_podcasts.blade.php [new file with mode: 0644]
resources/views/home/blocks/A_intro.blade.php [new file with mode: 0644]
resources/views/home/blocks/B_discover.blade.php [new file with mode: 0644]
resources/views/home/blocks/C_subscribe.blade.php [new file with mode: 0644]
resources/views/home/blocks/D_contact.blade.php [new file with mode: 0644]
resources/views/home/index.blade.php [new file with mode: 0644]

index b799a042f2eb92e959b948d6566391b48e88cba5..559770e552cb1cebfb1772de041a12a8ccc681ab 100644 (file)
@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers;
 
+use App\PdfFile;
 use Illuminate\Http\Request;
 
 class HomeController extends Controller
@@ -14,7 +15,9 @@ class HomeController extends Controller
      */
     public function index()
     {
-        return view('home');
+        return view('home.index', [
+            'last_pdf' => PdfFile::query()->orderByDesc('id')->take(4)->get()->sortBy('id')
+        ]);
     }
 
 
index 9c1ed205db731282551142a06f8167d2453e116c..d9d8ae5d9d4cb5b3c9b2570c498315f0f67c1dde 100644 (file)
@@ -2263,10 +2263,10 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&":
-/*!*****************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js& ***!
-  \*****************************************************************************************************************************************************************************/
+/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=script&lang=js&":
+/*!*********************************************************************************************************************************************************************!*\
+  !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=script&lang=js& ***!
+  \*********************************************************************************************************************************************************************/
 /*! exports provided: default */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -2280,13 +2280,90 @@ __webpack_require__.r(__webpack_exports__);
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 /* harmony default export */ __webpack_exports__["default"] = ({
-  components: {},
+  name: "cover",
+  mounted: function mounted() {
+    this.isMounted = true;
+  },
+  props: ['dataImage', 'width', 'height'],
   data: function data() {
-    return {};
+    return {
+      isMounted: false,
+      mouseX: 0,
+      mouseY: 0,
+      mouseLeaveDelay: null
+    };
   },
-  mounted: function mounted() {},
-  methods: {}
+  computed: {
+    dimensions: function dimensions() {
+      return {
+        width: this.width,
+        height: Math.round(this.c_height) + 'px'
+      };
+    },
+    c_width: function c_width() {
+      return this.isMounted ? this.$refs.card.offsetWidth : 0;
+    },
+    c_height: function c_height() {
+      return this.isMounted ? this.height === undefined ? this.c_inner_width * 1.38 : this.height : 0;
+    },
+    c_inner_width: function c_inner_width() {
+      return this.isMounted ? this.$refs.inner.offsetWidth : 0;
+    },
+    mousePX: function mousePX() {
+      return this.mouseX / this.c_width;
+    },
+    mousePY: function mousePY() {
+      return this.mouseY / this.c_height;
+    },
+    cardStyle: function cardStyle() {
+      var rX = this.mousePX * 40;
+      var rY = this.mousePY * -40;
+      return {
+        transform: "rotateY(".concat(rX, "deg) rotateX(").concat(rY, "deg)")
+      };
+    },
+    cardBgTransform: function cardBgTransform() {// const tX = this.mousePX * -40;
+      // const tY = this.mousePY * -40;
+      // return {
+      //     transform: `translateX(${tX}px) translateY(${tY}px)`
+      // }
+    },
+    cardBgImage: function cardBgImage() {
+      return {
+        backgroundImage: "url(".concat(this.dataImage, ")")
+      };
+    }
+  },
+  methods: {
+    handleMouseMove: function handleMouseMove(e) {
+      this.mouseX = e.pageX - $(this.$refs.card).offset().left - this.c_width / 2;
+      this.mouseY = e.pageY - $(this.$refs.card).offset().top - this.c_height / 2;
+    },
+    handleMouseEnter: function handleMouseEnter() {
+      clearTimeout(this.mouseLeaveDelay);
+    },
+    handleMouseLeave: function handleMouseLeave() {
+      var _this = this;
+
+      this.mouseLeaveDelay = setTimeout(function () {
+        _this.mouseX = 0;
+        _this.mouseY = 0;
+      }, 500);
+    }
+  }
 });
 
 /***/ }),
@@ -9596,6 +9673,24 @@ function isnan (val) {
 
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
 
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&":
+/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-2!./node_modules/sass-loader/dist/cjs.js??ref--8-3!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& ***!
+  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+// Imports
+var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
+exports = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+exports.push([module.i, ".title[data-v-0ce5bbb2] {\n  font-family: \"Raleway\";\n  font-size: 24px;\n  font-weight: 700;\n  color: #5D4037;\n  text-align: center;\n}\n*[data-v-0ce5bbb2] {\n  -webkit-font-smoothing: antialiased;\n}\np[data-v-0ce5bbb2] {\n  line-height: 1.5em;\n}\nh1 + p[data-v-0ce5bbb2], p + p[data-v-0ce5bbb2] {\n  margin-top: 10px;\n}\n.card-wrap[data-v-0ce5bbb2] {\n  /*margin: 10px;*/\n  transform: perspective(800px);\n  transform-style: preserve-3d;\n  cursor: pointer;\n}\n.card-wrap:hover .card-info[data-v-0ce5bbb2] {\n  transform: translateY(0);\n}\n.card-wrap:hover .card-info p[data-v-0ce5bbb2] {\n  opacity: 1;\n}\n.card-wrap:hover .card-info[data-v-0ce5bbb2], .card-wrap:hover .card-info p[data-v-0ce5bbb2] {\n  transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.card-wrap:hover .card-info[data-v-0ce5bbb2]:after {\n  transition: 5s cubic-bezier(0.23, 1, 0.32, 1);\n  opacity: 1;\n  transform: translateY(0);\n}\n.card-wrap:hover .card-bg[data-v-0ce5bbb2] {\n  transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1), opacity 5s cubic-bezier(0.23, 1, 0.32, 1);\n  opacity: 0.8;\n}\n.card-wrap:hover .cover[data-v-0ce5bbb2] {\n  transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 2s cubic-bezier(0.23, 1, 0.32, 1);\n  box-shadow: rgba(255, 255, 255, 0.2) 0 0 40px 5px, rgba(0, 0, 0, 0.3) 0 30px 60px 0, inset #333 0 0 0 5px;\n}\n.cover[data-v-0ce5bbb2] {\n  position: relative;\n  flex: 0 0 100%;\n  width: 100%;\n  height: 100%;\n  background-color: #333;\n  overflow: hidden;\n  /*border-radius: 10px;*/\n  box-shadow: rgba(0, 0, 0, 0.3) 0 30px 60px 0, inset #333 0 0 0 5px;\n  transition: 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);\n}\n.card-bg[data-v-0ce5bbb2] {\n  opacity: 0.8;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  /*padding: 20px;*/\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: cover;\n  transition: 1s cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 5s 1s cubic-bezier(0.445, 0.05, 0.55, 0.95);\n  pointer-events: none;\n}\n.card-bg[data-v-0ce5bbb2] :hover {\n  opacity: 0.5;\n}\n.card-info[data-v-0ce5bbb2] {\n  padding: 10px;\n  position: absolute;\n  bottom: 0;\n  color: #fff;\n  transform: translateY(40%);\n  transition: 0.6s 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);\n  box-sizing: border-box !important;\n}\n.card-info p[data-v-0ce5bbb2] {\n  opacity: 0;\n  text-shadow: black 0 2px 3px;\n  transition: 0.6s 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.card-info *[data-v-0ce5bbb2] {\n  position: relative;\n  z-index: 1;\n}\n.card-info[data-v-0ce5bbb2]:after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 0;\n  width: 100%;\n  height: 100%;\n  background-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.6) 100%);\n  background-blend-mode: overlay;\n  opacity: 0;\n  transform: translateY(100%);\n  transition: 5s 1s cubic-bezier(0.445, 0.05, 0.55, 0.95);\n}\n.card-info h1[data-v-0ce5bbb2] {\n  font-family: \"Playfair Display\";\n  font-size: 36px;\n  font-weight: 700;\n  text-shadow: rgba(0, 0, 0, 0.5) 0 10px 10px;\n}", ""]);
+// Exports
+module.exports = exports;
+
+
 /***/ }),
 
 /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-stepper/src/HorizontalStepper.scss?vue&type=style&index=0&id=3ee86246&scoped=true&lang=scss&":
@@ -48262,6 +48357,37 @@ return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}
 
 /***/ }),
 
+/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&":
+/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+  !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-2!./node_modules/sass-loader/dist/cjs.js??ref--8-3!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& ***!
+  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+var api = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
+            var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-3!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&");
+
+            content = content.__esModule ? content.default : content;
+
+            if (typeof content === 'string') {
+              content = [[module.i, content, '']];
+            }
+
+var options = {};
+
+options.insert = "head";
+options.singleton = false;
+
+var update = api(content, options);
+
+var exported = content.locals ? content.locals : {};
+
+
+
+module.exports = exported;
+
+/***/ }),
+
 /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-stepper/src/HorizontalStepper.scss?vue&type=style&index=0&id=3ee86246&scoped=true&lang=scss&":
 /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-2!./node_modules/sass-loader/dist/cjs.js??ref--8-3!./node_modules/vue-stepper/src/HorizontalStepper.scss?vue&type=style&index=0&id=3ee86246&scoped=true&lang=scss& ***!
@@ -49467,10 +49593,10 @@ render._withStripped = true
 
 /***/ }),
 
-/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&":
-/*!*********************************************************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20& ***!
-  \*********************************************************************************************************************************************************************************************************************/
+/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&":
+/*!*************************************************************************************************************************************************************************************************************************!*\
+  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& ***!
+  \*************************************************************************************************************************************************************************************************************************/
 /*! exports provided: render, staticRenderFns */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -49482,18 +49608,39 @@ var render = function() {
   var _vm = this
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
-  return _vm._m(0)
+  return _c(
+    "div",
+    {
+      ref: "card",
+      staticClass: "card-wrap",
+      style: _vm.dimensions,
+      on: {
+        mousemove: _vm.handleMouseMove,
+        mouseenter: _vm.handleMouseEnter,
+        mouseleave: _vm.handleMouseLeave
+      }
+    },
+    [
+      _c("div", { ref: "inner", staticClass: "cover", style: _vm.cardStyle }, [
+        _c("div", {
+          staticClass: "card-bg",
+          style: [_vm.cardBgTransform, _vm.cardBgImage]
+        }),
+        _vm._v(" "),
+        _c(
+          "div",
+          {
+            staticClass: "card-info",
+            style: { width: _vm.c_inner_width + "px" }
+          },
+          [_vm._t("header"), _vm._v(" "), _vm._t("content")],
+          2
+        )
+      ])
+    ]
+  )
 }
-var staticRenderFns = [
-  function() {
-    var _vm = this
-    var _h = _vm.$createElement
-    var _c = _vm._self._c || _h
-    return _c("div", [
-      _c("h1", { staticClass: "mb-6" }, [_vm._v("Link generator")])
-    ])
-  }
-]
+var staticRenderFns = []
 render._withStripped = true
 
 
@@ -65436,7 +65583,7 @@ module.exports = function(module) {
 var map = {
        "./components/FileSearch/FileHit.vue": "./resources/js/components/FileSearch/FileHit.vue",
        "./components/FileSearch/FileInstantSearch.vue": "./resources/js/components/FileSearch/FileInstantSearch.vue",
-       "./components/Links/GenerateLink.vue": "./resources/js/components/Links/GenerateLink.vue",
+       "./components/Home/cover.vue": "./resources/js/components/Home/cover.vue",
        "./components/LiveStats.vue": "./resources/js/components/LiveStats.vue",
        "./components/Publish/Publish.vue": "./resources/js/components/Publish/Publish.vue",
        "./components/Publish/Step1UploadFile.vue": "./resources/js/components/Publish/Step1UploadFile.vue",
@@ -65733,18 +65880,20 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ "./resources/js/components/Links/GenerateLink.vue":
-/*!********************************************************!*\
-  !*** ./resources/js/components/Links/GenerateLink.vue ***!
-  \********************************************************/
+/***/ "./resources/js/components/Home/cover.vue":
+/*!************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue ***!
+  \************************************************/
 /*! exports provided: default */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GenerateLink.vue?vue&type=template&id=dc597e20& */ "./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&");
-/* harmony import */ var _GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GenerateLink.vue?vue&type=script&lang=js& */ "./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&");
-/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
+/* harmony import */ var _cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& */ "./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&");
+/* harmony import */ var _cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cover.vue?vue&type=script&lang=js& */ "./resources/js/components/Home/cover.vue?vue&type=script&lang=js&");
+/* empty/unused harmony star reexport *//* harmony import */ var _cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& */ "./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&");
+/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
+
 
 
 
@@ -65752,51 +65901,67 @@ __webpack_require__.r(__webpack_exports__);
 
 /* normalize component */
 
-var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
-  _GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
-  _GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["render"],
-  _GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
+var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
+  _cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+  _cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
+  _cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
   false,
   null,
-  null,
+  "0ce5bbb2",
   null
   
 )
 
 /* hot reload */
 if (false) { var api; }
-component.options.__file = "resources/js/components/Links/GenerateLink.vue"
+component.options.__file = "resources/js/components/Home/cover.vue"
 /* harmony default export */ __webpack_exports__["default"] = (component.exports);
 
 /***/ }),
 
-/***/ "./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&":
-/*!*********************************************************************************!*\
-  !*** ./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js& ***!
-  \*********************************************************************************/
+/***/ "./resources/js/components/Home/cover.vue?vue&type=script&lang=js&":
+/*!*************************************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue?vue&type=script&lang=js& ***!
+  \*************************************************************************/
 /*! exports provided: default */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib??ref--4-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./GenerateLink.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&");
-/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 
+/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib??ref--4-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=script&lang=js&");
+/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 
 
 /***/ }),
 
-/***/ "./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&":
-/*!***************************************************************************************!*\
-  !*** ./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20& ***!
-  \***************************************************************************************/
+/***/ "./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&":
+/*!**********************************************************************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& ***!
+  \**********************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-3!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&");
+/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); 
+
+/***/ }),
+
+/***/ "./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&":
+/*!*******************************************************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& ***!
+  \*******************************************************************************************/
 /*! exports provided: render, staticRenderFns */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./GenerateLink.vue?vue&type=template&id=dc597e20& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&");
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["render"]; });
+/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
 
 
 
index c82cb2d57dc38f4484665cc580fa384d54f155ce..86d2fbfad6868320764dcdf82d81c65651cbd0c1 100644 (file)
@@ -10991,9 +10991,3 @@ mark.mark {
 
 /* Temporary */
 
-main > div > div,
-aside > div {
-  height: 200px;
-  border: 1px solid black;
-}
-
index 0b222107fd81b5affc4f7a19bcddccda5e035a8f..8b9248eb09e6f7361634200e3026a6ca72f89f79 100644 (file)
@@ -7458,10 +7458,10 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&":
-/*!*****************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js& ***!
-  \*****************************************************************************************************************************************************************************/
+/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=script&lang=js&":
+/*!*********************************************************************************************************************************************************************!*\
+  !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=script&lang=js& ***!
+  \*********************************************************************************************************************************************************************/
 /*! exports provided: default */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -7475,13 +7475,90 @@ __webpack_require__.r(__webpack_exports__);
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 /* harmony default export */ __webpack_exports__["default"] = ({
-  components: {},
+  name: "cover",
+  mounted: function mounted() {
+    this.isMounted = true;
+  },
+  props: ['dataImage', 'width', 'height'],
   data: function data() {
-    return {};
+    return {
+      isMounted: false,
+      mouseX: 0,
+      mouseY: 0,
+      mouseLeaveDelay: null
+    };
   },
-  mounted: function mounted() {},
-  methods: {}
+  computed: {
+    dimensions: function dimensions() {
+      return {
+        width: this.width,
+        height: Math.round(this.c_height) + 'px'
+      };
+    },
+    c_width: function c_width() {
+      return this.isMounted ? this.$refs.card.offsetWidth : 0;
+    },
+    c_height: function c_height() {
+      return this.isMounted ? this.height === undefined ? this.c_inner_width * 1.38 : this.height : 0;
+    },
+    c_inner_width: function c_inner_width() {
+      return this.isMounted ? this.$refs.inner.offsetWidth : 0;
+    },
+    mousePX: function mousePX() {
+      return this.mouseX / this.c_width;
+    },
+    mousePY: function mousePY() {
+      return this.mouseY / this.c_height;
+    },
+    cardStyle: function cardStyle() {
+      var rX = this.mousePX * 40;
+      var rY = this.mousePY * -40;
+      return {
+        transform: "rotateY(".concat(rX, "deg) rotateX(").concat(rY, "deg)")
+      };
+    },
+    cardBgTransform: function cardBgTransform() {// const tX = this.mousePX * -40;
+      // const tY = this.mousePY * -40;
+      // return {
+      //     transform: `translateX(${tX}px) translateY(${tY}px)`
+      // }
+    },
+    cardBgImage: function cardBgImage() {
+      return {
+        backgroundImage: "url(".concat(this.dataImage, ")")
+      };
+    }
+  },
+  methods: {
+    handleMouseMove: function handleMouseMove(e) {
+      this.mouseX = e.pageX - $(this.$refs.card).offset().left - this.c_width / 2;
+      this.mouseY = e.pageY - $(this.$refs.card).offset().top - this.c_height / 2;
+    },
+    handleMouseEnter: function handleMouseEnter() {
+      clearTimeout(this.mouseLeaveDelay);
+    },
+    handleMouseLeave: function handleMouseLeave() {
+      var _this = this;
+
+      this.mouseLeaveDelay = setTimeout(function () {
+        _this.mouseX = 0;
+        _this.mouseY = 0;
+      }, 500);
+    }
+  }
 });
 
 /***/ }),
@@ -14791,6 +14868,24 @@ function isnan (val) {
 
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
 
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&":
+/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-2!./node_modules/sass-loader/dist/cjs.js??ref--8-3!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& ***!
+  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+// Imports
+var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
+exports = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+exports.push([module.i, ".title[data-v-0ce5bbb2] {\n  font-family: \"Raleway\";\n  font-size: 24px;\n  font-weight: 700;\n  color: #5D4037;\n  text-align: center;\n}\n*[data-v-0ce5bbb2] {\n  -webkit-font-smoothing: antialiased;\n}\np[data-v-0ce5bbb2] {\n  line-height: 1.5em;\n}\nh1 + p[data-v-0ce5bbb2], p + p[data-v-0ce5bbb2] {\n  margin-top: 10px;\n}\n.card-wrap[data-v-0ce5bbb2] {\n  /*margin: 10px;*/\n  transform: perspective(800px);\n  transform-style: preserve-3d;\n  cursor: pointer;\n}\n.card-wrap:hover .card-info[data-v-0ce5bbb2] {\n  transform: translateY(0);\n}\n.card-wrap:hover .card-info p[data-v-0ce5bbb2] {\n  opacity: 1;\n}\n.card-wrap:hover .card-info[data-v-0ce5bbb2], .card-wrap:hover .card-info p[data-v-0ce5bbb2] {\n  transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.card-wrap:hover .card-info[data-v-0ce5bbb2]:after {\n  transition: 5s cubic-bezier(0.23, 1, 0.32, 1);\n  opacity: 1;\n  transform: translateY(0);\n}\n.card-wrap:hover .card-bg[data-v-0ce5bbb2] {\n  transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1), opacity 5s cubic-bezier(0.23, 1, 0.32, 1);\n  opacity: 0.8;\n}\n.card-wrap:hover .cover[data-v-0ce5bbb2] {\n  transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 2s cubic-bezier(0.23, 1, 0.32, 1);\n  box-shadow: rgba(255, 255, 255, 0.2) 0 0 40px 5px, rgba(0, 0, 0, 0.3) 0 30px 60px 0, inset #333 0 0 0 5px;\n}\n.cover[data-v-0ce5bbb2] {\n  position: relative;\n  flex: 0 0 100%;\n  width: 100%;\n  height: 100%;\n  background-color: #333;\n  overflow: hidden;\n  /*border-radius: 10px;*/\n  box-shadow: rgba(0, 0, 0, 0.3) 0 30px 60px 0, inset #333 0 0 0 5px;\n  transition: 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);\n}\n.card-bg[data-v-0ce5bbb2] {\n  opacity: 0.8;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  /*padding: 20px;*/\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: cover;\n  transition: 1s cubic-bezier(0.445, 0.05, 0.55, 0.95), opacity 5s 1s cubic-bezier(0.445, 0.05, 0.55, 0.95);\n  pointer-events: none;\n}\n.card-bg[data-v-0ce5bbb2] :hover {\n  opacity: 0.5;\n}\n.card-info[data-v-0ce5bbb2] {\n  padding: 10px;\n  position: absolute;\n  bottom: 0;\n  color: #fff;\n  transform: translateY(40%);\n  transition: 0.6s 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);\n  box-sizing: border-box !important;\n}\n.card-info p[data-v-0ce5bbb2] {\n  opacity: 0;\n  text-shadow: black 0 2px 3px;\n  transition: 0.6s 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.card-info *[data-v-0ce5bbb2] {\n  position: relative;\n  z-index: 1;\n}\n.card-info[data-v-0ce5bbb2]:after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 0;\n  width: 100%;\n  height: 100%;\n  background-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.6) 100%);\n  background-blend-mode: overlay;\n  opacity: 0;\n  transform: translateY(100%);\n  transition: 5s 1s cubic-bezier(0.445, 0.05, 0.55, 0.95);\n}\n.card-info h1[data-v-0ce5bbb2] {\n  font-family: \"Playfair Display\";\n  font-size: 36px;\n  font-weight: 700;\n  text-shadow: rgba(0, 0, 0, 0.5) 0 10px 10px;\n}", ""]);
+// Exports
+module.exports = exports;
+
+
 /***/ }),
 
 /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-stepper/src/HorizontalStepper.scss?vue&type=style&index=0&id=3ee86246&scoped=true&lang=scss&":
@@ -77706,6 +77801,37 @@ return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}
 
 /***/ }),
 
+/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&":
+/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+  !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-2!./node_modules/sass-loader/dist/cjs.js??ref--8-3!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& ***!
+  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+var api = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
+            var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-3!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&");
+
+            content = content.__esModule ? content.default : content;
+
+            if (typeof content === 'string') {
+              content = [[module.i, content, '']];
+            }
+
+var options = {};
+
+options.insert = "head";
+options.singleton = false;
+
+var update = api(content, options);
+
+var exported = content.locals ? content.locals : {};
+
+
+
+module.exports = exported;
+
+/***/ }),
+
 /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-stepper/src/HorizontalStepper.scss?vue&type=style&index=0&id=3ee86246&scoped=true&lang=scss&":
 /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-2!./node_modules/sass-loader/dist/cjs.js??ref--8-3!./node_modules/vue-stepper/src/HorizontalStepper.scss?vue&type=style&index=0&id=3ee86246&scoped=true&lang=scss& ***!
@@ -78965,10 +79091,10 @@ render._withStripped = true
 
 /***/ }),
 
-/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&":
-/*!*********************************************************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20& ***!
-  \*********************************************************************************************************************************************************************************************************************/
+/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&":
+/*!*************************************************************************************************************************************************************************************************************************!*\
+  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& ***!
+  \*************************************************************************************************************************************************************************************************************************/
 /*! exports provided: render, staticRenderFns */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -78980,18 +79106,39 @@ var render = function() {
   var _vm = this
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
-  return _vm._m(0)
+  return _c(
+    "div",
+    {
+      ref: "card",
+      staticClass: "card-wrap",
+      style: _vm.dimensions,
+      on: {
+        mousemove: _vm.handleMouseMove,
+        mouseenter: _vm.handleMouseEnter,
+        mouseleave: _vm.handleMouseLeave
+      }
+    },
+    [
+      _c("div", { ref: "inner", staticClass: "cover", style: _vm.cardStyle }, [
+        _c("div", {
+          staticClass: "card-bg",
+          style: [_vm.cardBgTransform, _vm.cardBgImage]
+        }),
+        _vm._v(" "),
+        _c(
+          "div",
+          {
+            staticClass: "card-info",
+            style: { width: _vm.c_inner_width + "px" }
+          },
+          [_vm._t("header"), _vm._v(" "), _vm._t("content")],
+          2
+        )
+      ])
+    ]
+  )
 }
-var staticRenderFns = [
-  function() {
-    var _vm = this
-    var _h = _vm.$createElement
-    var _c = _vm._self._c || _h
-    return _c("div", [
-      _c("h1", { staticClass: "mb-6" }, [_vm._v("Link generator")])
-    ])
-  }
-]
+var staticRenderFns = []
 render._withStripped = true
 
 
@@ -94934,7 +95081,7 @@ module.exports = function(module) {
 var map = {
        "./components/FileSearch/FileHit.vue": "./resources/js/components/FileSearch/FileHit.vue",
        "./components/FileSearch/FileInstantSearch.vue": "./resources/js/components/FileSearch/FileInstantSearch.vue",
-       "./components/Links/GenerateLink.vue": "./resources/js/components/Links/GenerateLink.vue",
+       "./components/Home/cover.vue": "./resources/js/components/Home/cover.vue",
        "./components/LiveStats.vue": "./resources/js/components/LiveStats.vue",
        "./components/Publish/Publish.vue": "./resources/js/components/Publish/Publish.vue",
        "./components/Publish/Step1UploadFile.vue": "./resources/js/components/Publish/Step1UploadFile.vue",
@@ -95237,18 +95384,20 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ "./resources/js/components/Links/GenerateLink.vue":
-/*!********************************************************!*\
-  !*** ./resources/js/components/Links/GenerateLink.vue ***!
-  \********************************************************/
+/***/ "./resources/js/components/Home/cover.vue":
+/*!************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue ***!
+  \************************************************/
 /*! exports provided: default */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./GenerateLink.vue?vue&type=template&id=dc597e20& */ "./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&");
-/* harmony import */ var _GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GenerateLink.vue?vue&type=script&lang=js& */ "./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&");
-/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
+/* harmony import */ var _cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& */ "./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&");
+/* harmony import */ var _cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cover.vue?vue&type=script&lang=js& */ "./resources/js/components/Home/cover.vue?vue&type=script&lang=js&");
+/* empty/unused harmony star reexport *//* harmony import */ var _cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& */ "./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&");
+/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
+
 
 
 
@@ -95256,51 +95405,67 @@ __webpack_require__.r(__webpack_exports__);
 
 /* normalize component */
 
-var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
-  _GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
-  _GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["render"],
-  _GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
+var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
+  _cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+  _cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
+  _cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
   false,
   null,
-  null,
+  "0ce5bbb2",
   null
   
 )
 
 /* hot reload */
 if (false) { var api; }
-component.options.__file = "resources/js/components/Links/GenerateLink.vue"
+component.options.__file = "resources/js/components/Home/cover.vue"
 /* harmony default export */ __webpack_exports__["default"] = (component.exports);
 
 /***/ }),
 
-/***/ "./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&":
-/*!*********************************************************************************!*\
-  !*** ./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js& ***!
-  \*********************************************************************************/
+/***/ "./resources/js/components/Home/cover.vue?vue&type=script&lang=js&":
+/*!*************************************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue?vue&type=script&lang=js& ***!
+  \*************************************************************************/
 /*! exports provided: default */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib??ref--4-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./GenerateLink.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=script&lang=js&");
-/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 
+/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib??ref--4-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=script&lang=js&");
+/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 
 
 /***/ }),
 
-/***/ "./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&":
-/*!***************************************************************************************!*\
-  !*** ./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20& ***!
-  \***************************************************************************************/
+/***/ "./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&":
+/*!**********************************************************************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& ***!
+  \**********************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-3!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=style&index=0&id=0ce5bbb2&lang=scss&scoped=true&");
+/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_2_node_modules_sass_loader_dist_cjs_js_ref_8_3_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_style_index_0_id_0ce5bbb2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); 
+
+/***/ }),
+
+/***/ "./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&":
+/*!*******************************************************************************************!*\
+  !*** ./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& ***!
+  \*******************************************************************************************/
 /*! exports provided: render, staticRenderFns */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./GenerateLink.vue?vue&type=template&id=dc597e20& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Links/GenerateLink.vue?vue&type=template&id=dc597e20&");
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["render"]; });
+/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./cover.vue?vue&type=template&id=0ce5bbb2&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Home/cover.vue?vue&type=template&id=0ce5bbb2&scoped=true&");
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
 
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_GenerateLink_vue_vue_type_template_id_dc597e20___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
+/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_cover_vue_vue_type_template_id_0ce5bbb2_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
 
 
 
diff --git a/resources/js/components/Home/cover.vue b/resources/js/components/Home/cover.vue
new file mode 100644 (file)
index 0000000..4783b29
--- /dev/null
@@ -0,0 +1,250 @@
+<template>
+
+    <div class="card-wrap"
+         @mousemove="handleMouseMove"
+         @mouseenter="handleMouseEnter"
+         @mouseleave="handleMouseLeave"
+         :style="dimensions"
+         ref="card">
+        <div class="cover"
+             :style="cardStyle" ref="inner">
+            <div class="card-bg" :style="[cardBgTransform, cardBgImage]"></div>
+            <div class="card-info" :style="{width: c_inner_width+'px'}">
+                <slot name="header"></slot>
+                <slot name="content"></slot>
+            </div>
+        </div>
+    </div>
+
+</template>
+
+<script>
+    export default {
+        name: "cover",
+        mounted() {
+            this.isMounted = true;
+        },
+        props: ['dataImage', 'width', 'height'],
+        data: () => ({
+            isMounted: false,
+
+            mouseX: 0,
+            mouseY: 0,
+            mouseLeaveDelay: null
+        }),
+        computed: {
+            dimensions() {
+
+
+
+                return {
+                    width: this.width,
+                    height: Math.round(this.c_height)+'px'
+                }
+            },
+
+
+
+            c_width() {
+                return this.isMounted ? this.$refs.card.offsetWidth : 0;
+            },
+
+            c_height() {
+                return this.isMounted ? (this.height === undefined ? this.c_inner_width*1.38 : this.height) : 0;
+            },
+
+            c_inner_width(){
+                return this.isMounted ? this.$refs.inner.offsetWidth : 0;
+            },
+
+            mousePX() {
+                return this.mouseX / this.c_width;
+            },
+            mousePY() {
+                return this.mouseY / this.c_height;
+            },
+            cardStyle() {
+                const rX = this.mousePX * 40;
+                const rY = this.mousePY * -40;
+                return {
+                    transform: `rotateY(${rX}deg) rotateX(${rY}deg)`
+                };
+            },
+            cardBgTransform() {
+                // const tX = this.mousePX * -40;
+                // const tY = this.mousePY * -40;
+                // return {
+                //     transform: `translateX(${tX}px) translateY(${tY}px)`
+                // }
+            },
+            cardBgImage() {
+                return {
+                    backgroundImage: `url(${this.dataImage})`
+                }
+            }
+        },
+        methods: {
+            handleMouseMove(e) {
+                this.mouseX = e.pageX - $(this.$refs.card).offset().left - this.c_width/2;
+                this.mouseY = e.pageY - $(this.$refs.card).offset().top - this.c_height/2;
+            },
+            handleMouseEnter() {
+                clearTimeout(this.mouseLeaveDelay);
+            },
+            handleMouseLeave() {
+                this.mouseLeaveDelay = setTimeout(()=>{
+                    this.mouseX = 0;
+                    this.mouseY = 0;
+                }, 500);
+            }
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+
+    $hoverEasing: cubic-bezier(0.23, 1, 0.32, 1);
+    $returnEasing: cubic-bezier(0.445, 0.05, 0.55, 0.95);
+
+
+    .title {
+        font-family: "Raleway";
+        font-size: 24px;
+        font-weight: 700;
+        color: #5D4037;
+        text-align: center;
+    }
+
+    *{
+        -webkit-font-smoothing: antialiased;
+
+    }
+
+    p {
+        line-height: 1.5em;
+    }
+
+    h1+p, p+p {
+        margin-top: 10px;
+    }
+
+
+    .card-wrap {
+        /*margin: 10px;*/
+        transform: perspective(800px);
+        transform-style: preserve-3d;
+        cursor: pointer;
+        // background-color: #fff;
+
+        &:hover {
+            .card-info {
+                transform: translateY(0);
+            }
+            .card-info p {
+                opacity: 1;
+            }
+            .card-info, .card-info p {
+                transition: 0.6s $hoverEasing;
+            }
+            .card-info:after {
+                transition: 5s $hoverEasing;
+                opacity: 1;
+                transform: translateY(0);
+            }
+            .card-bg {
+                transition:
+                    0.6s $hoverEasing,
+                    opacity 5s $hoverEasing;
+                opacity: 0.8;
+            }
+            .cover {
+                transition:
+                    0.6s $hoverEasing,
+                    box-shadow 2s $hoverEasing;
+                box-shadow:
+                    rgba(white, 0.2) 0 0 40px 5px,
+                    rgba(black, 0.30) 0 30px 60px 0,
+                    inset #333 0 0 0 5px
+            }
+        }
+    }
+
+    .cover {
+        position: relative;
+        flex: 0 0 100%;
+        width: 100%;
+        height: 100%;
+        background-color: #333;
+        overflow: hidden;
+        /*border-radius: 10px;*/
+        box-shadow:
+            rgba(black, 0.30) 0 30px 60px 0,
+            inset #333 0 0 0 5px;
+        transition: 0.5s $returnEasing;
+    }
+
+    .card-bg {
+        opacity: 0.8;
+        position: absolute;
+        //top: -20px;
+        //left: -20px;
+        width: 100%;
+        height: 100%;
+        /*padding: 20px;*/
+        background-repeat: no-repeat;
+        background-position: center;
+        background-size: cover;
+        transition:
+            1s $returnEasing,
+            opacity 5s 1s $returnEasing;
+        pointer-events: none;
+
+        :hover {
+            opacity: 0.5;
+
+        }
+    }
+
+    .card-info {
+        padding: 10px;
+        position: absolute;
+        bottom: 0;
+        color: #fff;
+        transform: translateY(40%);
+        transition: 0.6s 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
+        box-sizing: border-box !important;
+
+        p {
+            opacity: 0;
+            text-shadow: rgba(black, 1) 0 2px 3px;
+            transition: 0.6s 1.6s cubic-bezier(0.215, 0.61, 0.355, 1);
+        }
+
+        * {
+            position: relative;
+            z-index: 1;
+        }
+
+        &:after {
+            content: '';
+            position: absolute;
+            top: 0; left: 0;
+            z-index: 0;
+            width: 100%;
+            height: 100%;
+            background-image: linear-gradient(to bottom, transparent 0%, rgba(#000, 0.6) 100%);
+            background-blend-mode: overlay;
+            opacity: 0;
+            transform: translateY(100%);
+            transition: 5s 1s $returnEasing;
+        }
+    }
+
+    .card-info h1 {
+        font-family: "Playfair Display";
+        font-size: 36px;
+        font-weight: 700;
+        text-shadow: rgba(black, 0.5) 0 10px 10px;
+    }
+
+</style>
diff --git a/resources/js/components/Links/GenerateLink.vue b/resources/js/components/Links/GenerateLink.vue
deleted file mode 100644 (file)
index 0d8aeae..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<template>
-    <div>
-        <h1 class="mb-6">Link generator</h1>
-
-
-    </div>
-</template>
-
-<script>
-
-    export default {
-        components : {
-        },
-        data(){
-                return {
-
-                }
-            },
-        mounted() {
-
-
-        },
-        methods: {
-
-
-        }
-    }
-</script>
-
-<style>
-
-</style>
index ac8601054444f93322230ab1d6aa50d9c13ec966..3ab0dce6fd32b3ea71c4f87b79bf6fd280b58dfb 100644 (file)
@@ -6,14 +6,21 @@
 
 /* Temporary */
 
-main > div > div, aside > div {
-    height: 200px;
-    border: 1px solid black;
-}
+//main > div > div, aside > div {
+//    height: 200px;
+//    border: 1px solid black;
+//}
+
 
 
 
 
+.card-container {
 
+  //box-sizing: initial;
+  //  *, *::before, *::after {
+  //      box-sizing: initial !important;
+  //  }
+}
 
 
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php
deleted file mode 100644 (file)
index 8ef64b3..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-@extends('layouts.app')
-
-@section('content')
-<div class="container">
-    <div class="row justify-content-center">
-        <aside class="col-md-4">
-            <div>
-                Bloc A
-            </div>
-            <div>
-                Bloc B
-            </div>
-            <div>
-                Bloc C
-            </div>
-            <div>
-                Bloc D / E
-            </div>
-
-        </aside>
-
-        <main class="col-md-8">
-            <div class="row">
-                <div class="col-md-8">
-                    Bloc 1
-                </div>
-                <div class="col-md-4">
-                    Bloc titres
-
-                </div>
-            </div>
-            <div class="row">
-                <div class="col-md-6">
-                    Bloc 2
-
-                </div>
-                <div class="col-md-6">
-                    Bloc 3
-
-                </div>
-            </div>
-            <div class="row">
-                <div class="col-md-6">
-                    Bloc 4
-
-                </div>
-                <div class="col-md-6">
-                    Bloc 5
-
-                </div>
-            </div>
-
-        </main>
-
-    </div>
-</div>
-@endsection
diff --git a/resources/views/home/blocks/1_last_editions.blade.php b/resources/views/home/blocks/1_last_editions.blade.php
new file mode 100644 (file)
index 0000000..2fb3a14
--- /dev/null
@@ -0,0 +1,18 @@
+<h4>
+    Votre Actualité dans les éditions de Prescription Santé Quotidien
+</h4>
+<div class="card-container row">
+
+    @foreach($last_pdf as $file)
+        <div class="col-md-3 col-6 px-1 mb-3">
+            <a href="{{$file->getUrl()}}">
+                <cover width="100%" data-image="{{$file->coverUrl}}">
+                    <h1 slot="header">{{$file->ref}}</h1>
+                    <p slot="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
+                </cover>
+            </a>
+        </div>
+
+    @endforeach
+
+</div>
diff --git a/resources/views/home/blocks/1_news.blade.php b/resources/views/home/blocks/1_news.blade.php
new file mode 100644 (file)
index 0000000..459bca9
--- /dev/null
@@ -0,0 +1,5 @@
+<h4>Infos du jour</h4>
+<p><strong>Exclusif :</strong> Le TOP 20 Mondial des laboratoires selon les chiffres 2019. </p>
+<p><strong>Sanofi :</strong> Résultats trimestriels et essais cliniques: un Double Défi de Com pour les Stratèges du Groupe </p>
+<p><strong>Actemra :</strong> un essai clinique, un espoir et … des questions </p>
+<p><strong>Takeda :</strong> Le nippon allège son portefeuille pour alléger sa dette </p>
diff --git a/resources/views/home/blocks/2_ad_campaigns.blade.php b/resources/views/home/blocks/2_ad_campaigns.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/3_events.blade.php b/resources/views/home/blocks/3_events.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/4_news.blade.php b/resources/views/home/blocks/4_news.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/5_archives.blade.php b/resources/views/home/blocks/5_archives.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/6_jobs.blade.php b/resources/views/home/blocks/6_jobs.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/7_podcasts.blade.php b/resources/views/home/blocks/7_podcasts.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/A_intro.blade.php b/resources/views/home/blocks/A_intro.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/B_discover.blade.php b/resources/views/home/blocks/B_discover.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/C_subscribe.blade.php b/resources/views/home/blocks/C_subscribe.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/blocks/D_contact.blade.php b/resources/views/home/blocks/D_contact.blade.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/resources/views/home/index.blade.php b/resources/views/home/index.blade.php
new file mode 100644 (file)
index 0000000..a4afa13
--- /dev/null
@@ -0,0 +1,54 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container-fluid">
+    <div class="row justify-content-center">
+        <aside class="col-md-3">
+            <div>
+                @include('home.blocks.A_intro')
+            </div>
+            <div>
+                @include('home.blocks.B_discover')
+            </div>
+            <div>
+                @include('home.blocks.C_subscribe')
+            </div>
+            <div>
+                @include('home.blocks.D_contact')
+            </div>
+
+        </aside>
+
+        <main class="col-md-9">
+            <div class="row">
+                <div class="col-md-8">
+                    @include('home.blocks.1_last_editions',  ['last_pdf' => $last_pdf])
+                </div>
+                <div class="col-md-4">
+                    @include('home.blocks.1_news')
+                </div>
+            </div>
+            <div class="row">
+                <div class="col-md-6">
+                    @include('home.blocks.2_ad_campaigns')
+                </div>
+                <div class="col-md-6">
+                    @include('home.blocks.3_events')
+
+                </div>
+            </div>
+            <div class="row">
+                <div class="col-md-6">
+                    @include('home.blocks.4_news')
+
+                </div>
+                <div class="col-md-6">
+                    @include('home.blocks.5_archives')
+                </div>
+            </div>
+
+        </main>
+
+    </div>
+</div>
+@endsection