Create navigation component

This commit is contained in:
Daniel_I_Am 2021-09-01 21:40:30 +02:00
parent d892b949f6
commit a4452cd932
7 changed files with 302 additions and 16 deletions

277
public/js/app.js vendored
View File

@ -19284,6 +19284,27 @@ module.exports = {
};
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/PageHeader.vue?vue&type=script&lang=js":
/*!****************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/PageHeader.vue?vue&type=script&lang=js ***!
\****************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _SiteNav_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SiteNav.vue */ "./resources/js/components/SiteNav.vue");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
components: {
SiteNav: _SiteNav_vue__WEBPACK_IMPORTED_MODULE_0__.default
}
});
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/views/Home.vue?vue&type=script&lang=js":
@ -19456,12 +19477,125 @@ __webpack_require__.r(__webpack_exports__);
var _hoisted_1 = {
"class": "home-header"
};
var _hoisted_2 = {
"class": "container"
};
var _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createStaticVNode)("<div class=\"container\"><header><a class=\"brand\" href=\"/\"><img class=\"brand-logo\" src=\"//via.placeholder.com/256\" alt=\"Brand Logo\"><span class=\"brand-name\">Daniel de Cloet</span></a><nav class=\"site-nav\"><ul class=\"nav-items\"><li class=\"nav-item\"><a href=\"/blog.html\">Blog</a></li><li class=\"nav-item\"><a href=\"/snippets.html\">Snippets</a></li><li class=\"nav-item\"><a href=\"/contact.html\">Contact</a></li></ul></nav></header><section class=\"hero\"><h1>I&#39;m Daniel, junior software engineer</h1><p> Lorem ipsum dolor sit amet consectetur, adipisicing elit. Deleniti iure earum odio architecto? Tenetur in ea, animi illo non voluptatibus distinctio consequuntur ipsam adipisci officiis quod, recusandae facilis? Ut, aliquid. </p></section></div><div class=\"wave\"><svg preserveAspectRatio=\"none\" width=\"1440\" height=\"74\" viewBox=\"0 0 1440 74\"><path d=\"M456.464 0.0433865C277.158 -1.70575 0 50.0141 0 50.0141V74H1440V50.0141C1440 50.0141 1320.4 31.1925 1243.09 27.0276C1099.33 19.2816 1019.08 53.1981 875.138 50.0141C710.527 46.3727 621.108 1.64949 456.464 0.0433865Z\"></path></svg></div>", 2);
var _hoisted_3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("a", {
"class": "brand",
href: "/"
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("img", {
"class": "brand-logo",
src: "//via.placeholder.com/256",
alt: "Brand Logo"
}), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", {
"class": "brand-name"
}, "Daniel de Cloet")], -1
/* HOISTED */
);
var _hoisted_4 = {
"class": "site-nav"
};
var _hoisted_5 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("section", {
"class": "hero"
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h1", null, "I'm Daniel, junior software engineer"), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", null, " Lorem ipsum dolor sit amet consectetur, adipisicing elit. Deleniti iure earum odio architecto? Tenetur in ea, animi illo non voluptatibus distinctio consequuntur ipsam adipisci officiis quod, recusandae facilis? Ut, aliquid. ")], -1
/* HOISTED */
);
var _hoisted_6 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
"class": "wave"
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("svg", {
preserveAspectRatio: "none",
width: "1440",
height: "74",
viewBox: "0 0 1440 74"
}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("path", {
d: "M456.464 0.0433865C277.158 -1.70575 0 50.0141 0 50.0141V74H1440V50.0141C1440 50.0141 1320.4 31.1925 1243.09 27.0276C1099.33 19.2816 1019.08 53.1981 875.138 50.0141C710.527 46.3727 621.108 1.64949 456.464 0.0433865Z"
})])], -1
/* HOISTED */
);
function render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_site_nav = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("site-nav");
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("header", null, [_hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("nav", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_site_nav)])]), _hoisted_5]), _hoisted_6]);
}
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/SiteNav.vue?vue&type=template&id=3cf6587e":
/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/SiteNav.vue?vue&type=template&id=3cf6587e ***!
\*****************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": () => (/* binding */ render)
/* harmony export */ });
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
var _hoisted_1 = {
"class": "nav-items"
};
var _hoisted_2 = {
"class": "nav-item"
};
var _hoisted_3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)("Blog");
var _hoisted_4 = {
"class": "nav-item"
};
var _hoisted_5 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)("Snippets");
var _hoisted_6 = {
"class": "nav-item"
};
var _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)("Contact");
var _hoisted_4 = [_hoisted_2];
function render(_ctx, _cache) {
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, _hoisted_4);
var _component_router_link = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("router-link");
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("ul", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("li", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_router_link, {
to: {
name: 'blog'
}
}, {
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
return [_hoisted_3];
}),
_: 1
/* STABLE */
})]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("li", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_router_link, {
to: {
name: 'snippets'
}
}, {
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
return [_hoisted_5];
}),
_: 1
/* STABLE */
})]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("li", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_router_link, {
to: {
name: 'contact'
}
}, {
"default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
return [_hoisted_7];
}),
_: 1
/* STABLE */
})])]);
}
/***/ }),
@ -19609,12 +19743,31 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _views_Home_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./views/Home.vue */ "./resources/js/views/Home.vue");
/* harmony import */ var _views_Blog_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./views/Blog.vue */ "./resources/js/views/Blog.vue");
/* harmony import */ var _views_Snippets_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./views/Snippets.vue */ "./resources/js/views/Snippets.vue");
/* harmony import */ var _views_Contact_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./views/Contact.vue */ "./resources/js/views/Contact.vue");
var VueRouter = __webpack_require__(/*! vue-router */ "./node_modules/vue-router/dist/vue-router.esm-bundler.js");
var routes = [{
path: '/',
name: 'index',
component: _views_Home_vue__WEBPACK_IMPORTED_MODULE_0__.default
}, {
path: '/blog',
name: 'blog',
component: _views_Blog_vue__WEBPACK_IMPORTED_MODULE_1__.default
}, {
path: '/snippets',
name: 'snippets',
component: _views_Snippets_vue__WEBPACK_IMPORTED_MODULE_2__.default
}, {
path: '/contact',
name: 'contact',
component: _views_Contact_vue__WEBPACK_IMPORTED_MODULE_3__.default
}];
var router = VueRouter.createRouter({
history: VueRouter.createWebHistory(),
@ -37175,13 +37328,39 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _PageHeader_vue_vue_type_template_id_7fb418a7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PageHeader.vue?vue&type=template&id=7fb418a7 */ "./resources/js/components/PageHeader.vue?vue&type=template&id=7fb418a7");
/* harmony import */ var _PageHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PageHeader.vue?vue&type=script&lang=js */ "./resources/js/components/PageHeader.vue?vue&type=script&lang=js");
const script = {}
script.render = _PageHeader_vue_vue_type_template_id_7fb418a7__WEBPACK_IMPORTED_MODULE_0__.render
_PageHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__.default.render = _PageHeader_vue_vue_type_template_id_7fb418a7__WEBPACK_IMPORTED_MODULE_0__.render
/* hot reload */
if (false) {}
script.__file = "resources/js/components/PageHeader.vue"
_PageHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__.default.__file = "resources/js/components/PageHeader.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_PageHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__.default);
/***/ }),
/***/ "./resources/js/components/SiteNav.vue":
/*!*********************************************!*\
!*** ./resources/js/components/SiteNav.vue ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _SiteNav_vue_vue_type_template_id_3cf6587e__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SiteNav.vue?vue&type=template&id=3cf6587e */ "./resources/js/components/SiteNav.vue?vue&type=template&id=3cf6587e");
const script = {}
script.render = _SiteNav_vue_vue_type_template_id_3cf6587e__WEBPACK_IMPORTED_MODULE_0__.render
/* hot reload */
if (false) {}
script.__file = "resources/js/components/SiteNav.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (script);
@ -37211,6 +37390,42 @@ script.__file = "resources/js/components/SplitContent.vue"
/***/ }),
/***/ "./resources/js/views/Blog.vue":
/*!*************************************!*\
!*** ./resources/js/views/Blog.vue ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const script = {}
script.__file = "resources/js/views/Blog.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (script);
/***/ }),
/***/ "./resources/js/views/Contact.vue":
/*!****************************************!*\
!*** ./resources/js/views/Contact.vue ***!
\****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const script = {}
script.__file = "resources/js/views/Contact.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (script);
/***/ }),
/***/ "./resources/js/views/Home.vue":
/*!*************************************!*\
!*** ./resources/js/views/Home.vue ***!
@ -37235,6 +37450,40 @@ _Home_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__.default.__file =
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Home_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__.default);
/***/ }),
/***/ "./resources/js/views/Snippets.vue":
/*!*****************************************!*\
!*** ./resources/js/views/Snippets.vue ***!
\*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const script = {}
script.__file = "resources/js/views/Snippets.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (script);
/***/ }),
/***/ "./resources/js/components/PageHeader.vue?vue&type=script&lang=js":
/*!************************************************************************!*\
!*** ./resources/js/components/PageHeader.vue?vue&type=script&lang=js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_PageHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__.default)
/* harmony export */ });
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_PageHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./PageHeader.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/PageHeader.vue?vue&type=script&lang=js");
/***/ }),
/***/ "./resources/js/views/Home.vue?vue&type=script&lang=js":
@ -37347,6 +37596,22 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_PageHeader_vue_vue_type_template_id_7fb418a7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./PageHeader.vue?vue&type=template&id=7fb418a7 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/PageHeader.vue?vue&type=template&id=7fb418a7");
/***/ }),
/***/ "./resources/js/components/SiteNav.vue?vue&type=template&id=3cf6587e":
/*!***************************************************************************!*\
!*** ./resources/js/components/SiteNav.vue?vue&type=template&id=3cf6587e ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_SiteNav_vue_vue_type_template_id_3cf6587e__WEBPACK_IMPORTED_MODULE_0__.render)
/* harmony export */ });
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_SiteNav_vue_vue_type_template_id_3cf6587e__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./SiteNav.vue?vue&type=template&id=3cf6587e */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/SiteNav.vue?vue&type=template&id=3cf6587e");
/***/ }),
/***/ "./resources/js/components/SplitContent.vue?vue&type=template&id=1553872c":

