Migrate development brnach into production brunch #5

Merged
nessi merged 10 commits from dev into main 2026-02-06 17:30:14 +00:00
3 changed files with 33 additions and 42 deletions
Showing only changes of commit d4e629b211 - Show all commits

View File

@@ -514,6 +514,7 @@ export default function App() {
gameId={gameId}
setGameId={setGameId}
onOpenHelp={() => setHelpOpen(true)}
members={members}
/>
{/* Sieger Badge: zwischen Spiel und Verdächtigte Person */}

View File

@@ -2,7 +2,7 @@ import React from "react";
import { styles } from "../styles/styles";
import { stylesTokens } from "../styles/theme";
export default function GamePickerCard({ games, gameId, setGameId, onOpenHelp }) {
export default function GamePickerCard({ games, gameId, setGameId, onOpenHelp, members = [] }) {
return (
<div style={{ marginTop: 14 }}>
<div style={styles.card}>
@@ -36,6 +36,37 @@ export default function GamePickerCard({ games, gameId, setGameId, onOpenHelp })
</div>
);
})()}
{members?.length > 0 && (
<div style={{ marginTop: 8 }}>
<div style={{ fontSize: 12, opacity: 0.8, color: stylesTokens.textDim }}>
Spieler ({members.length})
</div>
<div style={{ marginTop: 6, display: "flex", flexWrap: "wrap", gap: 8 }}>
{members.map((m) => {
const name = ((m.display_name || "").trim() || (m.email || "").trim() || "—");
return (
<div
key={m.id}
style={{
padding: "6px 10px",
borderRadius: 999,
border: "1px solid rgba(233,216,166,0.18)",
background: "rgba(10,10,12,0.35)",
color: stylesTokens.textMain,
fontSize: 13,
fontWeight: 900,
}}
>
{name}
</div>
);
})}
</div>
</div>
)}
</div>
</div>
);

View File

@@ -12,7 +12,6 @@ export default function NewGameModal({
currentCode = "",
gameFinished = false,
hasGame = false,
currentMembers = [],
}) {
// modes: running | choice | create | join
const [mode, setMode] = useState("choice");
@@ -169,46 +168,6 @@ export default function NewGameModal({
</>
)}
{currentMembers?.length > 0 && (
<div
style={{
marginTop: 10,
padding: 10,
borderRadius: 14,
border: `1px solid ${stylesTokens.panelBorder}`,
background: stylesTokens.panelBg,
display: "grid",
gap: 8,
}}
>
<div style={{ fontSize: 12, opacity: 0.8, color: stylesTokens.textDim }}>
Aktuelle Spieler ({currentMembers.length})
</div>
<div style={{ display: "flex", flexWrap: "wrap", gap: 8 }}>
{currentMembers.map((m) => {
const name = ((m.display_name || "").trim() || (m.email || "").trim() || "—");
return (
<div
key={m.id}
style={{
padding: "6px 10px",
borderRadius: 999,
border: `1px solid rgba(233,216,166,0.18)`,
background: "rgba(10,10,12,0.35)",
color: stylesTokens.textMain,
fontSize: 13,
fontWeight: 900,
}}
>
{name}
</div>
);
})}
</div>
</div>
)}
{/* ✅ CHOICE: nur wenn Spiel beendet oder kein Spiel selected */}
{mode === "choice" && (