import React, { useState } from 'react';
const avatars = {
male: [
{ name: 'Мужчина 1', url: 'https://models.readyplayer.me/68013c216026f5144dce1613.glb' },
{ name: 'Мужчина 2', url: 'https://models.readyplayer.me/68013cf0647a08a2e39f842d.glb' },
],
female: [
{ name: 'Женщина 1', url: '/avatars/female1.glb' },
{ name: 'Женщина 2', url: '/avatars/female2.glb' },
],
};
export default function CharacterSelect({ onSelect }) {
const [gender, setGender] = useState(null);
const handleGenderSelect = (selected) => setGender(selected);
return (
{!gender ? (
Выберите пол
) : (
Выберите персонажа
{avatars[gender].map((a) => (
onSelect(a.url, gender)}>
{a.name}
))}
)}
);
}
const styles = {
wrapper: {
width: '100vw',
height: '100vh',
background: '#111',
color: '#fff',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
},
genderBlock: {
display: 'flex',
flexDirection: 'column',
gap: '20px',
},
avatarBlock: {
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
},
grid: {
display: 'flex',
gap: '30px',
marginTop: '20px',
},
avatarCard: {
cursor: 'pointer',
textAlign: 'center',
},
button: {
fontSize: '18px',
padding: '10px 20px',
background: '#222',
color: '#fff',
border: '1px solid #555',
borderRadius: '8px',
},
back: {
marginTop: '20px',
fontSize: '16px',
background: 'transparent',
border: 'none',
color: '#aaa',
cursor: 'pointer',
},
};