Browse Source

add routerPush

master
Jakub Škrabánek 1 year ago
parent
commit
4a04fb0f91
  1. 4
      vue/routerpush/.browserslistrc
  2. 17
      vue/routerpush/.eslintrc.js
  3. 23
      vue/routerpush/.gitignore
  4. 24
      vue/routerpush/README.md
  5. 5
      vue/routerpush/babel.config.js
  6. 19
      vue/routerpush/jsconfig.json
  7. 11744
      vue/routerpush/package-lock.json
  8. 25
      vue/routerpush/package.json
  9. BIN
      vue/routerpush/public/favicon.ico
  10. 17
      vue/routerpush/public/index.html
  11. 30
      vue/routerpush/src/App.vue
  12. BIN
      vue/routerpush/src/assets/logo.png
  13. 59
      vue/routerpush/src/components/HelloWorld.vue
  14. 5
      vue/routerpush/src/main.js
  15. 64
      vue/routerpush/src/personalService.js
  16. 31
      vue/routerpush/src/router/index.js
  17. 33
      vue/routerpush/src/views/AboutView.vue
  18. 26
      vue/routerpush/src/views/DetailsView.vue
  19. 18
      vue/routerpush/src/views/HomeView.vue
  20. 4
      vue/routerpush/vue.config.js

4
vue/routerpush/.browserslistrc

@ -0,0 +1,4 @@
> 1%
last 2 versions
not dead
not ie 11

17
vue/routerpush/.eslintrc.js

@ -0,0 +1,17 @@
module.exports = {
root: true,
env: {
node: true
},
'extends': [
'plugin:vue/vue3-essential',
'eslint:recommended'
],
parserOptions: {
parser: '@babel/eslint-parser'
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
}
}

23
vue/routerpush/.gitignore

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

24
vue/routerpush/README.md

@ -0,0 +1,24 @@
# routerpush
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

5
vue/routerpush/babel.config.js

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

19
vue/routerpush/jsconfig.json

@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
}
}

11744
vue/routerpush/package-lock.json

File diff suppressed because it is too large

25
vue/routerpush/package.json

@ -0,0 +1,25 @@
{
"name": "routerpush",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.8.3",
"vue": "^3.2.13",
"vue-router": "^4.0.3"
},
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3"
}
}

BIN
vue/routerpush/public/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

17
vue/routerpush/public/index.html

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

30
vue/routerpush/src/App.vue

@ -0,0 +1,30 @@
<template>
<nav>
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link>
</nav>
<router-view/>
</template>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
nav {
padding: 30px;
}
nav a {
font-weight: bold;
color: #2c3e50;
}
nav a.router-link-exact-active {
color: #42b983;
}
</style>

BIN
vue/routerpush/src/assets/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

59
vue/routerpush/src/components/HelloWorld.vue

@ -0,0 +1,59 @@
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>

5
vue/routerpush/src/main.js

@ -0,0 +1,5 @@
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')

64
vue/routerpush/src/personalService.js

