feat: pre-existing local changes — fischerei, verband, modules, members, packages
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:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user