View File

@ -11,15 +11,7 @@
<span class="brand-name">Daniel de Cloet</span>
</a>
<nav class="site-nav">
<ul class="nav-items">
<li class="nav-item"><a href="/blog.html">Blog</a></li>
<li class="nav-item">
<a href="/snippets.html">Snippets</a>
</li>
<li class="nav-item">
<a href="/contact.html">Contact</a>
</li>
</ul>
<site-nav></site-nav>
</nav>
</header>
@ -48,3 +40,13 @@
</div>
</div>
</template>
<script>
import SiteNav from './SiteNav.vue';
export default {
components: {
SiteNav,
}
}
</script>

View File

@ -0,0 +1,13 @@
<template>
<ul class="nav-items">
<li class="nav-item">
<router-link :to="{ name: 'blog' }">Blog</router-link>
</li>
<li class="nav-item">
<router-link :to="{ name: 'snippets' }">Snippets</router-link>
</li>
<li class="nav-item">
<router-link :to="{ name: 'contact' }">Contact</router-link>
</li>
</ul>
</template>

View File

@ -1,9 +1,15 @@
const VueRouter = require('vue-router');
import Home from './views/Home.vue';
import Blog from './views/Blog.vue';
import Snippets from './views/Snippets.vue';
import Contact from './views/Contact.vue';
const routes = [
{ path: '/', component: Home }
{ path: '/', name: 'index', component: Home },
{ path: '/blog', name: 'blog', component: Blog },
{ path: '/snippets', name: 'snippets', component: Snippets },
{ path: '/contact', name: 'contact', component: Contact },
];
const router = VueRouter.createRouter({

View File

View File

View File