Project init
@@ -0,0 +1,14 @@
|
||||
/* eslint-env node */
|
||||
require('@rushstack/eslint-patch/modern-module-resolution')
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
'extends': [
|
||||
'plugin:vue/vue3-essential',
|
||||
'eslint:recommended',
|
||||
'@vue/eslint-config-prettier/skip-formatting'
|
||||
],
|
||||
parserOptions: {
|
||||
ecmaVersion: 'latest'
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/prettierrc",
|
||||
"semi": false,
|
||||
"tabWidth": 2,
|
||||
"singleQuote": true,
|
||||
"printWidth": 100,
|
||||
"trailingComma": "none"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
|
||||
}
|
||||
@@ -1,2 +1,35 @@
|
||||
# Bewaesserung-Website-Vue
|
||||
# Bewaesserung-Frontend
|
||||
|
||||
This template should help get you started developing with Vue 3 in Vite.
|
||||
|
||||
## Recommended IDE Setup
|
||||
|
||||
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
|
||||
|
||||
## Customize configuration
|
||||
|
||||
See [Vite Configuration Reference](https://vitejs.dev/config/).
|
||||
|
||||
## Project Setup
|
||||
|
||||
```sh
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compile and Hot-Reload for Development
|
||||
|
||||
```sh
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### Compile and Minify for Production
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Lint with [ESLint](https://eslint.org/)
|
||||
|
||||
```sh
|
||||
npm run lint
|
||||
```
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
|
||||
<title>Bewässerung</title>
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
|
||||
<link rel="manifest" href="favicon/site.webmanifest">
|
||||
<link rel="mask-icon" href="favicon/safari-pinned-tab.svg" color="#5bbad5">
|
||||
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "bewaesserung-frontend",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore",
|
||||
"format": "prettier --write src/"
|
||||
},
|
||||
"dependencies": {
|
||||
"pinia": "^2.1.4",
|
||||
"vue": "^3.3.4",
|
||||
"vue-router": "^4.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rushstack/eslint-patch": "^1.3.2",
|
||||
"@vitejs/plugin-vue": "^4.2.3",
|
||||
"@vitejs/plugin-vue-jsx": "^3.0.1",
|
||||
"@vue/eslint-config-prettier": "^8.0.0",
|
||||
"eslint": "^8.45.0",
|
||||
"eslint-plugin-vue": "^9.15.1",
|
||||
"prettier": "^3.0.0",
|
||||
"vite": "^4.4.6"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#da532c</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,237 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="550.000000pt" height="550.000000pt" viewBox="0 0 550.000000 550.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.14, written by Peter Selinger 2001-2017
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,550.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M4202 5308 c-7 -7 -12 -9 -12 -6 0 10 -96 -25 -155 -55 -58 -29 -86
|
||||
-50 -129 -92 -16 -16 -26 -23 -21 -15 4 8 -2 5 -14 -7 -20 -21 -42 -29 -66
|
||||
-23 -5 2 -21 4 -35 5 -14 2 -50 7 -80 11 -86 11 -240 7 -240 -7 0 -4 -8 -7
|
||||
-17 -7 -37 3 -210 -72 -197 -85 19 -18 -30 3 -51 23 -14 13 -25 19 -25 14 0
|
||||
-5 -5 -1 -11 9 -6 9 -14 15 -20 12 -5 -4 -9 -1 -9 4 0 6 -3 10 -7 9 -5 0 -30
|
||||
9 -58 22 -27 13 -52 23 -55 23 -3 -1 -13 3 -23 9 -21 11 -23 11 -135 37 -93
|
||||
21 -303 22 -377 1 -22 -6 -44 -12 -50 -14 -5 -1 -25 -6 -42 -10 -18 -4 -33
|
||||
-12 -33 -16 0 -5 -7 -7 -15 -4 -8 4 -15 1 -15 -6 0 -6 -4 -9 -9 -5 -5 3 -17
|
||||
-2 -25 -11 -9 -8 -16 -13 -16 -9 0 3 -14 -2 -31 -12 -24 -13 -33 -15 -36 -5
|
||||
-3 6 -12 12 -21 12 -8 0 -13 3 -9 6 3 3 -2 14 -11 23 -20 20 -100 72 -116 76
|
||||
-6 1 -24 7 -39 13 -109 45 -292 50 -394 11 -33 -12 -156 -99 -150 -106 3 -2
|
||||
-8 -17 -24 -32 -16 -15 -26 -31 -22 -34 3 -4 2 -7 -4 -7 -6 0 -13 -8 -17 -17
|
||||
-3 -10 -10 -25 -15 -33 -15 -21 -44 -93 -43 -102 2 -11 -45 -21 -57 -13 -6 3
|
||||
-11 2 -11 -2 0 -5 -18 -8 -40 -8 -22 0 -40 -3 -40 -8 0 -4 -4 -6 -9 -3 -10 7
|
||||
-144 -34 -152 -47 -3 -5 -8 -8 -10 -7 -24 10 -159 -104 -159 -135 0 -5 -7 -23
|
||||
-15 -39 -9 -16 -13 -36 -10 -43 2 -8 1 -12 -4 -8 -5 3 -15 -1 -23 -8 -12 -13
|
||||
-18 -16 -43 -22 -5 -2 -30 -9 -55 -16 -25 -7 -48 -12 -53 -11 -4 1 -7 -2 -7
|
||||
-6 0 -5 -6 -9 -12 -9 -20 0 -88 -44 -88 -56 0 -6 -3 -8 -6 -4 -8 8 -33 -16
|
||||
-27 -25 2 -5 -2 -8 -10 -8 -9 0 -28 -20 -44 -45 -15 -25 -38 -48 -50 -51 -13
|
||||
-4 -23 -10 -23 -16 0 -5 -4 -7 -8 -4 -10 6 -75 -25 -85 -41 -5 -8 -12 -11 -18
|
||||
-8 -5 4 -9 1 -9 -4 0 -6 -5 -11 -11 -11 -7 0 -24 -13 -40 -29 -15 -16 -29 -28
|
||||
-31 -27 -2 1 -17 -13 -35 -31 -17 -18 -30 -33 -28 -33 2 0 -7 -11 -21 -25 -14
|
||||
-14 -22 -30 -19 -35 3 -6 2 -10 -3 -10 -9 0 -40 -60 -49 -95 -13 -48 -14 -183
|
||||
-3 -234 21 -94 56 -150 153 -243 49 -49 93 -88 97 -88 5 0 22 -14 40 -30 18
|
||||
-17 43 -33 56 -36 13 -4 21 -11 17 -17 -4 -6 0 -8 10 -4 10 3 17 2 17 -3 0 -8
|
||||
44 -27 46 -19 0 2 8 -2 17 -10 10 -7 17 -10 17 -6 0 4 7 2 15 -5 8 -7 15 -9
|
||||
15 -6 0 4 8 2 18 -3 29 -16 119 -25 237 -24 137 0 205 6 205 16 0 4 8 3 19 -2
|
||||
10 -6 21 -8 25 -6 3 3 4 2 1 -2 -5 -7 2 -13 89 -68 32 -20 55 -31 51 -24 -6
|
||||
10 -2 9 11 -2 21 -17 112 -57 141 -62 10 -1 23 -5 28 -9 38 -23 244 -41 317
|
||||
-28 35 7 37 6 44 -24 3 -17 13 -47 22 -66 8 -19 14 -38 14 -42 -1 -4 7 -10 18
|
||||
-13 11 -4 18 -10 16 -14 -6 -10 73 -61 96 -62 17 -1 30 -4 46 -9 4 -1 11 -2
|
||||
15 -1 4 1 27 4 50 7 23 2 44 9 48 15 3 6 9 10 13 10 20 -3 26 0 21 9 -4 6 -3
|
||||
10 2 9 21 -4 33 2 33 15 0 8 5 18 12 22 7 4 8 3 4 -4 -4 -7 -5 -12 -2 -12 8 0
|
||||
41 63 38 73 -1 4 3 7 9 7 5 0 7 5 4 10 -3 6 -2 10 4 10 5 0 10 8 10 18 -1 34
|
||||
9 57 22 54 22 -6 92 -15 114 -15 65 1 125 8 125 15 0 5 4 7 9 4 12 -8 121 34
|
||||
121 46 0 5 4 7 8 4 5 -3 18 4 30 14 21 20 21 20 51 -13 17 -17 31 -35 31 -39
|
||||
0 -5 6 -8 14 -8 8 0 17 -7 20 -16 4 -9 9 -14 12 -11 3 2 17 -6 31 -19 14 -13
|
||||
29 -21 33 -19 5 3 10 0 12 -5 2 -6 10 -12 18 -13 8 -2 21 -6 28 -10 6 -5 17
|
||||
-5 22 -2 6 3 10 2 10 -2 0 -11 36 -15 120 -16 76 0 126 7 144 22 7 6 16 8 19
|
||||
4 4 -3 7 -1 7 6 0 7 4 10 8 7 5 -3 21 6 35 20 27 25 27 25 55 6 37 -25 102
|
||||
-54 132 -59 42 -7 164 -10 175 -4 6 3 20 7 32 9 31 4 19 -26 -13 -34 -13 -3
|
||||
-24 -10 -24 -16 0 -5 -15 -15 -32 -23 -38 -15 -110 -84 -102 -96 3 -5 1 -9 -4
|
||||
-9 -18 0 -48 -94 -46 -145 1 -27 3 -50 4 -50 1 0 3 -9 5 -20 2 -11 9 -21 14
|
||||
-23 6 -2 11 -11 11 -19 0 -9 3 -13 7 -10 3 4 13 -2 20 -13 8 -11 19 -18 24
|
||||
-15 5 4 9 2 9 -4 0 -15 111 -7 145 11 28 15 73 58 106 102 12 17 12 19 -1 12
|
||||
-8 -4 -6 0 4 8 11 9 16 16 12 16 -5 0 -4 6 2 13 11 13 26 118 25 170 0 15 3
|
||||
27 7 27 4 0 7 10 7 23 -1 12 7 49 17 82 10 33 19 66 19 73 0 6 4 12 9 12 5 0
|
||||
6 5 3 10 -3 6 1 13 9 16 9 3 14 10 11 14 -3 4 3 7 13 6 9 0 21 -7 25 -14 5 -7
|
||||
12 -10 18 -7 5 4 9 1 9 -4 0 -6 3 -10 8 -9 4 0 16 -2 27 -6 11 -5 26 -10 33
|
||||
-12 6 -2 12 -13 12 -24 0 -33 31 -120 43 -120 6 0 8 -3 4 -6 -10 -10 45 -64
|
||||
65 -64 11 0 17 -4 14 -9 -4 -5 8 -13 26 -17 47 -11 47 -11 56 -14 10 -3 52 -2
|
||||
85 3 41 6 117 48 117 64 0 8 5 11 10 8 6 -3 10 2 10 11 0 10 3 14 7 11 10 -10
|
||||
51 67 59 110 4 21 6 54 6 73 l-1 35 172 1 c178 1 290 10 295 25 2 5 8 7 12 4
|
||||
11 -7 134 35 138 47 2 4 8 6 13 2 5 -3 9 0 9 6 0 6 4 9 9 6 5 -3 20 4 35 15
|
||||
14 11 26 17 26 12 0 -4 4 -3 8 2 4 6 39 34 79 63 88 65 129 110 159 177 28 63
|
||||
40 169 23 210 -7 17 -13 32 -14 35 -7 22 -30 60 -37 60 -4 0 -8 6 -8 13 0 6
|
||||
-12 23 -27 37 -15 14 -23 18 -18 10 4 -8 -5 0 -22 18 -16 17 -33 32 -37 32 -4
|
||||
0 -14 7 -23 15 -8 8 -19 13 -24 10 -5 -4 -9 -2 -9 3 0 5 -16 17 -35 27 -27 12
|
||||
-35 21 -30 35 3 10 8 29 11 42 7 31 10 138 4 138 -3 0 -6 12 -7 26 -1 33 -45
|
||||
144 -55 144 -5 0 -8 9 -8 20 0 10 -9 24 -20 30 -11 6 -20 16 -20 24 0 14 -51
|
||||
62 -62 58 -5 -1 -8 5 -8 14 0 8 -4 12 -10 9 -5 -3 -10 -1 -10 4 0 6 -5 11 -11
|
||||
11 -6 0 -17 7 -26 15 -8 8 -19 13 -24 10 -5 -4 -9 -1 -9 5 0 6 -4 9 -8 6 -5
|
||||
-3 -9 23 -10 57 0 34 -2 63 -3 65 -1 1 -2 10 -3 20 -1 9 -6 33 -11 52 -5 19
|
||||
-8 41 -6 48 1 6 -3 12 -9 12 -5 0 -9 3 -8 8 3 14 -25 92 -34 92 -4 0 -8 9 -8
|
||||
20 0 11 -5 20 -11 20 -5 0 -7 5 -4 10 3 6 1 10 -4 10 -6 0 -11 5 -11 11 0 18
|
||||
-77 120 -138 183 -85 88 -217 166 -303 179 -10 2 -22 6 -25 10 -12 12 -139 8
|
||||
-152 -5z"/>
|
||||
<path d="M615 3138 c-19 -21 -35 -43 -35 -49 0 -6 -4 -8 -9 -5 -5 3 -15 -2
|
||||
-22 -11 -12 -14 -12 -16 0 -8 10 6 12 4 7 -4 -5 -7 -10 -10 -13 -7 -3 2 -23
|
||||
-9 -46 -25 -22 -16 -46 -29 -54 -29 -7 0 -13 -4 -13 -10 0 -5 -3 -9 -7 -9 -5
|
||||
1 -13 1 -20 0 -15 -1 -93 -76 -94 -91 -3 -19 -4 -25 -10 -35 -11 -17 -7 -105
|
||||
4 -105 6 0 8 -3 4 -6 -13 -14 25 -65 69 -90 47 -28 123 -35 148 -14 7 5 15 8
|
||||
17 5 10 -10 91 72 95 95 3 23 10 57 14 70 1 3 2 38 2 78 0 40 9 106 20 145 10
|
||||
40 20 77 22 84 1 7 5 15 9 19 12 12 -13 43 -33 41 -11 -1 -36 -18 -55 -39z"/>
|
||||
<path d="M2518 3053 c-10 -2 -18 -11 -18 -19 0 -8 -5 -14 -11 -14 -5 0 -7 -5
|
||||
-4 -10 4 -6 3 -9 -2 -8 -4 2 -27 -16 -50 -39 -24 -23 -43 -40 -43 -38 0 2 -16
|
||||
-7 -36 -20 -20 -14 -43 -25 -50 -25 -8 0 -14 -5 -14 -11 0 -5 -4 -7 -10 -4 -5
|
||||
3 -10 1 -10 -5 0 -6 -4 -9 -8 -6 -8 5 -40 -22 -69 -58 -29 -35 -34 -136 -9
|
||||
-185 9 -17 21 -31 27 -31 6 0 8 -4 5 -8 -7 -12 76 -52 111 -54 57 -3 133 27
|
||||
133 53 0 6 4 8 9 5 8 -6 18 9 19 28 0 5 6 12 12 16 7 4 13 19 13 34 1 14 4 26
|
||||
7 26 3 0 5 45 5 101 0 55 3 103 8 106 4 2 5 8 2 13 -3 5 -1 11 5 15 6 4 8 11
|
||||
4 16 -3 5 -1 16 5 23 7 8 11 18 9 22 -1 5 2 19 6 32 7 22 -7 54 -23 51 -3 -1
|
||||
-14 -3 -23 -6z"/>
|
||||
<path d="M1234 2917 c-23 -13 -44 -39 -38 -49 2 -4 -1 -10 -7 -14 -8 -5 -9 -3
|
||||
-4 6 5 8 -22 -17 -60 -56 -38 -38 -68 -73 -67 -77 1 -5 -1 -6 -6 -3 -5 3 -20
|
||||
-5 -33 -17 -13 -12 -27 -21 -30 -20 -4 1 -13 -4 -19 -12 -7 -8 -19 -15 -26
|
||||
-15 -8 0 -14 -4 -14 -10 0 -5 -7 -10 -15 -10 -8 0 -15 -5 -15 -11 0 -5 -4 -8
|
||||
-9 -4 -5 3 -15 0 -23 -7 -7 -7 -21 -14 -31 -16 -30 -5 -98 -44 -104 -58 -3 -8
|
||||
-11 -14 -19 -14 -8 0 -14 -5 -14 -11 0 -7 -8 -18 -17 -26 -12 -10 -13 -12 -3
|
||||
-8 12 5 12 4 -1 -7 -13 -11 -27 -35 -34 -58 -18 -59 -21 -82 -19 -115 3 -48 7
|
||||
-66 17 -82 5 -7 6 -13 3 -13 -8 0 30 -65 55 -94 12 -14 25 -23 29 -21 5 3 11
|
||||
-2 14 -11 3 -8 10 -12 16 -9 5 3 10 2 10 -4 0 -23 174 -51 205 -32 6 3 12 6
|
||||
15 7 32 6 60 18 60 26 0 5 5 6 10 3 6 -3 10 -2 10 4 0 5 9 13 21 16 11 4 18 9
|
||||
15 12 -2 3 6 15 19 27 13 12 25 28 27 36 2 8 9 21 16 28 7 8 10 17 7 22 -3 5
|
||||
0 10 7 12 8 3 13 42 14 129 1 68 3 124 3 124 1 0 4 29 6 65 4 69 6 78 25 150
|
||||
7 25 14 55 15 67 2 12 7 28 11 35 9 13 14 33 16 56 1 6 5 12 9 12 4 0 6 8 4
|
||||
18 -2 9 -4 20 -4 23 -2 13 -28 17 -47 6z"/>
|
||||
<path d="M3079 2783 c-13 -14 -18 -23 -10 -18 9 5 12 4 7 -3 -4 -7 -14 -12
|
||||
-22 -12 -8 0 -14 -3 -14 -8 0 -4 -21 -27 -46 -52 -25 -25 -57 -56 -72 -70 -14
|
||||
-14 -22 -18 -18 -10 4 8 -2 4 -13 -9 -12 -13 -21 -20 -21 -16 0 3 -13 -3 -29
|
||||
-15 -33 -23 -102 -55 -113 -52 -5 1 -8 -3 -8 -9 0 -5 -4 -7 -10 -4 -5 3 -10 1
|
||||
-10 -4 0 -6 -5 -11 -10 -11 -6 0 -20 -9 -32 -20 -12 -11 -19 -20 -15 -20 3 0
|
||||
-5 -11 -19 -25 -14 -14 -22 -30 -19 -35 3 -6 1 -10 -6 -10 -7 0 -9 -3 -6 -7 4
|
||||
-3 2 -12 -4 -19 -23 -28 -12 -194 14 -194 4 0 5 -4 2 -10 -3 -5 -1 -10 4 -10
|
||||
6 0 11 -6 11 -14 0 -13 17 -30 68 -65 11 -8 23 -13 27 -12 4 2 11 -2 15 -9 15
|
||||
-25 200 -14 200 12 0 4 7 8 15 8 8 0 15 5 15 10 0 6 5 10 11 10 15 0 49 39 49
|
||||
57 0 8 5 11 10 8 9 -6 14 8 11 28 0 4 3 7 8 7 15 0 24 59 27 170 2 114 11 207
|
||||
21 223 3 5 7 20 9 33 3 27 31 122 43 144 12 22 -5 60 -27 60 -10 0 -29 -12
|
||||
-43 -27z"/>
|
||||
<path d="M1811 2612 c-23 -33 -102 -123 -125 -141 -10 -9 -27 -24 -38 -33 -10
|
||||
-10 -22 -18 -28 -18 -5 0 -10 -4 -10 -10 0 -5 -7 -10 -15 -10 -8 0 -15 -4 -15
|
||||
-10 0 -5 -11 -12 -25 -16 -14 -3 -35 -18 -46 -33 -11 -14 -23 -24 -27 -21 -3
|
||||
3 -19 -20 -36 -50 -24 -44 -30 -69 -33 -127 -1 -43 1 -73 7 -73 6 0 9 -4 8 -9
|
||||
-6 -20 36 -68 71 -83 31 -13 50 -14 119 -6 6 1 12 5 12 10 0 5 4 6 10 3 5 -3
|
||||
21 5 35 19 14 15 30 26 35 26 5 0 12 9 15 20 3 11 10 20 15 20 6 0 17 25 19
|
||||
46 0 2 7 11 15 19 8 8 13 26 12 40 -2 14 0 25 3 25 3 0 6 21 7 48 1 44 5 73
|
||||
20 147 4 17 7 36 7 43 0 6 5 12 10 12 5 0 7 7 3 15 -3 8 0 15 6 15 6 0 8 3 5
|
||||
7 -4 3 -2 12 3 19 6 6 10 16 9 20 -1 5 5 25 14 44 18 41 8 70 -24 67 -12 -1
|
||||
-29 -12 -38 -25z"/>
|
||||
<path d="M2403 2352 c-29 -31 -53 -62 -53 -69 0 -6 -5 -15 -12 -19 -7 -5 -8
|
||||
-3 -3 7 8 12 6 12 -8 0 -9 -7 -17 -19 -17 -27 0 -7 -5 -16 -12 -20 -7 -5 -8
|
||||
-3 -3 7 5 8 -7 -1 -25 -18 -19 -18 -38 -33 -42 -33 -5 0 -6 -6 -2 -12 4 -7 4
|
||||
-10 -1 -6 -4 4 -22 -3 -39 -15 -17 -12 -78 -46 -136 -76 -58 -29 -108 -58
|
||||
-111 -63 -3 -5 -9 -8 -12 -6 -3 1 -15 -7 -27 -19 -11 -13 -19 -23 -16 -23 3 0
|
||||
-6 -12 -19 -26 -14 -15 -22 -30 -19 -35 3 -5 1 -9 -4 -9 -9 0 -15 -13 -28 -60
|
||||
-9 -31 -10 -116 -1 -145 9 -31 15 -56 16 -66 1 -3 10 -15 21 -27 12 -12 18
|
||||
-22 14 -22 -4 0 1 -9 11 -20 10 -11 22 -17 28 -13 5 3 7 1 3 -5 -6 -11 51 -51
|
||||
82 -57 9 -2 17 -4 17 -5 0 -4 44 -12 80 -14 42 -3 134 17 144 31 3 4 13 9 21
|
||||
11 23 4 109 101 126 141 24 56 25 67 29 216 2 77 6 156 9 175 13 91 18 116 26
|
||||
125 4 6 6 18 5 28 -2 9 1 17 6 17 6 0 7 5 4 10 -4 6 -3 16 2 23 15 19 45 132
|
||||
42 152 -8 37 -42 25 -96 -33z"/>
|
||||
<path d="M3792 2355 c-17 -20 -32 -39 -32 -44 0 -5 -8 -15 -17 -22 -17 -13
|
||||
-17 -13 -3 6 8 11 -7 1 -34 -23 -27 -23 -53 -42 -58 -42 -5 0 -20 -8 -35 -17
|
||||
-14 -10 -33 -18 -42 -20 -8 -1 -21 -9 -27 -17 -6 -9 -14 -13 -17 -9 -4 3 -7 1
|
||||
-7 -5 0 -6 -7 -18 -16 -26 -9 -9 -17 -22 -18 -29 -2 -6 -6 -19 -9 -27 -16 -40
|
||||
-14 -81 7 -124 21 -45 81 -100 97 -90 5 3 9 1 9 -5 0 -16 120 -7 131 10 5 8 9
|
||||
10 9 5 0 -15 60 46 77 79 11 20 17 65 19 135 4 123 7 146 22 181 6 15 12 35
|
||||
14 45 2 11 6 21 9 24 12 10 -11 50 -28 50 -10 0 -33 -16 -51 -35z"/>
|
||||
<path d="M609 2033 c-101 -112 -173 -187 -165 -173 4 8 -2 5 -13 -8 -11 -13
|
||||
-22 -23 -25 -23 -16 1 -35 -12 -30 -20 3 -5 2 -9 -3 -8 -13 4 -63 -23 -63 -34
|
||||
0 -6 -3 -8 -6 -4 -19 18 -253 -131 -239 -153 2 -4 -5 -16 -16 -26 -11 -10 -17
|
||||
-24 -15 -31 3 -7 1 -13 -5 -13 -6 0 -7 -4 -4 -10 3 -5 1 -10 -5 -10 -7 0 -10
|
||||
-7 -7 -15 4 -8 2 -17 -3 -20 -28 -17 2 -162 48 -233 18 -28 52 -65 52 -57 0 3
|
||||
9 -4 20 -15 12 -12 25 -18 30 -15 6 4 10 2 10 -2 0 -16 58 -31 121 -31 64 0
|
||||
149 23 149 40 0 5 4 7 9 4 11 -7 101 76 101 92 0 7 5 12 11 12 5 0 7 5 4 10
|
||||
-3 6 -2 10 3 10 6 0 13 12 17 28 5 15 10 34 12 42 3 8 6 69 8 135 4 181 18
|
||||
290 44 358 6 15 8 27 5 27 -4 0 -1 7 6 15 7 9 10 18 7 22 -4 3 -3 11 2 17 19
|
||||
24 40 113 28 125 -21 21 -44 11 -88 -36z m11 -7 c0 -2 -8 -10 -17 -17 -16 -13
|
||||
-17 -12 -4 4 13 16 21 21 21 13z"/>
|
||||
<path d="M3310 1995 c-14 -7 -25 -17 -25 -22 0 -5 -23 -30 -52 -55 -28 -25
|
||||
-50 -49 -47 -52 2 -3 1 -4 -2 -1 -4 2 -26 -9 -50 -26 -24 -16 -44 -27 -44 -23
|
||||
0 4 -9 -1 -20 -11 -11 -10 -20 -15 -20 -11 0 4 -9 2 -21 -4 -11 -7 -18 -14
|
||||
-15 -17 3 -3 -5 -14 -18 -24 -43 -34 -61 -167 -26 -197 10 -9 10 -11 1 -7 -9
|
||||
5 -7 -1 4 -19 17 -26 72 -62 88 -58 4 1 7 -2 7 -7 0 -15 110 -10 125 6 8 7 17
|
||||
12 20 11 10 -5 55 43 72 76 10 19 17 63 19 116 2 47 5 99 8 115 7 37 14 69 16
|
||||
73 2 1 4 11 5 22 1 11 4 23 5 28 1 4 2 10 1 15 0 4 4 7 11 7 6 0 8 3 5 7 -4 3
|
||||
-2 12 3 18 7 9 5 19 -7 33 -16 19 -20 20 -43 7z"/>
|
||||
<path d="M1386 1812 c-9 -15 -15 -23 -16 -17 0 5 -8 -2 -17 -15 -10 -14 -16
|
||||
-29 -15 -35 2 -5 0 -7 -3 -3 -7 6 -82 -57 -123 -104 -9 -9 -19 -15 -24 -12 -4
|
||||
3 -11 -2 -14 -10 -3 -9 -12 -16 -20 -16 -8 0 -14 -5 -14 -12 0 -6 -3 -8 -6 -5
|
||||
-4 4 -21 -4 -38 -16 -17 -12 -32 -21 -33 -19 -9 8 -33 0 -27 -10 5 -7 3 -8 -5
|
||||
-4 -7 5 -18 0 -26 -10 -8 -11 -15 -15 -15 -10 0 16 -71 -56 -83 -84 -5 -14
|
||||
-10 -28 -9 -32 1 -5 -3 -8 -9 -8 -6 0 -9 -7 -5 -15 3 -8 2 -15 -3 -15 -9 0
|
||||
-12 -120 -3 -135 4 -5 8 -19 9 -29 2 -10 11 -25 21 -33 11 -9 11 -12 2 -7 -26
|
||||
12 54 -67 83 -82 15 -8 27 -12 27 -8 0 4 7 1 15 -6 8 -7 15 -9 15 -5 0 4 6 3
|
||||
13 -2 12 -10 71 -10 114 0 34 8 83 37 83 48 0 6 4 8 9 4 11 -6 61 55 61 73 0
|
||||
7 4 12 10 12 18 0 32 86 35 215 4 144 2 132 40 265 36 122 37 150 8 161 -19 7
|
||||
-25 3 -37 -19z m-76 -95 c0 -2 -10 -12 -22 -23 l-23 -19 19 23 c18 21 26 27
|
||||
26 19z"/>
|
||||
<path d="M3790 1637 c-22 -23 -40 -48 -40 -55 0 -7 -4 -11 -9 -7 -6 3 -13 0
|
||||
-18 -8 -12 -18 -98 -87 -110 -87 -6 0 -16 -7 -23 -15 -7 -9 -15 -13 -18 -11
|
||||
-6 7 -114 -63 -129 -83 -6 -9 -9 -19 -7 -23 3 -5 1 -8 -4 -8 -12 0 -34 -49
|
||||
-27 -60 3 -5 1 -11 -3 -14 -16 -10 2 -126 21 -138 7 -4 8 -8 3 -8 -15 0 36
|
||||
-50 69 -68 17 -9 35 -15 42 -14 6 1 14 -2 17 -6 6 -10 74 -4 106 8 3 1 8 2 11
|
||||
2 3 -1 28 19 55 44 27 25 42 42 34 39 -10 -4 -9 -2 3 8 9 8 17 19 17 26 0 6 4
|
||||
11 8 11 11 0 11 4 17 125 4 102 8 140 20 185 4 14 8 32 10 40 2 14 5 23 27 82
|
||||
13 36 7 71 -15 74 -9 1 -35 -16 -57 -39z"/>
|
||||
<path d="M2759 1430 c-13 -10 -21 -19 -17 -20 4 0 -20 -26 -55 -57 -34 -31
|
||||
-65 -62 -69 -67 -4 -6 -8 -8 -8 -3 0 4 -17 -3 -37 -16 -21 -13 -53 -29 -70
|
||||
-36 -18 -8 -33 -17 -33 -22 0 -5 -6 -9 -12 -9 -14 -1 -49 -43 -52 -63 -1 -7
|
||||
-7 -21 -13 -32 -14 -27 -9 -107 10 -147 16 -33 50 -68 66 -68 5 0 11 -5 13
|
||||
-11 6 -19 119 -22 158 -5 39 16 93 64 98 86 2 8 7 17 10 20 12 9 15 32 18 140
|
||||
1 58 9 129 17 158 9 28 13 52 10 52 -3 0 -1 6 5 13 17 22 25 77 12 92 -16 20
|
||||
-23 19 -51 -5z"/>
|
||||
<path d="M1832 1193 c-6 -3 -10 -9 -6 -14 3 -5 -1 -9 -8 -9 -7 0 -24 -16 -37
|
||||
-35 -13 -19 -28 -35 -33 -35 -5 0 -7 -4 -4 -9 3 -4 -6 -13 -19 -19 -14 -7 -25
|
||||
-19 -25 -27 0 -9 -4 -14 -8 -11 -5 3 -15 -4 -22 -15 -8 -10 -20 -19 -27 -19
|
||||
-7 0 -13 -7 -13 -17 0 -9 -3 -14 -6 -11 -5 5 -58 -24 -89 -50 -11 -9 -42 -22
|
||||
-51 -21 -4 0 -10 -3 -13 -8 -3 -5 -27 -17 -53 -27 -27 -10 -48 -22 -48 -27 0
|
||||
-6 -4 -8 -9 -5 -10 7 -92 -79 -84 -88 4 -3 2 -6 -4 -6 -6 0 -14 -10 -18 -22
|
||||
-10 -31 -12 -37 -15 -43 -1 -3 -3 -8 -4 -12 -1 -5 -4 -12 -7 -18 -14 -25 4
|
||||
-165 22 -176 6 -3 10 -10 10 -15 -1 -5 5 -16 13 -26 8 -9 12 -19 9 -22 -4 -3
|
||||
1 -6 11 -6 9 0 15 -3 13 -7 -3 -5 1 -14 9 -21 8 -7 14 -10 14 -7 0 3 10 -3 22
|
||||
-14 11 -11 25 -18 30 -15 4 3 8 0 8 -6 0 -6 4 -9 9 -6 5 4 11 1 13 -5 7 -21
|
||||
135 -20 194 2 30 11 54 25 54 31 0 6 3 8 6 5 14 -13 102 94 96 116 -1 4 2 7 7
|
||||
7 16 0 25 61 27 190 2 146 11 229 33 299 6 18 10 36 9 40 -1 6 5 24 23 69 5
|
||||
13 7 28 4 33 -4 5 -1 9 6 9 7 0 9 3 6 7 -4 3 -2 12 3 18 21 25 -13 59 -48 48z"/>
|
||||
<path d="M780 1117 c-5 -12 -9 -18 -9 -13 -1 5 -11 -4 -23 -20 -13 -16 -22
|
||||
-33 -20 -39 2 -5 1 -7 -3 -3 -9 8 -55 -36 -55 -53 0 -7 -3 -10 -6 -6 -4 3 -26
|
||||
-14 -51 -38 -24 -24 -46 -44 -49 -44 -3 1 -19 -11 -35 -25 -16 -14 -29 -24
|
||||
-29 -21 0 3 -17 -5 -37 -18 -21 -13 -54 -30 -73 -37 -58 -23 -120 -61 -120
|
||||
-73 0 -5 -3 -8 -6 -4 -15 15 -89 -94 -99 -146 -2 -9 -7 -22 -10 -27 -11 -17
|
||||
-7 -141 5 -154 5 -7 7 -16 3 -19 -3 -4 -1 -7 6 -7 7 0 10 -4 6 -9 -8 -14 44
|
||||
-84 88 -117 21 -16 40 -28 43 -26 2 1 18 -5 34 -13 17 -9 30 -12 30 -8 0 4 5
|
||||
2 12 -5 13 -13 98 -17 98 -4 0 4 8 8 18 9 43 3 62 8 62 15 0 4 7 8 15 8 8 0
|
||||
15 5 15 11 0 5 5 7 10 4 6 -3 13 1 16 9 3 9 10 14 14 11 4 -3 14 3 21 12 12
|
||||
14 12 16 0 8 -10 -5 -12 -4 -7 3 4 7 14 12 22 12 8 0 14 7 14 15 0 8 4 15 9
|
||||
15 5 0 19 24 31 53 19 42 24 73 26 162 3 110 10 224 19 280 5 36 22 108 25
|
||||
113 2 1 3 5 4 10 1 4 5 13 9 20 5 6 6 12 3 12 -2 0 6 27 19 60 13 33 18 57 12
|
||||
53 -9 -5 -9 -3 0 8 15 19 2 41 -27 46 -14 2 -24 -4 -30 -20z"/>
|
||||
<path d="M3202 1090 c-20 -25 -59 -67 -87 -94 -27 -26 -41 -42 -30 -35 18 13
|
||||
19 13 6 -4 -8 -9 -16 -15 -18 -13 -3 3 -29 -15 -59 -40 -30 -24 -74 -54 -97
|
||||
-65 -23 -12 -51 -29 -61 -38 -11 -9 -16 -10 -12 -3 4 6 -17 -2 -46 -18 -29
|
||||
-17 -61 -34 -70 -37 -10 -3 -18 -12 -18 -20 0 -8 -3 -12 -7 -10 -5 3 -14 -1
|
||||
-21 -9 -7 -8 -10 -14 -7 -14 3 0 -4 -9 -15 -20 -12 -12 -18 -25 -15 -30 4 -6
|
||||
2 -10 -4 -10 -6 0 -14 -12 -17 -27 -4 -16 -9 -32 -12 -38 -7 -11 -13 -51 -14
|
||||
-80 -1 -62 31 -165 51 -165 6 0 10 -3 8 -8 -1 -4 8 -20 21 -36 12 -16 22 -26
|
||||
22 -22 0 3 9 -3 20 -14 12 -12 25 -18 29 -15 5 2 12 -2 15 -11 4 -9 9 -14 12
|
||||
-11 3 3 21 -1 39 -9 40 -16 121 -19 130 -3 4 5 12 8 18 6 7 -2 25 5 41 16 16
|
||||
12 26 16 22 9 -5 -8 -2 -10 8 -6 9 3 16 9 16 13 0 3 16 17 35 30 19 13 32 27
|
||||
30 32 -3 4 3 13 13 18 24 13 65 105 67 151 1 20 5 41 9 48 4 7 3 12 -2 12 -16
|
||||
0 4 288 26 355 3 11 6 22 7 25 0 3 6 21 13 40 6 19 13 46 16 60 2 14 12 42 20
|
||||
63 12 27 14 43 6 57 -16 30 -48 19 -88 -30z m-62 -84 c0 -2 -8 -10 -17 -17
|
||||
-16 -13 -17 -12 -4 4 13 16 21 21 21 13z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "",
|
||||
"short_name": "",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "/android-chrome-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<script setup>
|
||||
import Footer from './components/siteElements/Footer.vue';
|
||||
import TopBanner from './components/siteElements/TopBanner.vue';
|
||||
import Sidebar from './components/siteElements/Sidebar.vue';
|
||||
import Nav from './components/siteElements/Nav.vue';
|
||||
import { RouterLink, RouterView } from 'vue-router';
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<header>
|
||||
<TopBanner>
|
||||
<Nav />
|
||||
</TopBanner>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="content">
|
||||
<RouterView />
|
||||
</div>
|
||||
<div class="sidebar">
|
||||
<Sidebar />
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<Footer />
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
main {
|
||||
display: flex;
|
||||
margin: 16px;
|
||||
}
|
||||
|
||||
.content {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width: auto;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://fonts.google.com/icons?selected=Material+Icons:delete&icon.query=computer
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg>
|
||||
|
After Width: | Height: | Size: 315 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><g><rect fill="none" height="24" width="24"/></g><g><g/><g><path d="M21,5c-1.11-0.35-2.33-0.5-3.5-0.5c-1.95,0-4.05,0.4-5.5,1.5c-1.45-1.1-3.55-1.5-5.5-1.5S2.45,4.9,1,6v14.65 c0,0.25,0.25,0.5,0.5,0.5c0.1,0,0.15-0.05,0.25-0.05C3.1,20.45,5.05,20,6.5,20c1.95,0,4.05,0.4,5.5,1.5c1.35-0.85,3.8-1.5,5.5-1.5 c1.65,0,3.35,0.3,4.75,1.05c0.1,0.05,0.15,0.05,0.25,0.05c0.25,0,0.5-0.25,0.5-0.5V6C22.4,5.55,21.75,5.25,21,5z M21,18.5 c-1.1-0.35-2.3-0.5-3.5-0.5c-1.7,0-4.15,0.65-5.5,1.5V8c1.35-0.85,3.8-1.5,5.5-1.5c1.2,0,2.4,0.15,3.5,0.5V18.5z"/><g><path d="M17.5,10.5c0.88,0,1.73,0.09,2.5,0.26V9.24C19.21,9.09,18.36,9,17.5,9c-1.7,0-3.24,0.29-4.5,0.83v1.66 C14.13,10.85,15.7,10.5,17.5,10.5z"/><path d="M13,12.49v1.66c1.13-0.64,2.7-0.99,4.5-0.99c0.88,0,1.73,0.09,2.5,0.26V11.9c-0.79-0.15-1.64-0.24-2.5-0.24 C15.8,11.66,14.26,11.96,13,12.49z"/><path d="M17.5,14.33c-1.7,0-3.24,0.29-4.5,0.83v1.66c1.13-0.64,2.7-0.99,4.5-0.99c0.88,0,1.73,0.09,2.5,0.26v-1.52 C19.21,14.41,18.36,14.33,17.5,14.33z"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M21.58,16.09l-1.09-7.66C20.21,6.46,18.52,5,16.53,5H7.47C5.48,5,3.79,6.46,3.51,8.43l-1.09,7.66 C2.2,17.63,3.39,19,4.94,19h0c0.68,0,1.32-0.27,1.8-0.75L9,16h6l2.25,2.25c0.48,0.48,1.13,0.75,1.8,0.75h0 C20.61,19,21.8,17.63,21.58,16.09z M11,11H9v2H8v-2H6v-1h2V8h1v2h2V11z M15,10c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1 C16,9.55,15.55,10,15,10z M17,13c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1s1,0.45,1,1C18,12.55,17.55,13,17,13z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 642 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/></svg>
|
||||
|
After Width: | Height: | Size: 192 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><g><rect fill="none" height="24" width="24"/></g><g><g/><g><path d="M21,5l-9-4L3,5v6c0,5.55,3.84,10.74,9,12c2.3-0.56,4.33-1.9,5.88-3.71l-3.12-3.12c-1.94,1.29-4.58,1.07-6.29-0.64 c-1.95-1.95-1.95-5.12,0-7.07c1.95-1.95,5.12-1.95,7.07,0c1.71,1.71,1.92,4.35,0.64,6.29l2.9,2.9C20.29,15.69,21,13.38,21,11V5z"/><circle cx="12" cy="12" r="3"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 485 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg>
|
||||
|
After Width: | Height: | Size: 379 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"/></svg>
|
||||
|
After Width: | Height: | Size: 295 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><g><path d="M0,0h24v24H0V0z" fill="none"/><path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 8l-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z"/></svg>
|
||||
|
After Width: | Height: | Size: 383 B |
@@ -0,0 +1,8 @@
|
||||
/* @import './base.css'; */
|
||||
|
||||
body{
|
||||
margin: 0px;
|
||||
margin-bottom: 5em;
|
||||
padding: 0px;
|
||||
background-color: #f9ecf2;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,81 @@
|
||||
<script setup>
|
||||
import { RouterLink } from 'vue-router';
|
||||
import { reactive } from "vue";
|
||||
|
||||
|
||||
const localTime = reactive({
|
||||
h: "01",
|
||||
m: "02",
|
||||
s: "03",
|
||||
print() {
|
||||
return this.h + ":" + this.m + ":" + this.s
|
||||
}
|
||||
});
|
||||
|
||||
updateTime();
|
||||
|
||||
function updateTime() {
|
||||
function addLeadingZero(i) {
|
||||
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
|
||||
return i;
|
||||
}
|
||||
|
||||
const today = new Date();
|
||||
localTime.h = addLeadingZero(today.getHours());
|
||||
localTime.m = addLeadingZero(today.getMinutes());
|
||||
localTime.s = addLeadingZero(today.getSeconds());
|
||||
setTimeout(updateTime, 1000);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<footer>
|
||||
<div>
|
||||
<ul>
|
||||
<li>Lokale Zeit: <span id="footerLocalTime"> {{ localTime.print() }}</span></li>
|
||||
<li>Server Zeit: <span id="footerServerTime">00:00:00</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>Kleiax Irrigation Frontend</div>
|
||||
<div>
|
||||
<ul class="links">
|
||||
<li><RouterLink to="/imprint">Impressum</RouterLink></li>
|
||||
<li><RouterLink to="/api">Api</RouterLink></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
footer{
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
height: 4em;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
place-items: center;
|
||||
background-color: aquamarine;
|
||||
}
|
||||
|
||||
ul{
|
||||
list-style-type: none;
|
||||
padding: 0px;
|
||||
margin-left: 8px;
|
||||
margin-right: 8px;;
|
||||
}
|
||||
|
||||
.links{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
a{
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
|
||||
a:hover{
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,40 @@
|
||||
<script setup>
|
||||
import { RouterLink } from 'vue-router'
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<nav>
|
||||
<ul>
|
||||
<li>
|
||||
<RouterLink to="/"> <img src="../../assets/img/menuIcon/home.svg"> Home </RouterLink>
|
||||
</li>
|
||||
<li>
|
||||
<RouterLink to="/about"> <img src="../../assets/img/menuIcon/logs.svg"> About</RouterLink>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
ul {
|
||||
display: flex;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
img {
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
padding: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<p>Sidebar</p>
|
||||
</template>
|
||||
@@ -0,0 +1,27 @@
|
||||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="banner">
|
||||
<h1>Lebennig Huus Bewässerung</h1>
|
||||
<slot></slot>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.banner{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
background-color: green;
|
||||
height: 6em;
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
h1{
|
||||
margin: 0px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,172 @@
|
||||
const address = "http://127.0.0.1:8040/api/";
|
||||
|
||||
class IrrigationApi {
|
||||
constructor() {
|
||||
|
||||
}
|
||||
|
||||
getValve(id, callback) {
|
||||
httpGet('valve/' + id, callback);
|
||||
}
|
||||
|
||||
getValves(callback) {
|
||||
httpGet('valve', callback);
|
||||
}
|
||||
|
||||
patchValve(id, valve, callback) {
|
||||
httpPatch('valve/' + id, valve, callback);
|
||||
}
|
||||
|
||||
|
||||
getArea(id, callback) {
|
||||
httpGet('area/' + id, callback);
|
||||
}
|
||||
|
||||
getAreas(callback) {
|
||||
httpGet('area', callback);
|
||||
}
|
||||
|
||||
saveAll(callback) {
|
||||
httpGet('area/saveAll', callback);
|
||||
}
|
||||
|
||||
createArea(area, callback) {
|
||||
httpPost('area', area, callback);
|
||||
}
|
||||
|
||||
deleteArea(id, callback) {
|
||||
httpDelete('area/' + id, callback);
|
||||
}
|
||||
|
||||
patchArea(id, area, callback) {
|
||||
httpPatch('area/' + id, area, callback);
|
||||
}
|
||||
|
||||
getAreaConf(id, callback) {
|
||||
httpGet('areaConf/specific/' + id, callback);
|
||||
}
|
||||
|
||||
getAreaConfs(area, callback) {
|
||||
httpGet('areaConf/' + area, callback);
|
||||
}
|
||||
|
||||
createAreaConf(area, areaConf, callback) {
|
||||
httpPost('areaConf/' + area, areaConf, callback);
|
||||
}
|
||||
|
||||
deleteAreaConf(id, callback) {
|
||||
httpDelete('areaConf/' + id, callback);
|
||||
}
|
||||
|
||||
patchAreaConf(id, areaConf, callback) {
|
||||
httpPatch('areaConf/' + id, areaConf, callback);
|
||||
}
|
||||
|
||||
|
||||
getIrrigationEvent(id, callback) {
|
||||
httpGet('irrigationEvent/specific/' + id, callback);
|
||||
}
|
||||
|
||||
getIrrigationEvents(areaConf, callback) {
|
||||
httpGet('irrigationEvent/' + areaConf, callback);
|
||||
}
|
||||
|
||||
createIrrigationEvent(areaConf, irrigationEvent, callback) {
|
||||
httpPost('irrigationEvent/' + areaConf, irrigationEvent, callback);
|
||||
}
|
||||
|
||||
deleteIrrigationEvent(id, callback) {
|
||||
httpDelete('irrigationEvent/' + id, callback);
|
||||
}
|
||||
|
||||
patchIrrigationEvent(id, irrigationEvent, callback) {
|
||||
httpPatch('irrigationEvent/' + id, irrigationEvent, callback);
|
||||
}
|
||||
|
||||
|
||||
commandManualControlPause(id, duration, callback) {
|
||||
httpPost('manualControl/pause/' + id, { duration: duration}, callback);
|
||||
}
|
||||
|
||||
commandManualControlPauseAll(callback) {
|
||||
httpPost('manualControl/pauseAll/', {}, callback);
|
||||
}
|
||||
|
||||
commandManualControlUniqueIrrigationEvent(id, duration, callback) {
|
||||
httpPost('manualControl/uniqueIrrigationEvent/' + id, {duration: duration}, callback);
|
||||
}
|
||||
|
||||
commandManualControlStop(id, callback) {
|
||||
httpPost('manualControl/stop/' + id, {}, callback);
|
||||
}
|
||||
|
||||
commandManualControlStopAll(duration, callback) {
|
||||
httpPost('manualControl/stopAll/', {duration: duration}, callback);
|
||||
}
|
||||
}
|
||||
|
||||
function httpGet(apiCall, callback) {
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('GET', address + apiCall);
|
||||
request.onload = function () {
|
||||
const data = JSON.parse(request.response);
|
||||
|
||||
if (request.status >= 200 && request.status < 400) {
|
||||
callback(data);
|
||||
} else {
|
||||
console.log('Error irrigationApi.js httpGet()', data);
|
||||
}
|
||||
};
|
||||
request.send();
|
||||
}
|
||||
|
||||
function httpPatch(apiCall, data, callback) {
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('PATCH', address + apiCall);
|
||||
request.setRequestHeader("Content-Type", "application/json");
|
||||
request.onload = function () {
|
||||
const data = JSON.parse(request.response);
|
||||
|
||||
if (request.status >= 200 && request.status < 400) {
|
||||
callback(data);
|
||||
} else {
|
||||
console.log('Error irrigationApi.js httpPatch()', data);
|
||||
}
|
||||
};
|
||||
request.send(JSON.stringify(data));
|
||||
}
|
||||
|
||||
function httpDelete(apiCall, callback) {
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('DELETE', address + apiCall);
|
||||
request.onload = function () {
|
||||
const data = JSON.parse(request.response);
|
||||
|
||||
if (request.status >= 200 && request.status < 400) {
|
||||
callback(data);
|
||||
} else {
|
||||
console.log('Error irrigationApi.js httpDelete()', data);
|
||||
}
|
||||
};
|
||||
request.send();
|
||||
}
|
||||
|
||||
function httpPost(apiCall, data, callback) {
|
||||
// console.log(data);
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('POST', address + apiCall);
|
||||
request.setRequestHeader("Content-Type", "application/json");
|
||||
request.onload = function () {
|
||||
const data = JSON.parse(request.response);
|
||||
|
||||
if (request.status >= 200 && request.status < 400) {
|
||||
callback(data);
|
||||
} else {
|
||||
console.log('Error irrigationApi.js httpPost()', data);
|
||||
}
|
||||
};
|
||||
request.send(JSON.stringify(data));
|
||||
}
|
||||
|
||||
export default IrrigationApi;
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import './assets/main.css'
|
||||
|
||||
import { createApp } from 'vue'
|
||||
import { createPinia } from 'pinia'
|
||||
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
|
||||
const app = createApp(App)
|
||||
|
||||
app.use(createPinia())
|
||||
app.use(router)
|
||||
|
||||
app.mount('#app')
|
||||
@@ -0,0 +1,33 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router';
|
||||
import HomeView from '../views/HomeView.vue';
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
name: 'home',
|
||||
component: HomeView
|
||||
},
|
||||
{
|
||||
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('../views/AboutView.vue')
|
||||
},
|
||||
{
|
||||
path: '/imprint',
|
||||
name: 'imprint',
|
||||
component: () => import('../views/ImprintView.vue')
|
||||
},
|
||||
{
|
||||
path: '/api',
|
||||
name: 'api',
|
||||
component: HomeView
|
||||
},
|
||||
]
|
||||
});
|
||||
|
||||
export default router
|
||||
@@ -0,0 +1,12 @@
|
||||
import { ref, computed } from 'vue'
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
export const useCounterStore = defineStore('counter', () => {
|
||||
const count = ref(0)
|
||||
const doubleCount = computed(() => count.value * 2)
|
||||
function increment() {
|
||||
count.value++
|
||||
}
|
||||
|
||||
return { count, doubleCount, increment }
|
||||
})
|
||||
@@ -0,0 +1,7 @@
|
||||
<template>
|
||||
<h1>Seite About</h1>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,8 @@
|
||||
<script setup>
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h1>Seite 1</h1>
|
||||
|
||||
</template>
|
||||
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<div class='impressum'>
|
||||
<h1>Impressum</h1>
|
||||
<p>Angaben gemäß § 5 TMG</p>
|
||||
<p>Alexander Klein <br>
|
||||
Ringstraße 15a<br>
|
||||
26899 Rhede (Ems) <br>
|
||||
</p>
|
||||
<p> <strong>Vertreten durch: </strong><br>
|
||||
Alexander Klein<br>
|
||||
</p>
|
||||
<p><strong>Kontakt:</strong> <br>
|
||||
Telefon: 0157-89217099<br>
|
||||
E-Mail: <a href='mailto:klein-alexander1@gmx.de'>klein-alexander1@gmx.de</a><br></p>
|
||||
<p><strong>Haftungsausschluss: </strong><br><br><strong>Haftung für Inhalte</strong><br><br>
|
||||
Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und
|
||||
Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1
|
||||
TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind
|
||||
wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu
|
||||
überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur
|
||||
Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt.
|
||||
Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung
|
||||
möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend
|
||||
entfernen.<br><br><strong>Haftung für Links</strong><br><br>
|
||||
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb
|
||||
können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist
|
||||
stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum
|
||||
Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der
|
||||
Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete
|
||||
Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir
|
||||
derartige Links umgehend entfernen.<br><br><strong>Datenschutz</strong><br><br>
|
||||
Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren
|
||||
Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies,
|
||||
soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an
|
||||
Dritte weitergegeben. <br>
|
||||
Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail)
|
||||
Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht
|
||||
möglich. <br>
|
||||
Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von
|
||||
nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen.
|
||||
Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von
|
||||
Werbeinformationen, etwa durch Spam-Mails, vor.<br>
|
||||
</p><br>
|
||||
Website Impressum erstellt durch <a href="https://www.impressum-generator.de">impressum-generator.de</a> von der <a
|
||||
href="https://www.kanzlei-hasselbach.de/" rel="nofollow">Kanzlei Hasselbach</a>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,18 @@
|
||||
import { fileURLToPath, URL } from 'node:url'
|
||||
|
||||
import { defineConfig } from 'vite'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import vueJsx from '@vitejs/plugin-vue-jsx'
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
vue(),
|
||||
vueJsx(),
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': fileURLToPath(new URL('./src', import.meta.url))
|
||||
}
|
||||
}
|
||||
})
|
||||