Squashed commit of the following:
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 40s

commit 579f0878e5240dc17db69be1e0b0c0f5af7ef9fe
Author: Arno Kaimbacher <arno.kaimbacher@geosphere.at>
Date:   Tue Jun 9 09:25:44 2026 +0200

    feat: Refactor error handling in Dataset Edit form and improve validation messages

    - Updated error handling in the Dataset Edit form to use a centralized formatError function for displaying validation messages.
    - Enhanced user feedback by ensuring that error messages are displayed consistently across various fields.
    - Modified the validation rule for arrayContainsTypes to provide clearer error messages for missing main and translated titles/abstracts.
    - Introduced a new ValidationService to manage manual construction of validation errors.
    - Updated Vite configuration to streamline asset loading and improve performance.
    - Adjusted Inertia setup to utilize dynamic imports for page-specific assets.
    - Cleaned up unnecessary comments and code in various files for better readability.

commit 5efddc2a58c0e164fef585cc7344c06155dbc2c1
Author: Arno Kaimbacher <arno.kaimbacher@geosphere.at>
Date:   Mon Jan 12 17:02:47 2026 +0100

    feat: add dataset change detection and form submission composables

    - Implemented `useDatasetChangeDetection` for tracking unsaved changes in dataset forms, including comparisons for licenses, basic properties, files, coverage, and more.
    - Added `useDatasetFormSubmission` for handling dataset form submissions with validation, success/error handling, and auto-save functionality.
This commit is contained in:
Kaimbacher 2026-06-09 09:35:15 +02:00
commit 9368a0dd8d
38 changed files with 5588 additions and 6181 deletions

View file

@ -1,78 +1,38 @@
import { defineConfig } from 'vite';
import adonisjs from '@adonisjs/vite/client';
// import { getDirname } from '@adonisjs/core/helpers';
import vue from '@vitejs/plugin-vue';
import path from 'path';
// import tailwind from '@tailwindcss/postcss';
// import autoprefixer from 'autoprefixer';
// import postcssNesting from 'postcss-nesting';
import inertia from '@adonisjs/inertia/client';
export default defineConfig({
plugins: [
inertia(),
/**
* Das inertia-Plugin muss VOR adonisjs stehen.
* Es hilft dabei, dass SSR und Client-Komponenten richtig erkannt werden.
*/
inertia({ ssr: { enabled: false } }),
vue(),
adonisjs({
/**
* Entrypoints of your application. Each entrypoint will
* result in a separate bundle.
*/
entrypoints: ['resources/js/app.ts', 'resources/css/app.css'],
/**
* Paths to watch and reload the browser on file change
*/
reload: ['resources/views/**/*.edge'],
entrypoints: ['resources/js/app.ts'], // CSS wird meist in app.ts importiert
reload: ['resources/views/**/*.edge', 'resources/js/**/*.vue'],
}),
],
server: {
port: 5173,
// host: '127.0.0.1'
},
// css: {
// postcss: {
// plugins: [
// postcssNesting(),
// tailwind(),
// autoprefixer(),
// ],
// },
// },
/**
* Define aliases for importing modules from
* your frontend code
*/
resolve: {
alias: {
'@': path.resolve('./resources/js/'),
// Stelle sicher, dass @ exakt auf resources/js zeigt
'@': path.resolve(__dirname, './resources/js'),
'~': path.resolve(__dirname, 'node_modules/'),
},
},
// optimizeDeps: {
// esbuildOptions: {
// target: 'esnext'
// },
// include: ['resources/js/**/*.{vue,js,jsx,ts,tsx}'],
// exclude: ['node_modules', 'app'],
// },
/**
* WICHTIG: Entferne die manuelle build.rollupOptions.input Konfiguration,
* wenn du das adonisjs() Plugin nutzt. Das Plugin verwaltet die
* Entrypoints automatisch über die obige Konfiguration.
*/
build: {
sourcemap: true,
outDir: 'public/assets',
emptyOutDir: true,
manifest: true,
rollupOptions: {
input: 'resources/js/app.ts',
},
sourcemap: true,
// outDir wird normalerweise automatisch von Adonis verwaltet (public/assets)
},
// build: {
// outDir: 'public/assets',
// emptyOutDir: true,
// manifest: true,
// rollupOptions: {
// input: path.resolve(__dirname, 'resources/js/app.ts'),
// },
// },
});
});