import React, { useEffect, useMemo, useState } from 'react' import { Link } from 'react-router-dom' import TrainingPlanExerciseVisibilityPanel from '../TrainingPlanExerciseVisibilityPanel' import TrainingUnitSectionsEditor from '../TrainingUnitSectionsEditor' import { activeClubMemberships } from '../../utils/activeClub' import { canDeleteLibraryContent } from '../../utils/libraryContentPermissions' import { frameworkLineageText } from '../../utils/trainingPlanningPageHelpers' /** * Großes Modal: Neue Trainingseinheit / Einheit bearbeiten (Planung, Trainer, Abschnitte, Durchführung, Notizen). */ export default function TrainingPlanningUnitFormModal({ open, editingUnit, formData, updateFormField, setFormData, onSubmit, onCancel, draftPlanTemplateId, onDraftTemplateSelect, planTemplates, onDeletePlanTemplate, clubDirectory, clubDirectoryForCo, planningModalClubId, user, onMetaRefresh, sectionsEditMode, setSectionsEditMode, onSaveAsTemplate, onRequestTrainingModulePick, onRequestExercisePick, onPeekExercise, }) { const [newTplVisibility, setNewTplVisibility] = useState('private') const [newTplClubId, setNewTplClubId] = useState('') const memberClubs = useMemo(() => activeClubMemberships(user?.clubs), [user?.clubs]) const roleLc = String(user?.role || '').toLowerCase() const isSuperadmin = roleLc === 'superadmin' useEffect(() => { if (!open) return if (planningModalClubId != null && planningModalClubId !== '') { setNewTplClubId(String(planningModalClubId)) } else if (memberClubs.length === 1) { setNewTplClubId(String(memberClubs[0].id)) } }, [open, planningModalClubId, memberClubs]) if (!open) return null return (
Inhalt stammt aus dem Session-Blueprint des Rahmenprogramms. Änderungen gelten nur für diese geplante Einheit; die Zuordnung zum Rahmen bleibt zur Nachverfolgung erhalten.
Übernimmt nur die Sektionsstruktur aus der Bibliothek; Übungen trägst du unten bei den Abschnitten ein. Gespeicherte Vorlagen kannst du unter Planung später erweitern.
Entfernen nach Rolle: eigene private Vorlagen; Vereinsinhalte als Vereinsadmin; offizielle nur als Plattform‑Admin. Einheiten mit Verweis behalten den Ablauf; die Vorlage wird entkoppelt.