// src/components/DeckCreator/DeckHeader.jsx // Deck alapadatok szerkesztése és mentés import React, { useState, useRef, useEffect } from "react" import { FaSave, FaArrowLeft, FaGlobe, FaLock, FaQuestionCircle, FaDice, FaLaughBeam } from "react-icons/fa" const deckTypes = [ { value: "QUESTION", label: "Kérdés", icon: FaQuestionCircle, color: "var(--color-question)" }, { value: "LUCK", label: "Szerencse", icon: FaDice, color: "var(--color-luck)" }, { value: "JOKER", label: "Joker", icon: FaLaughBeam, color: "var(--color-fun)" } ] const privacyOptions = [ { value: "private", label: "Privát", icon: FaLock }, { value: "public", label: "Publikus", icon: FaGlobe } ] export default function DeckHeader({ deck, onUpdate, onSave, onBack }) { const [isTypeDropdownOpen, setIsTypeDropdownOpen] = useState(false); const [isPrivacyDropdownOpen, setIsPrivacyDropdownOpen] = useState(false); const typeDropdownRef = useRef(null); const privacyDropdownRef = useRef(null); const currentDeckType = deckTypes.find(type => type.value === deck.type) || deckTypes[0] const currentPrivacy = privacyOptions.find(option => option.value === deck.privacy) || privacyOptions[0] useEffect(() => { function handleClickOutside(event) { if (typeDropdownRef.current && !typeDropdownRef.current.contains(event.target)) { setIsTypeDropdownOpen(false); } if (privacyDropdownRef.current && !privacyDropdownRef.current.contains(event.target)) { setIsPrivacyDropdownOpen(false); } } document.addEventListener('mousedown', handleClickOutside); return () => { document.removeEventListener('mousedown', handleClickOutside); }; }, []); const handleInputChange = (field, value) => { onUpdate({ [field]: value }) } // Remove unused card count variables return (
{/* Top Row - Title and Actions */}

📝 Pakli Szerkesztés

{/* Main Content Row */}
{/* Two Column Layout */}
{/* Deck Name - Takes up 2 columns */}
handleInputChange('name', e.target.value)} className="w-full px-4 py-2 rounded-xl bg-[color:var(--color-background)] border border-[color:var(--color-surface-selected)] text-[color:var(--color-text)] focus:ring-2 focus:ring-[color:var(--color-success)] focus:border-transparent outline-none transition-all duration-200" placeholder="Add meg a pakli nevét..." />
{/* Empty space for visual balance */}
{/* Type, Privacy and Description Row */}
{/* Deck Type */}
{isTypeDropdownOpen && (
{deckTypes.map(type => ( ))}
)}
{/* Privacy */}
{isPrivacyDropdownOpen && (
{privacyOptions.map(option => ( ))}
)}
{/* Description */}
handleInputChange('description', e.target.value)} className="w-full px-4 py-2 rounded-xl bg-[color:var(--color-background)] border border-[color:var(--color-surface-selected)] text-[color:var(--color-text)] focus:ring-2 focus:ring-[color:var(--color-success)] focus:border-transparent outline-none transition-all duration-200" placeholder="Rövid leírás..." />
) }