chore: remove obsolete Android app configuration files
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s
- Deleted build.gradle.kts, gradle.properties, and gradlew files as part of the cleanup process. - Removed local.properties and various generated files from the .gradle directory to streamline the project structure. - Cleared out unnecessary build artifacts and intermediate files to improve project maintainability.
This commit is contained in:
271
frontend/package-lock.json
generated
271
frontend/package-lock.json
generated
@@ -15,6 +15,7 @@
|
||||
"jspdf": "^4.0.0",
|
||||
"jspdf-autotable": "^5.0.2",
|
||||
"node-cron": "^4.2.1",
|
||||
"pdfjs-dist": "^5.6.205",
|
||||
"socket.io-client": "^4.8.1",
|
||||
"sortablejs": "^1.15.3",
|
||||
"vue": "^3.2.13",
|
||||
@@ -762,6 +763,256 @@
|
||||
"integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@napi-rs/canvas": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.99.tgz",
|
||||
"integrity": "sha512-zN4eQlK3eBf7aJBcTHZilpBH3tDekBzPMIWC8r0s94Ecl73XfOyFi4w7yKFMRVUT0lvNQjtOL8YSrwqQj6mZFg==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"workspaces": [
|
||||
"e2e/*"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@napi-rs/canvas-android-arm64": "0.1.99",
|
||||
"@napi-rs/canvas-darwin-arm64": "0.1.99",
|
||||
"@napi-rs/canvas-darwin-x64": "0.1.99",
|
||||
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.99",
|
||||
"@napi-rs/canvas-linux-arm64-gnu": "0.1.99",
|
||||
"@napi-rs/canvas-linux-arm64-musl": "0.1.99",
|
||||
"@napi-rs/canvas-linux-riscv64-gnu": "0.1.99",
|
||||
"@napi-rs/canvas-linux-x64-gnu": "0.1.99",
|
||||
"@napi-rs/canvas-linux-x64-musl": "0.1.99",
|
||||
"@napi-rs/canvas-win32-arm64-msvc": "0.1.99",
|
||||
"@napi-rs/canvas-win32-x64-msvc": "0.1.99"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-android-arm64": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.99.tgz",
|
||||
"integrity": "sha512-9OCRt8VVxA17m32NWZKyNC2qamdaS/SC5CEOIQwFngRq0DIeVm4PDal+6Ljnhqm2whZiC63DNuKZ4xSp2nbj9w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-darwin-arm64": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.99.tgz",
|
||||
"integrity": "sha512-lupMDMy1+H38dhyCcLirOKKVUyzzlxi7j7rGPLI3vViMHOoPjcXO1b10ivy+ad+q6MiwHfoLjKTCoLke5ySOBg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-darwin-x64": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.99.tgz",
|
||||
"integrity": "sha512-fdz02t4w8n6Ii/rYhWig6STb/zcTmCC/6YZTGmjoDeidDwn9Wf0ukQVynhCPEs29vqUc66wHZKsuIgMs9tycCg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.99.tgz",
|
||||
"integrity": "sha512-w4FwVwlNo00ezeRhfY62IVIyt6G3u8wodkPtiqWc52BUHx+VDBUM2vkS3ogfANaLI7hnf3s6WK4LyZVUjBg1lA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-linux-arm64-gnu": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.99.tgz",
|
||||
"integrity": "sha512-8JvHeexKQ8c7g0q7YJ29NVQwnf1ePghP9ys9ZN0R0qzyqJQ9Uw6N9qnDINArlm3IYHexB7LjzArIfhQiqSDGvQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-linux-arm64-musl": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.99.tgz",
|
||||
"integrity": "sha512-Z+6nyLdJXWzLPVxi4H6g9TJop4DwN3KSgHWto5JCbZV5/uKoVqcSynPs0tGlUHOoWI8S8tEvJspz51GQkvr07w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.99.tgz",
|
||||
"integrity": "sha512-jAnfOUv4IO1l8Levk5t85oVtEBOXLa07KnIUgWo1CDlPxiqpxS3uBfiE38Lvj/CQgHaNF6Nxk/SaemwLgsVJgw==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-linux-x64-gnu": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.99.tgz",
|
||||
"integrity": "sha512-mIkXw3fGmbYyFjSmfWEvty4jN+rwEOmv0+Dy9bRvvTzLYWCgm3RMgUEQVfAKFw96nIRFnyNZiK83KNQaVVFjng==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-linux-x64-musl": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.99.tgz",
|
||||
"integrity": "sha512-f3Uz2P0RgrtBHISxZqr6yiYXJlTDyCVBumDacxo+4AmSg7z0HiqYZKGWC/gszq3fbPhyQUya1W2AEteKxT9Y6A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-win32-arm64-msvc": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.99.tgz",
|
||||
"integrity": "sha512-XE6KUkfqRsCNejcoRMiMr3RaUeObxNf6y7dut3hrq2rn7PzfRTZgrjF1F/B2C7FcdgqY/vSHWpQeMuNz1vTNHg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas-win32-x64-msvc": {
|
||||
"version": "0.1.99",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.99.tgz",
|
||||
"integrity": "sha512-plMYGVbc/vmmPF9MtmHbwNk1rL1Aj53vQZt+Gnv1oZn6gmd9jEHHJ0n9Nd2nxa5sKH7TS5IjkCDM6289O0d6PQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
|
||||
@@ -2972,6 +3223,13 @@
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/node-readable-to-web-readable-stream": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/node-readable-to-web-readable-stream/-/node-readable-to-web-readable-stream-0.4.2.tgz",
|
||||
"integrity": "sha512-/cMZNI34v//jUTrI+UIo4ieHAB5EZRY/+7OmXZgBxaWBMcW2tGdceIw06RFxWxrKZ5Jp3sI2i5TsRo+CBhtVLQ==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/nth-check": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
|
||||
@@ -3074,6 +3332,19 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/pdfjs-dist": {
|
||||
"version": "5.6.205",
|
||||
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.6.205.tgz",
|
||||
"integrity": "sha512-tlUj+2IDa7G1SbvBNN74UHRLJybZDWYom+k6p5KIZl7huBvsA4APi6mKL+zCxd3tLjN5hOOEE9Tv7VdzO88pfg==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": ">=20.19.0 || >=22.13.0 || >=24"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@napi-rs/canvas": "^0.1.96",
|
||||
"node-readable-to-web-readable-stream": "^0.4.2"
|
||||
}
|
||||
},
|
||||
"node_modules/performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"jspdf": "^4.0.0",
|
||||
"jspdf-autotable": "^5.0.2",
|
||||
"node-cron": "^4.2.1",
|
||||
"pdfjs-dist": "^5.6.205",
|
||||
"socket.io-client": "^4.8.1",
|
||||
"sortablejs": "^1.15.3",
|
||||
"vue": "^3.2.13",
|
||||
|
||||
@@ -125,6 +125,10 @@
|
||||
<span class="nav-icon">🧩</span>
|
||||
{{ $t('navigation.teamManagement') }}
|
||||
</router-link>
|
||||
<router-link v-if="hasPermission('members', 'read')" to="/billing" class="nav-link" :title="$t('navigation.billing')">
|
||||
<span class="nav-icon">🧾</span>
|
||||
{{ $t('navigation.billing') }}
|
||||
</router-link>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
"navigation": {
|
||||
"home": "Startseite",
|
||||
"members": "Mitglieder",
|
||||
"billing": "Abrechnung",
|
||||
"orders": "Bestellungen",
|
||||
"diary": "Tagebuch",
|
||||
"approvals": "Freigaben",
|
||||
@@ -467,6 +468,75 @@
|
||||
"club": "Verein",
|
||||
"member": "Mitglied"
|
||||
},
|
||||
"billing": {
|
||||
"title": "Abrechnung",
|
||||
"subtitle": "Erstelle deine eigene monatliche Übungsstunden-Abrechnung.",
|
||||
"step1": "Schritt 1: Vorlage hinterlegen",
|
||||
"step2": "Schritt 2: Abrechnungslauf anlegen",
|
||||
"step3": "Schritt 3: PDF erzeugen und herunterladen",
|
||||
"templateSection": "Vorlage hochladen",
|
||||
"templateName": "Vorlagenname",
|
||||
"templateDescription": "Beschreibung",
|
||||
"templatePdf": "PDF-Vorlage",
|
||||
"uploadTemplate": "Vorlage speichern",
|
||||
"deleteTemplate": "Vorlage löschen",
|
||||
"deleteTemplateConfirm": "Diese Vorlage wirklich löschen?",
|
||||
"deleteTemplateSuccess": "Vorlage wurde gelöscht.",
|
||||
"deleteTemplateError": "Vorlage konnte nicht gelöscht werden.",
|
||||
"noTemplates": "Noch keine Vorlagen vorhanden.",
|
||||
"mappingTitle": "Positions-Mapping",
|
||||
"mappingHint": "Koordinaten je Feld einmalig anpassen und speichern. Diese Positionen werden bei „PDF erzeugen“ verwendet.",
|
||||
"openMappingEditor": "Mapping per Klick",
|
||||
"mappingEditorTitle": "Felder im PDF per Klick zuweisen",
|
||||
"mappingEditorHint": "Feld auswählen, dann in die PDF klicken. Die Position wird direkt übernommen.",
|
||||
"mappingField": "Feld",
|
||||
"autoSuggestMapping": "Auto-Vorschläge",
|
||||
"resetIbanBoxes": "IBAN-Boxen reset",
|
||||
"ibanBoxesReset": "IBAN-Boxen wurden zurückgesetzt.",
|
||||
"ibanLearnStart": "IBAN einlernen",
|
||||
"ibanLearnCancel": "IBAN-Lernen abbrechen",
|
||||
"ibanLearnStep1": "IBAN-Lernen: bitte auf die erste zu nutzende IBAN-Box klicken.",
|
||||
"ibanLearnStep2": "IBAN-Lernen: bitte auf die letzte zu nutzende IBAN-Box klicken.",
|
||||
"ibanLearnDone": "IBAN-Boxen wurden aus dem gewählten Bereich zugewiesen.",
|
||||
"mappingSuggested": "Auto-Vorschläge wurden eingetragen. Bitte prüfen und feinjustieren.",
|
||||
"mappingSuggestError": "Auto-Vorschläge konnten nicht ermittelt werden.",
|
||||
"mappingPreviewError": "PDF-Vorschau für Mapping konnte nicht geladen werden.",
|
||||
"saveMapping": "Mapping speichern",
|
||||
"mappingSaved": "Mapping wurde gespeichert.",
|
||||
"mappingSaveError": "Mapping konnte nicht gespeichert werden.",
|
||||
"runSection": "Abrechnungslauf",
|
||||
"template": "Vorlage",
|
||||
"monthFrom": "Monat von",
|
||||
"monthTo": "Monat bis",
|
||||
"selfRecipientName": "Eigener Name",
|
||||
"iban": "IBAN",
|
||||
"ibanWithoutCountry": "ohne Länderkennung",
|
||||
"hourlyRate": "Stunden-Gehalt",
|
||||
"hoursTotal": "Anzahl Stunden",
|
||||
"hoursAutoHint": "Anzahl Stunden wird automatisch aus den Trainingstagen berechnet: {hours} h ({count} Einheiten).",
|
||||
"sessionTime": "Zeit",
|
||||
"sessionLabel": "Bezeichner",
|
||||
"sessionHours": "Stunden",
|
||||
"sameAccountCheckbox": "Gleiches Konto wie letzte Abrechnung",
|
||||
"omitField": "nicht angeben",
|
||||
"noSessionsInRange": "Keine Trainingseinheiten im gewählten Zeitraum gefunden.",
|
||||
"locationText": "Ort",
|
||||
"documentDate": "Datum",
|
||||
"generateOwnBilling": "Eigene Abrechnung erzeugen",
|
||||
"generatePdf": "PDF erzeugen",
|
||||
"generateAndDownloadPdf": "PDF erzeugen + herunterladen",
|
||||
"generatingPdf": "Erzeuge PDF...",
|
||||
"generateSuccess": "PDF wurde erzeugt.",
|
||||
"generateError": "PDF konnte nicht erzeugt werden.",
|
||||
"downloadPdf": "PDF herunterladen",
|
||||
"downloadError": "PDF konnte nicht heruntergeladen werden.",
|
||||
"deleteBilling": "Löschen",
|
||||
"deleteConfirm": "Diese erzeugte Abrechnung wirklich löschen?",
|
||||
"deleteSuccess": "Abrechnung wurde gelöscht.",
|
||||
"deleteError": "Abrechnung konnte nicht gelöscht werden.",
|
||||
"runsTitle": "Bisherige Abrechnungen",
|
||||
"noRuns": "Noch keine Abrechnungen vorhanden."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Trainingstagebuch",
|
||||
"date": "Datum",
|
||||
|
||||
@@ -32,6 +32,7 @@ const ClickTtView = () => import('./views/ClickTtView.vue');
|
||||
const MemberTransferSettingsView = () => import('./views/MemberTransferSettingsView.vue');
|
||||
const PersonalSettings = () => import('./views/PersonalSettings.vue');
|
||||
const OrdersView = () => import('./views/OrdersView.vue');
|
||||
const BillingView = () => import('./views/BillingView.vue');
|
||||
const Impressum = () => import('./views/Impressum.vue');
|
||||
const Datenschutz = () => import('./views/Datenschutz.vue');
|
||||
|
||||
@@ -66,6 +67,7 @@ const routes = [
|
||||
{ path: '/member-transfer-settings', name: 'member-transfer-settings', component: MemberTransferSettingsView },
|
||||
{ path: '/personal-settings', name: 'personal-settings', component: PersonalSettings },
|
||||
{ path: '/orders', name: 'orders', component: OrdersView },
|
||||
{ path: '/billing', name: 'billing', component: BillingView },
|
||||
{ path: '/impressum', name: 'impressum', component: Impressum, meta: { public: true } },
|
||||
{ path: '/datenschutz', name: 'datenschutz', component: Datenschutz, meta: { public: true } },
|
||||
];
|
||||
|
||||
1375
frontend/src/views/BillingView.vue
Normal file
1375
frontend/src/views/BillingView.vue
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user