diff --git a/src/components/NewGame.jsx b/src/components/NewGame.jsx index 738568f..10c0b25 100644 --- a/src/components/NewGame.jsx +++ b/src/components/NewGame.jsx @@ -1,6 +1,25 @@ import { h } from 'preact'; import { useState, useEffect, useRef } from 'preact/hooks'; import styles from './NewGame.module.css'; +import modalStyles from './PlayerSelectModal.module.css'; + +const PlayerSelectModal = ({ players, onSelect, onClose }) => ( +
+
e.stopPropagation()}> +
+

Alle Spieler

+ +
+
+ {players.map(player => ( + + ))} +
+
+
+); /** * Player 1 input step for multi-step game creation wizard. @@ -15,6 +34,7 @@ const Player1Step = ({ playerNameHistory, onNext, onCancel, initialValue = '' }) const [player1, setPlayer1] = useState(initialValue); const [error, setError] = useState(null); const [filteredNames, setFilteredNames] = useState(playerNameHistory); + const [isModalOpen, setIsModalOpen] = useState(false); const inputRef = useRef(null); useEffect(() => { @@ -44,6 +64,11 @@ const Player1Step = ({ playerNameHistory, onNext, onCancel, initialValue = '' }) onNext(name); }; + const handleModalSelect = (name) => { + setIsModalOpen(false); + handleQuickPick(name); + }; + const handleClear = () => { setPlayer1(''); setError(null); @@ -103,7 +128,7 @@ const Player1Step = ({ playerNameHistory, onNext, onCancel, initialValue = '' }) {filteredNames.length > 0 && (
- {filteredNames.slice(0, 4).map((name, idx) => ( + {filteredNames.slice(0, 10).map((name, idx) => ( + )}
)} {error &&
{error}
} + {isModalOpen && ( + setIsModalOpen(false)} + /> + )}