Merge pull request 'bugfix/27-route-matching' (#28) from bugfix/27-route-matching into dev
continuous-integration/drone/push Build is passing Details

Reviewed-on: #28
close #27
This commit is contained in:
Philipp Dormann 2021-03-31 17:07:18 +00:00
commit 7e0108c739
7 changed files with 41 additions and 27 deletions

View File

@ -4,7 +4,7 @@ runner selfservice portal
## ⚡ Development
### Requirements
- Node.js v14.15.0 or newer
- Node.js v14.16.0 or newer
- yarn package manager >= v1.22.10 < 2
### Recommended Extensions
@ -14,9 +14,17 @@ runner selfservice portal
### Fastest Dev Environment
- You can install the [Remote - Containers](https://github.com/Microsoft/vscode-remote-release) extension and use all recommended extensions and editor settings via the provided `./devcontainer/` config
## 🔨 environment config
### Manual Dev Environment
```
yarn && yarn dev --open
```
## 🔨 Environment config
- copy the `/public/env.sample.js` file to `/public/env.js`
- set the required environment variables
- `documentserver_key`: url to the [document server](https://git.odit.services/lfk/document-server) instance
- `baseurl`: url to the main instance
- see [@lfk/deployment](https://git.odit.services/lfk/deployment) for a complete deployment guide
- `baseurl`: url to the main lfk instance - WITH TRAILING SLASH
- see [@lfk/deployment](https://git.odit.services/lfk/deployment) for a complete deployment guide
- `baseurl_selfservice`: location of the selfservice instance - WITH TRAILING SLASH
- e.g. path: `/selfservice/`
- e.g. url: `https://example.com/selfservice/`

View File

@ -11,7 +11,7 @@
<body class="dark:bg-gray-900 text-black dark:text-white p-0">
<div id="app"></div>
<script src="/env.js"></script>
<script type="module" src="/src/main.js"></script>
<script defer type="module" src="/src/main.js"></script>
</body>
</html>

View File

@ -1,10 +1,10 @@
const config = {
// required
documentserver_key: '',
// required
// required, with trailing slash
baseurl: '',
// optional, will fallback to /selfservice
baseurl_selfservice: '/selfservice',
// optional, will fallback to /selfservice/
baseurl_selfservice: '/selfservice/',
// optional, will fallback to /imprint
url_imprint: '',
// optional, will fallback to /privacy

View File

@ -2,8 +2,4 @@
<main>
<router-view></router-view>
</main>
</template>
<script setup>
config.baseurl_selfservice = (config.baseurl_selfservice || "/selfservice");
</script>
</template>

View File

@ -1,16 +1,24 @@
import EnvError from './components/EnvError.vue';
// import EnvError from './components/EnvError.vue';
import Home from './views/Home.vue';
import Imprint from './views/Imprint.vue';
import Privacy from './views/Privacy.vue';
import Register from './views/Register.vue';
import Profile from './views/Profile.vue';
import ProfileNone from './views/ProfileNone.vue';
console.log(config);
/** @type {import('vue-router').RouterOptions['routes']} */
export const routes = [
{ path: '/', component: Home },
{ path: '/imprint', component: Imprint },
{ path: '/privacy', component: Privacy },
{ path: '/register', component: Register },
{ path: '/register/:token', component: Register, props: true },
{ path: '/profile/:token', component: Profile, props: true }
{ path: config.baseurl_selfservice + '', component: Home },
{ path: config.baseurl_selfservice + 'imprint', component: Imprint },
{ path: config.baseurl_selfservice + 'imprint/', component: Imprint },
{ path: config.baseurl_selfservice + 'privacy', component: Privacy },
{ path: config.baseurl_selfservice + 'privacy/', component: Privacy },
{ path: config.baseurl_selfservice + 'register', component: Register },
{ path: config.baseurl_selfservice + 'register/', component: Register },
{ path: config.baseurl_selfservice + 'register/:token', component: Register, props: true },
{ path: config.baseurl_selfservice + 'profile', component: Profile },
{ path: config.baseurl_selfservice + 'profile/', component: ProfileNone },
{ path: config.baseurl_selfservice + 'profile/:token', component: Profile, props: true }
];

View File

@ -1,5 +1,5 @@
<template>
<div class="bg-cover bg-fixed m-0 h-screen" style="background-image: url('/background.jpg');">
<div class="bg-cover bg-fixed m-0 h-screen" style="background-image: url('./background.jpg');">
<section class="container px-4 py-24 mx-auto">
<div class="w-full mx-auto text-center">
<img src="/favicon.png" class="h-32 mx-auto" />
@ -9,14 +9,14 @@
<p class="px-0 mb-6 text-lg text-gray-100 md:text-xl lg:px-24">Selfservice Portal</p>
<p class="px-0 mb-6 text-md text-gray-100 lg:px-24">{{ $t('main_page_text') }}</p>
<div class="mt-6 sm:flex place-content-center">
<router-link
<a
class="w-full sm:w-auto inline-flex px-6 py-3 border border-transparent text-base font-semibold rounded-md text-gray-900 bg-white shadow-sm hover:text-gray-600 focus:outline-none focus:text-gray-600 transition ease-in-out duration-150 xl:text-lg xl:py-4"
to="/register"
>{{ $t('register_now') }}</router-link>
<router-link
to="/profile"
href="./register/"
>{{ $t('register_now') }}</a>
<a
href="./profile/"
class="mt-4 sm:ml-4 sm:mt-0 w-full sm:w-auto inline-flex px-6 py-3 border border-transparent text-base font-semibold rounded-md text-white bg-gray-800 shadow-sm hover:bg-gray-700 focus:outline-none focus:bg-gray-700 transition ease-in-out duration-150 xl:text-lg xl:py-4"
>{{ $t('view_my_data') }}</router-link>
>{{ $t('view_my_data') }}</a>
</div>
</div>
</section>
@ -26,4 +26,5 @@
<script setup>
import Footer from "@/components/Footer.vue";
console.log(config);
</script>

View File

@ -0,0 +1 @@
<template>You have not provided a valid access key...</template>