import _ from 'lodash'; import React, { useEffect, useState } from 'react'; import { Session } from 'meteor/session'; import { defineMessages, injectIntl } from 'react-intl'; import injectWbResizeEvent from '/imports/ui/components/presentation/resize-wrapper/component'; import UserAvatar from '/imports/ui/components/user-avatar/component'; import TextInput from '/imports/ui/components/text-input/component'; import Button from '/imports/ui/components/button/component'; import { styles } from './styles'; const intlMessages = defineMessages({ waitingUsersTitle: { id: 'app.userList.guest.waitingUsersTitle', description: 'Title for the notes list', }, title: { id: 'app.userList.guest.waitingUsers', description: 'Label for the waiting users', }, optionTitle: { id: 'app.userList.guest.optionTitle', description: 'Label above the options', }, allowAllAuthenticated: { id: 'app.userList.guest.allowAllAuthenticated', description: 'Title for the waiting users', }, allowAllGuests: { id: 'app.userList.guest.allowAllGuests', description: 'Title for the waiting users', }, allowEveryone: { id: 'app.userList.guest.allowEveryone', description: 'Title for the waiting users', }, denyEveryone: { id: 'app.userList.guest.denyEveryone', description: 'Title for the waiting users', }, pendingUsers: { id: 'app.userList.guest.pendingUsers', description: 'Title for the waiting users', }, pendingGuestUsers: { id: 'app.userList.guest.pendingGuestUsers', description: 'Title for the waiting users', }, rememberChoice: { id: 'app.userList.guest.rememberChoice', description: 'Remember label for checkbox', }, emptyMessage: { id: 'app.userList.guest.emptyMessage', description: 'Empty guest lobby message label', }, inputPlaceholder: { id: 'app.userList.guest.inputPlaceholder', description: 'Placeholder to guest lobby message input', }, accept: { id: 'app.userList.guest.acceptLabel', description: 'Accept guest button label' }, deny: { id: 'app.userList.guest.denyLabel', description: 'Deny guest button label', }, }); const ALLOW_STATUS = 'ALLOW'; const DENY_STATUS = 'DENY'; const getNameInitials = (name) => { const nameInitials = name.slice(0, 2); return nameInitials.replace(/^\w/, c => c.toUpperCase()); } const renderGuestUserItem = (name, color, handleAccept, handleDeny, role, sequence, userId, avatar, intl) => (
[ {sequence} ] {name}
{message}
"{guestLobbyMessage.length > 0 ? guestLobbyMessage : intl.formatMessage(intlMessages.emptyMessage)}"
{intl.formatMessage(intlMessages.optionTitle)}
{ buttonsData.map(buttonData => renderButton( intl.formatMessage(buttonData.messageId), buttonData, )) }