Compare commits

..

No commits in common. "cd97f31051c01c61e560f1e9b8c27a73afdd28da" and "e7730020ef93f45aee14fca09347fed7e2ec9b5b" have entirely different histories.

12 changed files with 26 additions and 40 deletions

2
.gitignore vendored
View File

@ -2,8 +2,6 @@
node_modules node_modules
/dist /dist
# KI
/public/config.js
# local env files # local env files
.env.local .env.local

View File

@ -3,28 +3,19 @@
[![Build Status](https://drone.wtf-eg.de/api/badges/kompetenzinventar/ki-frontend/status.svg)](https://drone.wtf-eg.de/kompetenzinventar/ki-frontend) [![Build Status](https://drone.wtf-eg.de/api/badges/kompetenzinventar/ki-frontend/status.svg)](https://drone.wtf-eg.de/kompetenzinventar/ki-frontend)
Vue3 Projekt: Vue3 Projekt:
## Project setup ## Project setup
``` ```
npm ci npm ci
``` ```
### Konfigurationsdatei anpassen
```
cp public/config.js.dev public/config.js
vi public/config.js
```
### Compiles and hot-reloads for development ### Compiles and hot-reloads for development
``` ```
npm run serve VUE_APP_API_URL=http://localhost:8000 npm run serve
``` ```
### Compiles and minifies for production ### Compiles and minifies for production
``` ```
npm run build VUE_APP_API_URL=http://localhost:8000 npm run build
``` ```
### Lints and fixes files ### Lints and fixes files
@ -37,6 +28,9 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
Vorraussetzung: Node & NPM Vorraussetzung: Node & NPM
### Enviroment Variable
VUE_APP_API_URL ist die Enviroment Variable mit der die Adresse der API übergeben wird
## Docker ## Docker
@ -52,7 +46,7 @@ docker build --target ki-frontend --tag ki_frontend .
``` ```
docker run \ docker run \
--name=ki_frontend \ --name=ki_frontend \
-v ${PWD}/public/config.js:/user/share/nginx/html/config.js \ -e VUE_APP_API_URL=http://localhost:5000 \
-p 8000:80 \ -p 8000:80 \
ki_frontend ki_frontend
``` ```

View File

@ -1,3 +0,0 @@
window.ki = {
apiUrl: 'http://localhost:5000'
}

View File

@ -1,3 +0,0 @@
window.ki = {
apiUrl: 'http://localhost:13338'
}

View File

@ -4,13 +4,9 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" type="image/png" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" type="image/png" href="<%= BASE_URL %>favicon.ico">
<link rel="icon" type="image/png" href="<%= BASE_URL %>favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="<%= BASE_URL %>favicon-96x96.png" sizes="96x96">
<title>Kompetenz Inventar der WTF eG</title> <title>Kompetenz Inventar der WTF eG</title>
<script src="<%= BASE_URL %>config.js"></script>
</head> </head>
<body> <body>
<noscript> <noscript>

View File

@ -109,7 +109,7 @@ export default {
}, },
data() { data() {
return { return {
iconUrl: this.apiUrl, iconUrl: process.env.VUE_APP_API_URL,
searchText: "", searchText: "",
contactContent: "", contactContent: "",
searchResults: [], searchResults: [],
@ -122,7 +122,7 @@ export default {
async search() { async search() {
try { try {
const request = await this.axios.get( const request = await this.axios.get(
`${this.apiUrl}/${this.type}s?search=${this.searchText}`, `${process.env.VUE_APP_API_URL}/${this.type}s?search=${this.searchText}`,
{ {
headers: { headers: {
Authorization: `Bearer ${localStorage.getItem("token")}`, Authorization: `Bearer ${localStorage.getItem("token")}`,

View File

@ -59,7 +59,7 @@ export default {
}, },
data() { data() {
return { return {
iconUrl: this.apiUrl iconUrl: process.env.VUE_APP_API_URL
} }
} }
}; };

View File

@ -1,4 +1,4 @@
import { createApp } from 'vue/dist/vue.esm-bundler' import { createApp } from 'vue/dist/vue.esm-bundler';
import App from './App.vue' import App from './App.vue'
import router from './router' import router from './router'
@ -12,6 +12,10 @@ const app = createApp(App)
app.use(router) app.use(router)
app.config.globalProperties.axios=axios app.config.globalProperties.axios=axios
app.config.globalProperties.apiUrl = window.ki.apiUrl
app.config.globalProperties.apiUrl= (process.env.VUE_APP_API_URL ? process.env.VUE_APP_API_URL : '')
app.mount('#app') app.mount('#app')

View File

@ -80,7 +80,7 @@ export default {
async submitSearch() { async submitSearch() {
this.showErrorMessage = false; this.showErrorMessage = false;
try { try {
let url = `${this.apiUrl}/users/profiles`; let url = `${process.env.VUE_APP_API_URL}/users/profiles`;
if (this.searchText != "") { if (this.searchText != "") {
url += `?nickname=${this.searchText}`; url += `?nickname=${this.searchText}`;
} }

View File

@ -182,7 +182,7 @@ export default {
async created() { async created() {
try { try {
const userProfile = await axios.get( const userProfile = await axios.get(
`${this.apiUrl}/users/${localStorage.getItem( `${process.env.VUE_APP_API_URL}/users/${localStorage.getItem(
"user_id" "user_id"
)}/profile`, )}/profile`,
{ {
@ -198,7 +198,7 @@ export default {
async submitForm() { async submitForm() {
try { try {
const formSubmitResult = await axios.post( const formSubmitResult = await axios.post(
`${this.apiUrl}/users/${localStorage.getItem( `${process.env.VUE_APP_API_URL}/users/${localStorage.getItem(
"user_id" "user_id"
)}/profile`, )}/profile`,
this.profile, this.profile,

View File

@ -44,7 +44,7 @@ export default {
async created() { async created() {
try { try {
const userProfile = await this.axios.get( const userProfile = await this.axios.get(
`${this.apiUrl}/users/${this.$route.params.memberId}/profile`, `${process.env.VUE_APP_API_URL}/users/${this.$route.params.memberId}/profile`,
{ {
headers: { Authorization: `Bearer ${localStorage.getItem("token")}` }, headers: { Authorization: `Bearer ${localStorage.getItem("token")}` },
} }