@ -0,0 +1,64 @@
// https://www.mockaroo.com/ odkaz pro generovaní
const personal = [{
"personaId": 1,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFESURBVBgZBcG9S9RxAAfg565DI51uCBocpGhoqM1VaAjByXAImvoXDtr6D4JAaG2oyXtpKJGEltYcGntDErEhEI3kvDP7fb+fnqcVAAAAQAeg39XLqsVcyl62bTw8AkTE5tqb8WHOU1MzzUFej1+uR4SIzeWPOcu/TPI7JznNecZ5ngcrEa3YnJ/7fHehY6Kqqiq+eedgP7cH4zZ6dxZmnamKoiqGnpjTXcxj2tSVq/4qGkXRGOlrfDcvK7TJ0qypoiiKob5G9cWsukSHoCiqamQgiiqKoE12p2YUxVBf0aiK6ybs0qbu/HJZMTRQFEWjuOFU3aFNnn06vLCnr1EURbHq1PF+ntIKXiz/+fDTFV/90HHNTWdOTO69fU8rYH0tr7rzc2YUF8aOx3m0NYJWAPe76VmttzK1bzsbW0dAKwAAAID/tYu/URIDsoEAAAAASUVORK5CYII=",
"name": "Duff",
"job": "Staff Scientist",
"information": "12uSa1TamNvnkdMQ2trmqDAHWsW9nYeqHX"
}, {
"personaId": 2,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAK2SURBVBgZBcHLjxN1AADg79eZttvddttll+WxIGrAV4QYTbxoYsSLgjc5arx68qCGf8G7J+NBEg8e9GqURDEmEiOJAWNUwIi8sryWDbSdmc60Mx2/Lxw78caZ1fXVo1EUAYAAACAIgICymrt/7/6P8er66tHPPzklNIJyPgNAENRqAWSzBEFdN9TzWq3y0ckPj8ZRFKmUwuxL6fcXrJzJbJ18xFKv6/LlX1xMP3Nra6jXW3Z3eyiKm0Zp7t1jtWYcaQAMh9uGT7eMkkR2+m9JcluSJEJxQTEZm2Rj00liMkmUeSqEOYI4APr9ndQzi+/v4OPz2m+tWd+zV2d2xaQ8pDfoaUUNcbMlyXIhFAgaQDAcDiXJ2MP1ymilNPn6X6q5OvvZrEhk49SsyBR5alpkQqhBDNDvr1PPDPrLhu89Y+XTbeUre7TXCo9MtzW7+y22I81W0zibYkSgQQB5XkiTzHA0NF6qPHiC/Iv/1FWuMf1WPklMi1SeJubTVABBHACdzkB3OdVfXgbNtx/V+eCsuDpg7+pf8s7ERvcP7daW6eSaqPGOgDgAxsNUkhRI/bZ5x41Zw66DlSdPXbZ5PLUr+kYx+slg8Yj2uW1hNRPQEIKA5cFuFgZ+z0rXpk2DwU53XjtgX7xisrXXoDuycX1B54dLbrQqdbMFYqjr2rmbV13YvKTb7cnzXJKkkqLw61MNh7+6Ijl/3eZK0+3nHzdqBvtbbRAHZGVqq5ppt7qWOn15MdVd6Or/ed2+W5lWkwfPHnbzsZZ2e8HStKCuQUwQQkPPsknItKuOxdC16+I9rc2Jqy8dURxMvHz2oX/27xa1m5irZqWAuCwrVVXZ2PGcjVUCCMIhvMpaCCC8OPdCNBMttESNSDWvlFUlvHni+Hc719dej5oxggAIAAAIAIGyrGzd3Tr9P5JrNp8Zt4rCAAAAAElFTkSuQmCC",
"name": "Nance",
"job": "Electrical Engineer",
"information": "19egbE4r7MVLoqRvCtW4aqrHGEmxK3oApB"
}, {
"personaId": 3,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAANDSURBVDjLXZNLaFxlAIW/+5hn5pkXMWFSU0uN9mFaUlNIUqmkjVIFFRVEUczChVKyduNOETeC+FipEcXajS0VrcQWW2zEllSSUkNK0pjUJNPJZGYyd5I79/H/93dTS/EsD4ePs/k0pRT3ZnRiZBA4DhwAWgATqAKXVaA+/Wjwy5/v3Wv/AUYnRkxgDHj+6dxQJBtrwbIbsD0Q0kFQ4Hz+rJBC/iKEfPHzJ7/bvAsYnRgJAb/2Nu/qP5o7jOVEcPGYtzTCKkLJDlDCI4ZN3v2NydXJa8IXh7594XRVv/NkbH/Tzv6B9l7K0sPXNYTQqYswNmHKboQ1J8ZyNURn4lF62x7c67n+CQCjcuTWAPDByzufMq7LLfLUqQeCTSdB2Q1hOTC3UqO6tUUkW0JLz3GwuZvzM1e2f315bNroG9n34XB7327NiJHXBahW7pMJrhYM6o7OzMomQbRCZNsN3NQcxaCCWZHsbsrpVxdnG03gQC7VwZS9SjGq87DxAAGCpTUPx6mTblNYjePMBxvgKjIiwlzRZej+/fiu2GMCTXGzgSV7lTXXJhnfzoaXpFIJSLc4tGZtirIHy50momrU1kuUN+IkYkl8T2RMpZSmKfBcC0UOMyQ5+4ePFkuQnxfoKkV7S51kbRBrxcdhEt/7G5RCCKGZUgRly7M6mowMyegjLBdNHD9EOBoh2hrj5kIJ50qGwcJpjuZ/ILb+D1upGKUNiRRB1RS++HOxfKtjRzzHudsTZOI7CBs5fMdGGRnCiSwHF09xLDTJQ6+9RaRrF/Vr4/x16RxDVtHSfU98/P3sRbEt0YJpr1At/U4262IKl5CmiOgG3de/ofvwc0RvXkD76iXiC6fo6mxkoLCe0b84dnLcc/2fxmcu8lhHD2mjgWwiIB2WpMIOyZBLdrNAtK0Ljp+B98vw9gLm1ixxXzWbAL7rv3JhbuqSW/f2Du87xI01E6OqEFoNP9CxU43YUz/ScOZN3PptbKBmGUiD1bsyPfHJ40nhi5PCl0de7X/dRLahVBxN18hNnyA1fZHORh9TX6ZWFCwWDOk76h3t/zr3v9v3rBTyDSmDPYEMsnfq6jMl2+5ZWkzHPdUkDbWi4LPhcfHevzBSqkykNJyOAAAAAElFTkSuQmCC",
"name": "Olive",
"job": "Information Systems Manager",
"information": "1N2V542xKknN2o5kDANk2nwiBrkf2Z1Lyr"
}, {
"personaId": 4,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGASURBVDjLxVO7agJRED3XN4gPkEWwET/AysoqoE3+wcIPCEvEVsgnhJXgF4j+QraJLFjkAyxEsFCwsBYU32bPyF7WkEDAIsMOcxnmzJx5rLpcLrhHArhTQt5jMpl8nE6niqs4Ho84HA5a9/u91t1uRzuo1+tV4hRbcMEPkUjEMQxDgr6Lv81wOAzHcTCfz6umaQ6EgVvxJZ1OY7lcIhqNapAfyPdisUAymUShUGDRluseqNFoJNUzmQxWq9UNXbZCoFIKwWBQqicSCcTjcdi2jel0Wg2weiqVkl4ZFIvFpAoTZrNZ0W63i+FwiF6vh/P5jO12i2KxyHm0Qqy0Xq+Rz+d/nXS73Uaj0YBlWdo3m82EJRNUPOfz26fQhdDmiOXD61MZm83mJilZExviWtgrrvEu8ArWFj8fmrdiScDdUyyz/OcD4ix0Ag5sPB7r1VEZ4K2x0+mgVCqh2WyiVquJP5fLCXPV7/ff3V4efVemraf+qySIjKluIlv9+890d4IvgMkS1vrQFCsAAAAASUVORK5CYII=",
"name": "Ardenia",
"job": "Geological Engineer",
"information": "167HKrvGtDMmdi9Vr6vo4NtXWy6apniood"
}, {
"personaId": 5,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHMSURBVDjLpZNNS1VRGIWf67HQ8MZVEtLserNIsk8JA0f1F8JZ/oRG9RNs3ESaNQscFQ5KCoIiopGhhFDgHZRgZEIRSN3PvddqcI5memZu2Ow1WQ/Pu+Et2OYgp4MDns7tcH9hY0dFNgZiBAyWkCEqzVFw71a58B8AYLD3MMZYYMAyMngXRILPm7X9BtHGzgoC29iZTQaSjGRiO2eEGFNFbKSsuJ31P6Qdtf8THZXSBVFC0Sk0iv7CCtcOPSDxFlEmhBxAEFlJmU2aC7HBaZ4zXBmn4tcoGgXvBygoK21D0nzSbxgsT3B0YJyB8I6euEbIA4TAv6JMiKJbGwyFVxSPlYhbTxm6NM1IWEBq5wBizMrp/I6i3HrB4NhNaCyz+GiOnlKdvvoSw8lKnkGqrAAxmlL7E2f6GhR7a6j5BSzi7/ecunGXiWSexdnJ4h6DTF1GsU2l9phS+QqqrWDVuTo1ilrf6Oqqcu7ydUKzdWePgVhdr7G6/ofk+0sqI+c5UvyBw08oJCzNVwGhRpX+s8PEZvv225kLY4W8bVycnfx6cXruRNKxhsOvdCF2TZ10j7L58QPVZzNPOvM2LDRbXcsPp+qWsbTreudFwvbxvyYHcoBEg0hXAAAAAElFTkSuQmCC",
"name": "Mendy",
"job": "Budget/Accounting Analyst I",
"information": "1GGGcpkF753BpactAbTAwbttrBRXpKyeV"
}, {
"personaId": 6,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE3SURBVCjPfZHNSgJhFIa/C3AldD2ugraCF2E2OdX6c0ZtQAj7nUJoUxZtKn+mwE20CoRW4/hTTukg3xUIugmCp8UMYhs5u/M+L+fwvgKxegRCCSWUcOKO1XSb08as4dat+lq4XQBOsjXvEqBQBHg8z2upJcBJvDFmwhgfn28CRtyxvxEBzVhLjQjwGfLBgD59XrEpBoVYCBgeE4YLucste1xSplBACESjHTCKxB5dbthFx8Im/44QiPqv4jPyelTZQSeLRgWTBTCgF8k6OttobHGBEQK19hgfjw7XkVcjg8kxRnji0XAZ0+Fq4c2Q5pwSufDJh9iT+uKFbCRuksamjAxkLArqPlHllAp5NHRy2BxSRK4vRZ1PmrMDTrA544gSciZT/7pQwowbluHmfuRUutKSy2Wtnj+jSVcdCo7izAAAAABJRU5ErkJggg==",
"name": "Marijn",
"job": "Product Engineer",
"information": "15LGkLLVdX6UjMdJe7C6HUZLG1cVh4dvcG"
}, {
"personaId": 7,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ/SURBVDjLbVJBaxNBGH2bpEkTmxi1NTRKTZtoQUHEWz0Igj2I4kG9eVNQhEBO7bEHc+yv8JAiHnr2B4gFqVrQRhObljQolBSTJqZJdnZmfbNr2rU68DEz33zfm/fejGHbNrxjaWlpRCk1J6WcYZxkgPGTsWJZ1mIul/vlrTe8AIVC4Qqbl5PJ5GQsFoPP5wP36PV6qNfr2OIg0L35+fm1fwDYPMLDj+l0OmOaJmq1Gjqdjr4dgUAAiUTCqSsWixvMXV5YWOjqvW+AxOSz8fHxjBAC5XJ5s91up7gO6tDrUqn0QwOTXYZSsoO+wGDB5EwkEkGlUgGb7mSz2apHajWfz9+sVqvFVCrl1P4PYExr5m16vYUjQ+c0O11DtmN/ebD95pG9UpnGzl7Y0Xz30ir8toAtLdiWG0JIvFi76piaGG7g9plVTD/5YLgMCPLg/g0YtMTwhznfApRBfsP6kAYJSKuN57Md5oXTsvHy7aEEfZMutHZfIRAahWGMsHAICMeZVsD+HmTrG8zudyhrH+HJLGyz7wEgRSh9k4nm+nvqPIb4xWuovV5k/2lMXJ9F8+s6ARqIpk6QsIQtTC+AcGTYpBqfvgBfcJTuKMi+xKfdMCZgIp6eRK8TYu2+w2oA4PwDm+5qVK218XmNLN7xxILqKfS7pGqTWekLmuVtV65STs8hA73RqJQQP5+CP3KKACamHj7FlGBDawfH00kEW0MuA8o9AmA6qMrSHqwTIAoM08hAkHkN0ES3UYfotBGdiNFu5cr2AmgJobOPET7nhxEMuU/o40soSjO7iHbbVNgnUen6pY0/AOCTbC7PuV44H0f8Cetg5g9zP5aU7loDcfwGcrKyzYdvwUUAAAAASUVORK5CYII=",
"name": "Stillman",
"job": "Software Engineer I",
"information": "1KaoTehupCEPBz7nt3aJsh5oWKXPV82YfG"
}, {
"personaId": 8,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAI9SURBVDjLpZPNS5VBFIef+77X4lYayfVqpQY3XPiRGogp9rEpa2NRQpAELaJl5LKVJGSrFm36A6RMCpSilu5StETLaGcophTeNMyv+/rOmTMtrp87o4FhOOdwnvObHzMR5xz/s6IAz98vtDnHHeu0UFWxCqKKtYpVh1jdti1WHFZ1uONmSW0UQJ2721ybHf+XyQ9efqvcVGBV4wBvJjoRFcQKRgVjzdZpZbN2v74DY+zebYCMDy1lt3c1fSUQjNgtD6xVALr7U7sCXK7JJdwOkHUAwI3TCV4NzHK9IX8z1zM0S3PdVjy3GOxUYKyizhH1oWcwhe979A6liHjgrTfd6zpH2izRVP6aiqJDhCYD8Dau4ICoH6G5PkHUg2t1Ca7WJrhSmwDAOENhvJSu0YsEJkBEdypwClEP3o38wveh9cVZnBpCFUIRjuSWUFpwiqVghdbeKrJ5tg0ginOOLB8uncyjb2wO0ZAL5bewTrFqURw//kxzorCB5TDNyPcmKh8GBzMmakaO70XoG5sDIJAQ65Sp+XGMCqIGYw2La0tUF51h2azyYbJ/3gMQkYwHHpyvihP1IZAAsUJ+TjEFOcc4fDBJlh8jL/soo9MDfJz4ympIzZYHzlFRfICfv9Mcz4+RljU6Bx8TakggIcl4GXXJRoan+hmdGaMi9lR72ls+rz8kN9DePV4dWt1vxGLEEpNuolYRK+QAn2YaiXgxBsa/ULLnCQsribcAkd1+52RbZMWqvy+tNpl65CY38n8B/ZBP7EKNHesAAAAASUVORK5CYII=",
"name": "Sharona",
"job": "Account Coordinator",
"information": "122FsPPsayZfkPP46G1hpfsWyj3v444D6W"
}, {
"personaId": 9,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALESURBVBgZPcFLaJxlFIDh95zv+//MJZObITUUq/QSG42orcULSnQhgmRjQRCyqaC4qLqrLgQ34gV040JKcOGiEMS9C0E3iVGEWIu0pWClWAlpmsaZSRuTmfn+c8zY0ecRd6fr2XcXTpQH+mZVOAqUAKFLABdwI5n93tjw72Szfmrx9EybXeLudD3/wdLimTeOTqrKkEPA+Z87u5z1Wx3mlxtcu9r6++L5SyPfn55pRXo0yL15DEMXrhNUBATcoHAjJWe7U/D0oRqPTkR+svWK2+H69OtfDys9ItLv7iEPSqYQBYJCEBABRQBjfCBn5tg49xzsK8eB6hdKj4NstR0FVEBFUBFUBBVBg7D61zZ393e4b0R49fE7CFl4MdJjKB8tNGkWzqnHRvn0XIOYYHaqRgxC7srlDadtCbM2T+3vQ6ImZddDH14Z8YGxPGaKtkBFIEGtDGfONmm1nSwofXmglAdKeYajIIo++P6Vl6YOVVcm9/Vrs1HwyiMjqAgn7h9kvVFQKcPnP9dZ/m2LLCp5CPRFxQB30MkD5bl9tVBarXd4+UiF4VrEgeGKcnyixlozMV4Vlv7cQoCoQgxKYVAY6Lnlzdcur7Z2RvLA3GKTjUYHd2fjVuKrX+oMReWPtTZPjlfIVIkqBBVKmVAkRy99MvHl8lJ97/mLdSuVlM++uUZhMLdwg2pJ2dro8Ob0GE9MDeCAOTiQBSW1E+LudE2/88P2/jv3lm60oXJ4D62r62zehMGDo2gudLmDcdv8cxnPvLW4E+kxS7w3u4ePL+QcGVPswF0UDoWAOTjgDu7w6/WEm9PZSUR6UsssmXm7QH5cKTBxHKHLHATHHFwFNSFGsVRYivR0doq1ah5G336gXXV3xcG4bbAc6XKHciaIYFmQm0WyFXF3uo6d/PZk6vgLIvKw4xX+4+CA4/zL6doxs7MK8/8A73I7wFFcAY8AAAAASUVORK5CYII=",
"name": "Rog",
"job": "Analog Circuit Design manager",
"information": "1HVrFXCHk8KsonaGYJGLmcDXg36iNY89pd"
}, {
"personaId": 10,
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH/SURBVDjLjZLNS5RxEMc/8zyPz25vLFkEUodfhpBFGpQhXSoivFl/Qp46RJeC7OQpSAJZglow6BDsKRCCoEMdKgwTUShfLtZidFhpsyV7xM1dfjPdZLXQndt8GT4z850RM6ORyOVyliQJ/f39Uq8HNBiqysTExD96VJ8MDw8Pmdl5EWkB9gNNIoKq4pwjiqKtAdVq9WZPTw+pVGq92HuP9x5VJQzDrQGqSiaT4czIXnZESkUFMPbENZ52f99+giiK8N4joXH7nBAFhgBD0xG/q7o9IAgCarUaEhhxCJgRABIaGI1NoKpICAOjYAIigICZ3x4QhiGqyrOOWVR13TzvPZkw0zhgJMmTSqU4/PkYra2t7HvwhMmr3UjbEteyVyxZXU5+rZTvv7z36a7Uf2I+n7euri7K5fJ6ZzNjpviBctM8p9pPc6i5jTdzzxmfHeXrl6Wh4H8eFAoFVJWFhQXMjMlvbzl5tBMfeDpbLuGlRveJswDXg80rmBnOOQCcc6gqP5MSTbKb3vYbANy6+JgjBzoA0sHmM6oqi4uLxHFMqVQinU6znJSZK44x+LoPgMFXfRRK0wB/NgBEZKVSqeCcIwgCnHPEccyF45cZnx4jJuLFTI5YIt5/fAfwaIOJ2Wx2YGpqqndtbQ0RqQeztGv+4OrOH82GxkAC5MYfFu/8BdnT67i+1n1kAAAAAElFTkSuQmCC",
"name": "Lief",
"job": "Data Coordinator",
"information": "19y5WYWoWbvjPmBUKxDma9iFfUqQYKtghb"
}]
export default personal;

