Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 16x 16x 17x 2x 2x | import React from 'react'; import {Menu} from 'antd'; import { AvatarImageEnum, avatarImageMDs, } from '../utils/pixiUtils/metaData/ImageMetaData'; import '../pages/spacePage/space.css'; export interface UserInfo { nickname: string; avatar: AvatarImageEnum; volume: number; setVolume: (volumnMultiplyValue: number) => void; } export interface UsersListProps { getUsers: () => UserInfo[]; onClickPrevious: () => void; onChangeVolume: (volume: number) => void; } export function UserList(props: UsersListProps): JSX.Element { const users = props.getUsers(); return ( <Menu className="user_drop_down"> <Menu.Item key="10"> <div className="users_title"> <div>사용자</div> </div> </Menu.Item> <Menu.Divider></Menu.Divider> {users && users.map((user, idx) => { return ( <Menu.Item key={idx.toString()}> <div className="user_list" key={idx + 1} style={{color: '#606060'}} > <div> <img className="user_list_avatar" src={avatarImageMDs[user.avatar].avatarProfileSrc} ></img>{' '} {user.nickname} </div> {idx !== 0 ? ( <div className="panel_volume"> <input role="button" className="panel_volume_bar" type="range" min="0" max="100" value={user.volume * 100} onChange={e => { user.setVolume(Number(e.target.value) * 0.01); props.onChangeVolume(user.volume); }} /> <output className="panel_volume_value"> {Math.round(user.volume * 100)} </output> </div> ) : ( <></> )} </div> </Menu.Item> ); })} </Menu> ); } |