diff --git a/.drone.yml b/.drone.yml
new file mode 100644
index 0000000..4917c26
--- /dev/null
+++ b/.drone.yml
@@ -0,0 +1,109 @@
+---
+kind: secret
+name: docker_username
+get:
+ path: odit-registry-builder
+ name: username
+
+---
+kind: secret
+name: docker_password
+get:
+ path: odit-registry-builder
+ name: password
+
+---
+kind: secret
+name: git_ssh
+get:
+ path: odit-git-bot
+ name: sshkey
+
+---
+kind: pipeline
+type: kubernetes
+name: build:dev
+
+steps:
+ # - name: run full license export
+ # depends_on: ["clone"]
+ # image: node:alpine
+ # commands:
+ # - yarn
+ # - yarn licenses:export
+ # - name: push new licenses file to repo
+ # depends_on: ["run full license export"]
+ # image: appleboy/drone-git-push
+ # settings:
+ # branch: dev
+ # commit: true
+ # commit_message: new license file version [CI SKIP]
+ # author_email: bot@odit.services
+ # remote: git@git.odit.services:lfk/selfservice.git
+ # ssh_key:
+ # from_secret: git_ssh
+ - name: build dev
+ image: plugins/docker
+ depends_on: [clone]
+ settings:
+ username:
+ from_secret: docker_username
+ password:
+ from_secret: docker_password
+ repo: registry.odit.services/lfk/selfservice
+ tags:
+ - dev
+ registry: registry.odit.services
+ mtu: 1000
+trigger:
+ branch:
+ - dev
+ event:
+ - push
+
+---
+kind: pipeline
+type: kubernetes
+name: build:latest
+
+steps:
+ - name: build latest
+ image: plugins/docker
+ depends_on: [clone]
+ settings:
+ username:
+ from_secret: docker_username
+ password:
+ from_secret: docker_password
+ repo: registry.odit.services/lfk/selfservice
+ tags:
+ - latest
+ registry: registry.odit.services
+ mtu: 1000
+trigger:
+ branch:
+ - main
+ event:
+ - push
+
+---
+kind: pipeline
+type: kubernetes
+name: build:tags
+steps:
+ - name: build $DRONE_TAG
+ image: plugins/docker
+ depends_on: [clone]
+ settings:
+ username:
+ from_secret: docker_username
+ password:
+ from_secret: docker_password
+ repo: registry.odit.services/lfk/selfservice
+ tags:
+ - '${DRONE_TAG}'
+ registry: registry.odit.services
+ mtu: 1000
+trigger:
+ event:
+ - tag
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 273423b..2aa7112 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,11 +2,32 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
+#### [0.3.0](https://git.odit.services/lfk/selfservice/compare/0.2.0...0.3.0)
+
+- Merge branch 'bugfix/23-broken-build' into dev [`#23`](https://git.odit.services/lfk/selfservice/issues/23)
+- migrate to Tailwind JIT + views + router/ build fix [`15b60f6`](https://git.odit.services/lfk/selfservice/commit/15b60f60b5d4f3c4035460f25807c5f5f2f19578)
+- 🐞 fix release config [`ae44d7e`](https://git.odit.services/lfk/selfservice/commit/ae44d7e2e86b9bee74d453301846d02b29c632f2)
+- 🚀Bumped version to v0.1.2 [`5253fb1`](https://git.odit.services/lfk/selfservice/commit/5253fb18325ce9069e84180b30110ae97752ef20)
+
+#### [0.2.0](https://git.odit.services/lfk/selfservice/compare/0.1.1...0.2.0)
+
+> 27 March 2021
+
+- 🚀Bumped version to v0.2.0 [`83924a9`](https://git.odit.services/lfk/selfservice/commit/83924a9416dc966a417b32fa19b5fb725181e5ee)
+- Added ci to build dev and tags [`a174df1`](https://git.odit.services/lfk/selfservice/commit/a174df19ddbf65b0229af38947a9416b1bcd0703)
+- Now building latest from main [ci-skip] [`323ddc1`](https://git.odit.services/lfk/selfservice/commit/323ddc1c3d91ffa74200ed9250b891d2fe4da78d)
+- Added releaseit config [`eec6a35`](https://git.odit.services/lfk/selfservice/commit/eec6a358d899a40eb6bac92bb3af37b2d37a5d91)
+- package dependency cleanup [`00f8d80`](https://git.odit.services/lfk/selfservice/commit/00f8d8023e3ca47eb650c8b1c5c550112ed0d503)
+- Added image to docker-compose [`bd29d99`](https://git.odit.services/lfk/selfservice/commit/bd29d9912023539b26cdac36997d7cb29ec0d538)
+
#### [0.1.1](https://git.odit.services/lfk/selfservice/compare/0.1.0...0.1.1)
+> 26 March 2021
+
- org registration - add team select [`#18`](https://git.odit.services/lfk/selfservice/issues/18)
- added baseurl_selfservice config [`#22`](https://git.odit.services/lfk/selfservice/issues/22)
- [tmp] vue i18n error [`7b0bc22`](https://git.odit.services/lfk/selfservice/commit/7b0bc22a7157ee4551ab69dd5be856abed90b60c)
+- ⏫ v0.1.1 changelog [`e2be86c`](https://git.odit.services/lfk/selfservice/commit/e2be86c5589f9ca9053d5bcdc61be3a642b94791)
- ⏫ version bump to 0.1.1 [`4d57812`](https://git.odit.services/lfk/selfservice/commit/4d57812c043e9078656818a33d241df220127a92)
- Merge tag '0.1.0' into dev [`88996f8`](https://git.odit.services/lfk/selfservice/commit/88996f81d8990969048f00a7c175d2a30da2588b)
diff --git a/docker-compose.yml b/docker-compose.yml
index 1935f76..2dfe5ca 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,5 +2,8 @@ version: "3"
services:
httpd:
build: .
+ #image: registry.odit.services/lfk/selfservice:dev
+ volumes:
+ - ./public/env.sample.js:/usr/share/nginx/html/env.js
ports:
- 4050:80
diff --git a/package.json b/package.json
index e137edb..fd7a26f 100644
--- a/package.json
+++ b/package.json
@@ -1,44 +1,50 @@
-{
- "name": "@odit/lfk-selfservice",
- "version": "0.1.1",
- "scripts": {
- "dev": "vite",
- "build": "vite build",
- "release": "release-it --only-version"
- },
- "dependencies": {
- "got": "^11.8.2",
- "marked": "^2.0.1",
- "redaxios": "^0.4.1",
- "toastify-js": "^1.9.3",
- "validator": "^13.5.2",
- "vue": "^3.0.5",
- "vue-i18n": "^9.0.0",
- "vue-phone-number-input": "^1.1.10",
- "vue-router": "4",
- "vue-toastification": "^2.0.0-rc.1"
- },
- "devDependencies": {
- "@vitejs/plugin-vue": "^1.1.5",
- "@vue/compiler-sfc": "^3.0.7",
- "autoprefixer": "^10.2.5",
- "postcss": "^8.2.8",
- "release-it": "^14.5.0",
- "tailwindcss": "^2.0.4",
- "vite": "^2.1.2",
- "vite-plugin-windicss": "^0.9.11"
- },
- "release-it": {
- "git": {
- "commit": true,
- "requireCleanWorkingDir": false,
- "commitMessage": "🚀Bumped version to v${version}",
- "requireBranch": "dev",
- "push": false,
- "tag": false
- },
- "npm": {
- "publish": false
- }
- }
-}
+{
+ "name": "@odit/lfk-selfservice",
+ "version": "0.3.0",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "release": "release-it --only-version"
+ },
+ "dependencies": {
+ "marked": "2.0.1",
+ "redaxios": "0.4.1",
+ "toastify-js": "1.10.0",
+ "validator": "13.5.2",
+ "vue-i18n": "9.0.0",
+ "vue-toastification": "2.0.0-rc.1",
+ "vue": "3.0.9",
+ "vue-router": "4.0.5"
+ },
+ "devDependencies": {
+ "@tailwindcss/jit": "0.1.17",
+ "@tailwindcss/aspect-ratio": "0.2.0",
+ "@tailwindcss/forms": "0.3.2",
+ "@tailwindcss/line-clamp": "0.2.0",
+ "@tailwindcss/typography": "0.4.0",
+ "@vitejs/plugin-vue": "1.2.0",
+ "@vue/compiler-sfc": "3.0.9",
+ "autoprefixer": "10.2.5",
+ "tailwindcss": "2.0.4",
+ "release-it": "14.5.0",
+ "vite": "2.1.3"
+ },
+ "release-it": {
+ "git": {
+ "commit": true,
+ "requireCleanWorkingDir": false,
+ "commitMessage": "🚀Bumped version to v${version}",
+ "requireBranch": "dev",
+ "push": false,
+ "tag": true,
+ "tagName": null,
+ "tagAnnotation": "v${version}"
+ },
+ "npm": {
+ "publish": false
+ },
+ "hooks": {
+ "after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && git add CHANGELOG.md && node order_i18n.js && git add src/locales"
+ }
+ }
+}
diff --git a/src/App.vue b/src/App.vue
index 65b217d..cc5bdf4 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,8 +1,9 @@
-
+
+
+
\ No newline at end of file
diff --git a/src/locales/en.json b/src/locales/en.json
index 088d53d..fad20fc 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -1,43 +1,43 @@
{
- "already_have_an_account": "Already have an account?",
- "apartment_suite_etc": "Apartment, suite, etc.",
- "configuration_error": "Configuration error",
- "confirm_personal_data": "I hereby confirm that the above information is complete and correct",
- "distance": "Distance",
- "download_certificate": "Download certificate",
- "e_mail_adress": "mail address",
- "go_to_login": "Go To Login",
- "i_accept": "I have read and accepted the ",
- "i_accept_end": "",
- "if_you_are_the_system_administrator_please_refer_to_the_official_product_documentation_readme_for_configuration_guidance": "If you are the system administrator, please refer to the official product documentation/ README for configuration guidance.",
- "imprint": "Imprint",
- "lap_time": "Lap time",
- "lap_times": "Lap times",
- "main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.",
- "mittelname": "Middlename",
- "nachname": "Lastname",
- "no_laps_scans_were_recorded_yet": "No laps/ scans were recorded yet...",
- "ort": "City",
- "phone_number": "Phone Number",
- "please_provide_a_valid_zipcode": "Please provide a valid zipcode...",
- "please_provide_valid_mail": "Please provide a valid mail address.",
- "plz": "zipcode",
- "privacy_policy": "Privacy Policy",
- "profile": "Profile",
- "provide_address": "Provide a postal address?",
- "register": {
- "register_now": "Register now for Lauf für Kaya! 2021."
- },
- "register_now": "Register now!",
- "registrieren": "Register Now",
- "save_changes": "Save changes",
- "sponsoring": "Sponsoring",
- "strasse": "Street/ Block",
- "the_system_is_not_properly_configured_please_contact_the_system_administrator_for_help": "The system is not properly configured. Please contact the system administrator for help.",
- "this_is_not_a_valid_international_phone_number": "This is not a valid international phone number",
- "tos": "Terms of Service",
- "view_my_data": "View my data",
- "vorname": "Firstname",
- "organization": "Organization",
- "you_have_been_registered": "You have been registered!"
-}
+ "already_have_an_account": "Already have an account?",
+ "apartment_suite_etc": "Apartment, suite, etc.",
+ "configuration_error": "Configuration error",
+ "confirm_personal_data": "I hereby confirm that the above information is complete and correct",
+ "distance": "Distance",
+ "download_certificate": "Download certificate",
+ "e_mail_adress": "mail address",
+ "go_to_login": "Go To Login",
+ "i_accept": "I have read and accepted the ",
+ "i_accept_end": "",
+ "if_you_are_the_system_administrator_please_refer_to_the_official_product_documentation_readme_for_configuration_guidance": "If you are the system administrator, please refer to the official product documentation/ README for configuration guidance.",
+ "imprint": "Imprint",
+ "lap_time": "Lap time",
+ "lap_times": "Lap times",
+ "main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.",
+ "mittelname": "Middlename",
+ "nachname": "Lastname",
+ "no_laps_scans_were_recorded_yet": "No laps/ scans were recorded yet...",
+ "organization": "Organization",
+ "ort": "City",
+ "phone_number": "Phone Number",
+ "please_provide_a_valid_zipcode": "Please provide a valid zipcode...",
+ "please_provide_valid_mail": "Please provide a valid mail address.",
+ "plz": "zipcode",
+ "privacy_policy": "Privacy Policy",
+ "profile": "Profile",
+ "provide_address": "Provide a postal address?",
+ "register": {
+ "register_now": "Register now for Lauf für Kaya! 2021."
+ },
+ "register_now": "Register now!",
+ "registrieren": "Register Now",
+ "save_changes": "Save changes",
+ "sponsoring": "Sponsoring",
+ "strasse": "Street/ Block",
+ "the_system_is_not_properly_configured_please_contact_the_system_administrator_for_help": "The system is not properly configured. Please contact the system administrator for help.",
+ "this_is_not_a_valid_international_phone_number": "This is not a valid international phone number",
+ "tos": "Terms of Service",
+ "view_my_data": "View my data",
+ "vorname": "Firstname",
+ "you_have_been_registered": "You have been registered!"
+}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 1c2e097..792b9b6 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,10 +1,21 @@
import { createApp } from 'vue';
-import App from './App.vue';
-import Toast from 'vue-toastification';
-import 'windi.css';
+import './tailwind.css';
import 'toastify-js/src/toastify.css';
import 'vue-toastification/dist/index.css';
-import { router } from './router';
+import App from './App.vue';
+import { routes } from './routes.js';
+import { createRouter, createWebHistory } from 'vue-router';
import { i18n } from './language';
+import Toast from 'vue-toastification';
-createApp(App).use(Toast).use(i18n).use(router).mount('#app');
+const app = createApp(App);
+
+const router = createRouter({
+ history: createWebHistory(),
+ routes
+});
+
+app.use(router);
+app.use(i18n);
+app.use(Toast);
+app.mount('#app');
diff --git a/src/router.js b/src/router.js
deleted file mode 100644
index c3a6634..0000000
--- a/src/router.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { createWebHistory, createRouter } from 'vue-router';
-// ------------
-const EnvError = import('./components/EnvError.vue');
-const Home = import('./components/Home.vue');
-const Imprint = import('./components/Imprint.vue');
-const Privacy = import('./components/Privacy.vue');
-const Register = () => import('./components/Register.vue');
-const Profile = () => import('./components/Profile.vue');
-//
-let routes = [ { path: '/:pathMatch(.*)*', component: EnvError } ];
-if (typeof config !== 'undefined') {
- if (config.baseurl && config.documentserver_key) {
- 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 }
- ];
- }
-}
-export const router = createRouter({
- history: createWebHistory(),
- routes
-});
diff --git a/src/routes.js b/src/routes.js
new file mode 100644
index 0000000..815464f
--- /dev/null
+++ b/src/routes.js
@@ -0,0 +1,16 @@
+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';
+
+/** @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 }
+];
diff --git a/src/components/simple.css b/src/simple.css
similarity index 100%
rename from src/components/simple.css
rename to src/simple.css
diff --git a/src/tailwind.css b/src/tailwind.css
new file mode 100644
index 0000000..a31e444
--- /dev/null
+++ b/src/tailwind.css
@@ -0,0 +1,3 @@
+@import 'tailwindcss/base';
+@import 'tailwindcss/components';
+@import 'tailwindcss/utilities';
diff --git a/src/components/Home.vue b/src/views/Home.vue
similarity index 95%
rename from src/components/Home.vue
rename to src/views/Home.vue
index 6dbccfa..e1af9d0 100644
--- a/src/components/Home.vue
+++ b/src/views/Home.vue
@@ -25,6 +25,5 @@
\ No newline at end of file
diff --git a/src/components/Imprint.vue b/src/views/Imprint.vue
similarity index 97%
rename from src/components/Imprint.vue
rename to src/views/Imprint.vue
index 8fa9046..588b493 100644
--- a/src/components/Imprint.vue
+++ b/src/views/Imprint.vue
@@ -10,7 +10,7 @@
-