feat: pre-existing local changes — fischerei, verband, modules, members, packages
Some checks failed
Workflow / ʦ TypeScript (push) Failing after 6m20s
Workflow / ⚫️ Test (push) Has been skipped

Commits all remaining uncommitted local work:

- apps/web: fischerei, verband, modules, members-cms, documents,
  newsletter, meetings, site-builder, courses, bookings, events,
  finance pages and components
- apps/web: marketing page updates, layout, paths config,
  next.config.mjs, styles/makerkit.css
- apps/web/i18n: documents, fischerei, marketing, verband (de+en)
- packages/features: finance, fischerei, member-management,
  module-builder, newsletter, sitzungsprotokolle, verbandsverwaltung
  server APIs and components
- packages/ui: button.tsx updates
- pnpm-lock.yaml
This commit is contained in:
Zaid Marzguioui
2026-04-02 01:19:54 +02:00
parent a1719671df
commit b26e5aaafa
153 changed files with 2329 additions and 1227 deletions

View File

@@ -47,16 +47,18 @@ export function DeleteModuleButton({
return (
<AlertDialog>
<AlertDialogTrigger asChild>
<Button
variant="destructive"
disabled={isDeleting || isPending}
data-test="module-archive-btn"
>
<Trash2 className="mr-2 h-4 w-4" />
Modul archivieren
</Button>
</AlertDialogTrigger>
<AlertDialogTrigger
render={
<Button
variant="destructive"
disabled={isDeleting || isPending}
data-test="module-archive-btn"
>
<Trash2 className="mr-2 h-4 w-4" aria-hidden="true" />
Modul archivieren
</Button>
}
/>
<AlertDialogContent>
<AlertDialogHeader>
<AlertDialogTitle>Modul archivieren?</AlertDialogTitle>

View File

@@ -135,13 +135,15 @@ export function ModulePermissions({
<table className="w-full text-sm">
<thead>
<tr className="bg-muted/50 border-b">
<th className="p-3 text-left">Rolle</th>
<th scope="col" className="p-3 text-left">
Rolle
</th>
{PERMISSION_COLUMNS.map((col) => (
<th key={col.key} className="p-3 text-center text-xs">
{col.label}
</th>
))}
<th className="p-3 text-right" />
<th scope="col" className="p-3 text-right" />
</tr>
</thead>
<tbody>

View File

@@ -132,12 +132,14 @@ export function ModuleRelations({
if (!v) resetForm();
}}
>
<DialogTrigger asChild>
<Button variant="outline" size="sm">
<Plus className="mr-2 h-4 w-4" />
Neue Verknüpfung
</Button>
</DialogTrigger>
<DialogTrigger
render={
<Button variant="outline" size="sm">
<Plus className="mr-2 h-4 w-4" aria-hidden="true" />
Neue Verknüpfung
</Button>
}
/>
<DialogContent>
<DialogHeader>
<DialogTitle>Neue Verknüpfung erstellen</DialogTitle>
@@ -145,7 +147,10 @@ export function ModuleRelations({
<div className="space-y-4 py-4">
<div className="space-y-2">
<Label>Quellfeld</Label>
<Select value={sourceFieldId} onValueChange={setSourceFieldId}>
<Select
value={sourceFieldId}
onValueChange={(v) => setSourceFieldId(v ?? '')}
>
<SelectTrigger>
<SelectValue placeholder="Feld auswählen" />
</SelectTrigger>
@@ -162,7 +167,7 @@ export function ModuleRelations({
<Label>Zielmodul</Label>
<Select
value={targetModuleId}
onValueChange={setTargetModuleId}
onValueChange={(v) => setTargetModuleId(v ?? '')}
>
<SelectTrigger>
<SelectValue placeholder="Modul auswählen" />
@@ -178,7 +183,10 @@ export function ModuleRelations({
</div>
<div className="space-y-2">
<Label>Beziehungstyp</Label>
<Select value={relationType} onValueChange={setRelationType}>
<Select
value={relationType}
onValueChange={(v) => setRelationType(v ?? '')}
>
<SelectTrigger>
<SelectValue placeholder="Typ auswählen" />
</SelectTrigger>

View File

@@ -97,16 +97,28 @@ export default async function ModuleSettingsPage({
</CardTitle>
</CardHeader>
<CardContent>
<div className="rounded-md border">
<table className="w-full text-sm">
<div className="overflow-x-auto rounded-md border">
<table className="w-full min-w-[640px] text-sm">
<thead>
<tr className="bg-muted/50 border-b">
<th className="p-3 text-left">Name</th>
<th className="p-3 text-left">Anzeigename</th>
<th className="p-3 text-left">Typ</th>
<th className="p-3 text-left">Pflicht</th>
<th className="p-3 text-left">Tabelle</th>
<th className="p-3 text-left">Formular</th>
<th scope="col" className="p-3 text-left">
Name
</th>
<th scope="col" className="p-3 text-left">
Anzeigename
</th>
<th scope="col" className="p-3 text-left">
Typ
</th>
<th scope="col" className="p-3 text-left">
Pflicht
</th>
<th scope="col" className="p-3 text-left">
Tabelle
</th>
<th scope="col" className="p-3 text-left">
Formular
</th>
</tr>
</thead>
<tbody>