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 @@ -