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 { frameworkLineageText } from '../../utils/trainingPlanningPageHelpers' /** * Vollseiten-Formular: Trainingseinheit planen / nachbereiten (ohne Modal-Overlay). */ export default function TrainingUnitFormShell({ editingUnit, formData, updateFormField, setFormData, onSaveOnly, onSaveAndClose, draftPlanTemplateId, onDraftTemplateSelect, planTemplates, clubDirectory, clubDirectoryForCo, planningClubId, user, onMetaRefresh, sectionsEditMode, setSectionsEditMode, onSaveAsTemplate, onRequestPublishToFramework, onRequestSaveAsModule, onRequestTrainingModulePick, onRequestExercisePick, onPeekExercise, formId = 'planning-unit-form', }) { 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 (planningClubId != null && planningClubId !== '') { setNewTplClubId(String(planningClubId)) } else if (memberClubs.length === 1) { setNewTplClubId(String(memberClubs[0].id)) } }, [planningClubId, memberClubs]) return (
) }