31
vue/routerpush/src/router/index.js

@ -0,0 +1,31 @@
import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'
import DetailsView from "../views/DetailsView.vue"
const routes = [
{
path: '/',
name: 'home',
component: HomeView
},
{
path: '/about/:Pid',
name: 'details',
component: DetailsView
},
{
path: '/about',
name: 'about',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
}
]
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
})
export default router

33
vue/routerpush/src/views/AboutView.vue

@ -0,0 +1,33 @@
<template>
<div class="about">
<h1>Kdo se stará o stránky</h1>
<p> LOREM IMPSUM</p>
<hr>
<h3>Náš kolektiv</h3>
<div v-for="(data,index) in personal" :key="index" @click="goDetails(data.personaId)" style="border: 1px solid black;">
<img :src="data.image" alt="">
<h2>{{data.name}}</h2>
<h4>{{data.job}}</h4>
</div>
</div>
</template>
<script>
import personal from "../personalService"
export default{
name: "AboutView",
data() {
return {
title: "About",
personal
}
},
methods: {
goDetails(personalId) {
let personaId = personalId
this.$router.push({name:"details",params:{Pid:personaId}})
}
}
}
</script>

26
vue/routerpush/src/views/DetailsView.vue

@ -0,0 +1,26 @@
<template>
<div>
<h1>Detaily o personálu</h1>
<div v-for="(data,index) in personal" :key="index" @click="this.$router.push({name:'about'})">
<div v-if="perId == data.personaId">
<h1>{{ data.name }}</h1>
<h3>{{ data.job }}</h3>
<img :src="data.image" :alt="data.name">
<p>{{ data.information }}</p>
</div>
</div>
</div>
</template>
<script>
import personal from "../personalService"
export default{
name:"detailsView",
data() {
return {
perId: this.$route.params.Pid,
personal
}
},
}
</script>

18
vue/routerpush/src/views/HomeView.vue

@ -0,0 +1,18 @@
<template>
<div class="home">
<img alt="Vue logo" src="../assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>
<script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue'
export default {
name: 'HomeView',
components: {
HelloWorld
}
}
</script>

4
vue/routerpush/vue.config.js

@ -0,0 +1,4 @@
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true
})
Loading…
Cancel
Save