diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..6b9c28d --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,27 @@ +# Nuxt dev/build outputs +.output +.data +.nuxt +.nitro +.cache +dist + +# Node dependencies +node_modules + +# Logs +logs +*.log + +# Misc +.DS_Store +.fleet +.idea + +# Local env files +.env +.env.* +!.env.example + +#PWA +sw.* diff --git a/frontend/.gitlab-ci.yml b/frontend/.gitlab-ci.yml new file mode 100644 index 0000000..22a6313 --- /dev/null +++ b/frontend/.gitlab-ci.yml @@ -0,0 +1,18 @@ +before_script: + - docker info + +stages: + - build + +build-web: + stage: build + tags: + - shell + - docker-daemon + variables: + IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + script: + - echo $IMAGE_TAG + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker build -t $IMAGE_TAG . + - docker push $IMAGE_TAG diff --git a/frontend/.npmrc b/frontend/.npmrc new file mode 100644 index 0000000..094aec9 --- /dev/null +++ b/frontend/.npmrc @@ -0,0 +1 @@ +@bryntum:registry=https://npm.bryntum.com \ No newline at end of file diff --git a/frontend/.nuxtrc b/frontend/.nuxtrc new file mode 100644 index 0000000..9563335 --- /dev/null +++ b/frontend/.nuxtrc @@ -0,0 +1 @@ +uiPro.license=2A7272BC-085A-40E1-982F-5E31261BB164 \ No newline at end of file diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..322cca4 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,15 @@ +FROM node:20-alpine + +RUN mkdir -p /usr/src/nuxt-app +WORKDIR /usr/src/nuxt-app +COPY . . + +RUN npm i +RUN npm run build + +ENV NUXT_HOST=0.0.0.0 +ENV NUXT_PORT=3000 + +EXPOSE 3000 + +ENTRYPOINT ["node", ".output/server/index.mjs"] diff --git a/frontend/RechteDoku.xlsx b/frontend/RechteDoku.xlsx new file mode 100644 index 0000000..2ba402f Binary files /dev/null and b/frontend/RechteDoku.xlsx differ diff --git a/frontend/app.config.ts b/frontend/app.config.ts new file mode 100644 index 0000000..76534af --- /dev/null +++ b/frontend/app.config.ts @@ -0,0 +1,38 @@ +export default defineAppConfig({ + ui: { + primary: 'green', + gray: 'slate', + tooltip: { + background: '!bg-background' + }, + variables: { + dark: { + background: 'var(--color-gray-950)' + }, + header: { + height: '5rem' + } + }, + notifications: { + // Show toasts at the top right of the screen + position: 'bottom-0 left-0' + }, + icons: { + /*dark: 'i-ph-moon-duotone', + light: 'i-ph-sun-duotone', + search: 'i-ph-magnifying-glass-duotone', + external: 'i-ph-arrow-up-right', + chevron: 'i-ph-caret-down', + hash: 'i-ph-hash-duotone'*/ + }, + header: { + wrapper: 'lg:mb-0 lg:border-0', + popover: { + links: { + active: 'dark:bg-gray-950/50', + inactive: 'dark:hover:bg-gray-950/50' + } + } + } + } +}) \ No newline at end of file diff --git a/frontend/app.vue b/frontend/app.vue new file mode 100644 index 0000000..f2f0d80 --- /dev/null +++ b/frontend/app.vue @@ -0,0 +1,150 @@ + + + + + \ No newline at end of file diff --git a/frontend/asssets/icon.png b/frontend/asssets/icon.png new file mode 100644 index 0000000..a35a0d6 Binary files /dev/null and b/frontend/asssets/icon.png differ diff --git a/frontend/asssets/icons/icon-128.webp b/frontend/asssets/icons/icon-128.webp new file mode 100644 index 0000000..bcb6df1 Binary files /dev/null and b/frontend/asssets/icons/icon-128.webp differ diff --git a/frontend/asssets/icons/icon-192.webp b/frontend/asssets/icons/icon-192.webp new file mode 100644 index 0000000..db56bcf Binary files /dev/null and b/frontend/asssets/icons/icon-192.webp differ diff --git a/frontend/asssets/icons/icon-256.webp b/frontend/asssets/icons/icon-256.webp new file mode 100644 index 0000000..22660a6 Binary files /dev/null and b/frontend/asssets/icons/icon-256.webp differ diff --git a/frontend/asssets/icons/icon-48.webp b/frontend/asssets/icons/icon-48.webp new file mode 100644 index 0000000..ebef8db Binary files /dev/null and b/frontend/asssets/icons/icon-48.webp differ diff --git a/frontend/asssets/icons/icon-512.webp b/frontend/asssets/icons/icon-512.webp new file mode 100644 index 0000000..d05e428 Binary files /dev/null and b/frontend/asssets/icons/icon-512.webp differ diff --git a/frontend/asssets/icons/icon-72.webp b/frontend/asssets/icons/icon-72.webp new file mode 100644 index 0000000..25b6e95 Binary files /dev/null and b/frontend/asssets/icons/icon-72.webp differ diff --git a/frontend/asssets/icons/icon-96.webp b/frontend/asssets/icons/icon-96.webp new file mode 100644 index 0000000..651950e Binary files /dev/null and b/frontend/asssets/icons/icon-96.webp differ diff --git a/frontend/asssets/logo-dark.png b/frontend/asssets/logo-dark.png new file mode 100644 index 0000000..edfc0d9 Binary files /dev/null and b/frontend/asssets/logo-dark.png differ diff --git a/frontend/asssets/logo.png b/frontend/asssets/logo.png new file mode 100644 index 0000000..a35a0d6 Binary files /dev/null and b/frontend/asssets/logo.png differ diff --git a/frontend/asssets/splash.png b/frontend/asssets/splash.png new file mode 100644 index 0000000..bca2904 Binary files /dev/null and b/frontend/asssets/splash.png differ diff --git a/frontend/capacitor.config.ts b/frontend/capacitor.config.ts new file mode 100644 index 0000000..4b11956 --- /dev/null +++ b/frontend/capacitor.config.ts @@ -0,0 +1,16 @@ +import type { CapacitorConfig } from '@capacitor/cli'; + +const config: CapacitorConfig = { + appId: 'software.federspiel.fedeo', + appName: 'FEDEO', + webDir: 'dist', + ios: { + handleApplicationNotifications: false + }, + /*server: { + url: "http://192.168.1.226:3000", + cleartext: true + }*/ +}; + +export default config; diff --git a/frontend/components/ArchiveButton.vue b/frontend/components/ArchiveButton.vue new file mode 100644 index 0000000..693ac37 --- /dev/null +++ b/frontend/components/ArchiveButton.vue @@ -0,0 +1,74 @@ + + + + + \ No newline at end of file diff --git a/frontend/components/ButtonWithConfirm.vue b/frontend/components/ButtonWithConfirm.vue new file mode 100644 index 0000000..24da92c --- /dev/null +++ b/frontend/components/ButtonWithConfirm.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/frontend/components/DatePicker.vue b/frontend/components/DatePicker.vue new file mode 100644 index 0000000..2a97b2c --- /dev/null +++ b/frontend/components/DatePicker.vue @@ -0,0 +1,54 @@ + + + \ No newline at end of file diff --git a/frontend/components/DocumentDisplay.vue b/frontend/components/DocumentDisplay.vue new file mode 100644 index 0000000..6db5d5a --- /dev/null +++ b/frontend/components/DocumentDisplay.vue @@ -0,0 +1,95 @@ + + +