From ebd9ce1f9e49a86bece3aa018bb844eedf274bac Mon Sep 17 00:00:00 2001 From: Gree44 Date: Sat, 25 Jul 2026 13:37:26 +0200 Subject: [PATCH] Fix #211: Copy-&-Paste-Tab entfernt, nur GitHub-Import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Templates werden ausschließlich über die GitHub-Verbindung importiert. Der zweite Tab ("Copy & Paste"/manueller Upload) war ein deaktivierter Platzhalter ohne Backend-Anbindung und hat nur verwirrt. - Tab-Leiste (Tabs/TabsList/TabsTrigger) entfernt; der GitHub-Inhalt rendert jetzt direkt im Dialog. - Toten Manual-State (heatTemplate/cloudInit/appYaml, activeTab) und den zugehörigen disabledReason-Zweig entfernt. - Ungenutzte Imports (Tabs*, FileText-Icon) entfernt. - Doku-Kommentare aktualisiert: GitHub ist der einzige Weg, keinen Upload. --- src/components/AddTemplateDialog.tsx | 84 ++++------------------------ 1 file changed, 11 insertions(+), 73 deletions(-) diff --git a/src/components/AddTemplateDialog.tsx b/src/components/AddTemplateDialog.tsx index 4528c39..765670c 100644 --- a/src/components/AddTemplateDialog.tsx +++ b/src/components/AddTemplateDialog.tsx @@ -5,9 +5,8 @@ import { Button } from './ui/button'; import { Input } from './ui/input'; import { Label } from './ui/label'; import { Textarea } from './ui/textarea'; -import { Tabs, TabsContent, TabsList, TabsTrigger } from './ui/tabs'; import { Alert, AlertDescription } from './ui/alert'; -import { AlertCircle, CheckCircle2, Github, FileText, Loader2, Plug, Lock, Globe, Image, Upload, X } from 'lucide-react'; +import { AlertCircle, CheckCircle2, Github, Loader2, Plug, Lock, Globe, Image, Upload, X } from 'lucide-react'; import { toast } from 'sonner@2.0.3'; import { getGithubInstallationStatus, @@ -91,8 +90,9 @@ interface AddTemplateDialogProps { * blockieren den Submit-Button frühzeitig, statt den Nutzer in einen * Backend-Fehler laufen zu lassen. * - * Der zweite Tab ("Copy & Paste") existiert vorerst nur als Platzhalter — - * das Backend unterstützt aktuell ausschließlich GitHub-Import. + * Templates werden ausschließlich über die GitHub-Verbindung importiert — + * einen manuellen Upload gibt es nicht (das Backend liest die app.yaml direkt + * aus dem verbundenen Repo). */ export function AddTemplateDialog({ open, onOpenChange, onImported }: AddTemplateDialogProps) { const navigate = useNavigate(); @@ -111,12 +111,6 @@ export function AddTemplateDialog({ open, onOpenChange, onImported }: AddTemplat const [iconPreviewUrl, setIconPreviewUrl] = useState(null); const fileInputRef = useRef(null); - // Manual-Tab (UI-only, kein Backend-Support) - const [heatTemplate, setHeatTemplate] = useState(''); - const [cloudInit, setCloudInit] = useState(''); - const [appYaml, setAppYaml] = useState(''); - - const [activeTab, setActiveTab] = useState('github'); const [submitting, setSubmitting] = useState(false); const [errorMessage, setErrorMessage] = useState(null); @@ -146,11 +140,7 @@ export function AddTemplateDialog({ open, onOpenChange, onImported }: AddTemplat setIconPreviewUrl(null); } if (fileInputRef.current) fileInputRef.current.value = ''; - setHeatTemplate(''); - setCloudInit(''); - setAppYaml(''); setErrorMessage(null); - setActiveTab('github'); }; const handleConnectGithub = async () => { @@ -299,9 +289,6 @@ export function AddTemplateDialog({ open, onOpenChange, onImported }: AddTemplat // dann Pflichtfelder, dann URL-Format. `null` = ready to import. const disabledReason: string | null = (() => { if (ghStatusLoading) return 'GitHub-Verbindungsstatus wird geprüft…'; - if (activeTab !== 'github') { - return 'Manueller Upload ist nicht angebunden — bitte den GitHub-Tab nutzen.'; - } if (!connected) { return 'GitHub-Account verbinden, um zu importieren.'; } @@ -329,21 +316,10 @@ export function AddTemplateDialog({ open, onOpenChange, onImported }: AddTemplat - - - - - GitHub-Repository - - - - Copy & Paste - - - - {/* Tab 1: GitHub-Import */} - - {/* Connection-Status */} + {/* GitHub-Import — der einzige unterstützte Weg, ein Template + anzulegen. Voraussetzung ist eine verbundene GitHub-Verbindung. */} +
+ {/* Connection-Status */} {ghStatusLoading && (
@@ -612,45 +588,7 @@ export function AddTemplateDialog({ open, onOpenChange, onImported }: AddTemplat
-
- - {/* Tab 2: Manual (Platzhalter — nicht im Backend-Support) */} - - - - - Der manuelle Upload ist aktuell nicht angebunden. Bitte nutze - den GitHub-Tab — auch private Repos funktionieren, sobald der - Account verbunden ist. - - - -
- -