client-web/build-prod/static/js/228.9205070d.chunk.js.map
{"version":3,"file":"static/js/228.9205070d.chunk.js","mappings":"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","sources":["components/DeleteDialog.tsx","pages/ChatRoomDetails/ChangeRoomInfoModal.tsx","pages/ChatRoomDetails/ChatAvatar.tsx","pages/ChatRoomDetails/ChatDetailCard.tsx","pages/ChatRoomDetails/MembersList.tsx","pages/ChatRoomDetails/index.tsx","../node_modules/@mui/icons-material/Delete.js","../node_modules/@mui/icons-material/Edit.js","../node_modules/@mui/icons-material/InsertPhoto.js","../node_modules/@mui/icons-material/MoreVert.js","../node_modules/@mui/icons-material/StarPurple500.js","../node_modules/@mui/material/esm/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/esm/DialogActions/DialogActions.js","../node_modules/@mui/material/esm/DialogContent/dialogContentClasses.js","../node_modules/@mui/material/esm/DialogContent/DialogContent.js","../node_modules/@mui/material/esm/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/esm/DialogContentText/DialogContentText.js"],"sourcesContent":["import * as React from \"react\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\n\ninterface IProps {\n open: boolean;\n onClose: () => void;\n onDeletePress: () => void;\n loading?: boolean;\n title: string;\n description: string;\n deleteButtonTitle?: string;\n cancelButtonTitle?: string;\n}\n\nexport function DeleteDialog({\n open,\n onClose,\n onDeletePress,\n loading,\n title,\n description,\n deleteButtonTitle,\n cancelButtonTitle,\n}: IProps) {\n return (\n <Dialog\n open={open}\n onClose={onClose}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">{title}</DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n {description}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button disabled={loading} onClick={onClose}>\n {cancelButtonTitle || \"Cancel\"}\n </Button>\n <Button disabled={loading} onClick={onDeletePress} autoFocus color={\"error\"}>\n {deleteButtonTitle || \"Delete\"}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n","import { Box, Button, Modal, TextField, Typography } from \"@mui/material\";\n\ninterface IChangeRoomModal {\n title: string;\n open: boolean;\n onClose: () => void;\n onChange: (info: string) => void;\n onSubmit: () => void;\n}\n\nconst style = {\n position: \"absolute\" as \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: 400,\n bgcolor: \"background.paper\",\n boxShadow: 24,\n p: 4,\n justifyContent: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n borderRadius: \"10px\",\n};\n\nexport function ChangeRoomInfoModal({\n title,\n open,\n onClose,\n onChange,\n onSubmit,\n}: IChangeRoomModal) {\n return (\n <Modal\n open={open}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n >\n <Box sx={style}>\n <Typography id=\"modal-modal-title\" variant=\"h6\" component=\"h2\">\n {title}\n </Typography>\n <TextField\n onChange={(e) => onChange(e.target.value)}\n margin=\"normal\"\n id=\"outlined-basic\"\n label=\"Enter new info here\"\n variant=\"outlined\"\n />\n <Button\n onClick={onSubmit}\n style={{\n justifyContent: \"center\",\n alignItems: \"center\",\n display: \"flex\",\n }}\n variant=\"contained\"\n >\n <Typography id=\"modal-modal-description\">Submit</Typography>\n </Button>\n </Box>\n </Modal>\n );\n}\n","import React, { useRef, useState } from \"react\";\nimport {\n Avatar,\n Box,\n CircularProgress,\n IconButton,\n Typography,\n} from \"@mui/material\";\nimport { useHistory } from \"react-router\";\nimport { TActiveRoomFilter, useStoreState } from \"../../store\";\nimport xmpp from \"../../xmpp\";\nimport StarPurple500Icon from \"@mui/icons-material/StarPurple500\";\nimport StarRateIcon from \"@mui/icons-material/StarRate\";\nimport { ROOMS_FILTERS } from \"../../config/config\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport InsertPhotoIcon from \"@mui/icons-material/InsertPhoto\";\nimport { useSnackbar } from \"../../context/SnackbarContext\";\nimport { uploadFile } from \"../../http\";\n\ninterface IRoomAvatar {\n roomJID: string;\n onDeleteRoomClick: () => void;\n}\n\nexport function ChatAvatar({ roomJID, onDeleteRoomClick }: IRoomAvatar) {\n const currentRoomData = useStoreState((store) => store.userChatRooms).find(\n (e) => e?.jid === roomJID\n );\n const updateUserChatRoom = useStoreState((state) => state.updateUserChatRoom);\n const roomRoles = useStoreState((state) => state.roomRoles);\n const { showSnackbar } = useSnackbar();\n const currentRoomRole = roomRoles.find(\n (value) => value.roomJID === currentRoomData?.jid\n )?.role;\n const fileRef = useRef(null);\n const [loading, setLoading] = useState<\"chatIcon\" | false>(false);\n\n const history = useHistory();\n const isFavouriteOrOfficialRoom =\n currentRoomData &&\n (currentRoomData.group === ROOMS_FILTERS.official ||\n currentRoomData.group === ROOMS_FILTERS.favourite);\n const isAllowedToChangeData =\n currentRoomRole === \"moderator\" ||\n currentRoomRole === \"owner\" ||\n currentRoomRole === \"admin\";\n const changeRoomType = (status: TActiveRoomFilter) => {\n const newRoomData = Object.assign({}, currentRoomData);\n newRoomData.group = status;\n updateUserChatRoom(newRoomData);\n };\n const goToChangeBackground = (e: React.MouseEvent<HTMLElement>) => {\n if (isAllowedToChangeData) {\n history.push(\"/changebg/\" + roomJID);\n }\n };\n\n const changeRoomIcon = async (file: File) => {\n const formData = new FormData();\n formData.append(\"files\", file);\n setLoading(\"chatIcon\");\n try {\n const result = await uploadFile(formData);\n const roomAddress = roomJID.split(\"@\")[0];\n xmpp.setRoomImage(\n roomAddress,\n result.data.results[0].location,\n currentRoomData.room_background,\n \"icon\"\n );\n\n let newRoomData = Object.assign({}, currentRoomData);\n newRoomData.room_thumbnail = result.data.results[0].location;\n updateUserChatRoom(newRoomData);\n showSnackbar(\"success\", \"Success! The chat icon was set\");\n } catch (error) {\n console.log(error);\n showSnackbar(\n \"error\",\n \"An error occurred while loading the image. \" +\n \" ( \" +\n error.message +\n \" \" +\n error.response.data +\n \" )\"\n );\n }\n setLoading(false);\n };\n return (\n <div style={{ cursor: \"pointer\" }}>\n <Box\n sx={{\n width: 200,\n height: 200,\n margin: 5,\n backgroundColor: \"primary.dark\",\n justifyContent: \"center\",\n alignItems: \"center\",\n display: \"flex\",\n borderRadius: \"10px\",\n position: \"relative\",\n }}\n >\n <Box\n sx={{\n position: \"absolute\",\n top: 0,\n right: 0,\n display: \"flex\",\n flexDirection: \"column\",\n zIndex: 99999,\n }}\n >\n <IconButton\n sx={{ color: \"white\" }}\n onClick={() =>\n isFavouriteOrOfficialRoom\n ? changeRoomType(\"\")\n : changeRoomType(ROOMS_FILTERS.favourite)\n }\n >\n {isFavouriteOrOfficialRoom ? (\n <StarRateIcon />\n ) : (\n <StarPurple500Icon />\n )}\n </IconButton>\n {isAllowedToChangeData && (\n <IconButton\n sx={{ color: \"white\" }}\n onClick={() => fileRef.current?.click()}\n >\n <input\n type=\"file\"\n name=\"file\"\n id=\"file\"\n onChange={(event) => changeRoomIcon(event.target.files[0])}\n ref={fileRef}\n style={{ display: \"none\" }}\n accept=\"image/*\"\n />\n {loading === \"chatIcon\" ? (\n <CircularProgress style={{ color: \"white\" }} size={24} />\n ) : (\n <InsertPhotoIcon />\n )}\n </IconButton>\n )}\n {isAllowedToChangeData && (\n <IconButton sx={{ color: \"red\" }} onClick={onDeleteRoomClick}>\n <DeleteIcon />\n </IconButton>\n )}\n </Box>\n <IconButton disableRipple onClick={goToChangeBackground}>\n {currentRoomData?.room_thumbnail &&\n currentRoomData?.room_thumbnail !== \"none\" ? (\n <Avatar\n sx={{\n width: 200,\n height: 200,\n borderRadius: \"10px\",\n }}\n variant=\"square\"\n src={currentRoomData.room_thumbnail}\n />\n ) : (\n <Typography color={\"white\"} fontSize={\"120px\"}>\n {currentRoomData?.name[0]}\n </Typography>\n )}\n </IconButton>\n </Box>\n </div>\n );\n}\n","import { useState } from \"react\";\nimport { Box, Container, IconButton, Typography } from \"@mui/material\";\nimport { useHistory, useParams } from \"react-router\";\nimport { useStoreState } from \"../../store\";\nimport xmpp from \"../../xmpp\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport { DeleteDialog } from \"../../components/DeleteDialog\";\nimport { ChangeRoomInfoModal } from \"./ChangeRoomInfoModal\";\nimport { ChatAvatar } from \"./ChatAvatar\";\n\nexport default function ChatDetails() {\n const { roomJID } = useParams<{ roomJID: string }>();\n\n const [newDescription, setNewDescription] = useState(\"\");\n const [newRoomName, setNewRoomName] = useState(\"\");\n const [showDescriptionModal, setShowDescriptionModal] = useState(false);\n const [showDeleteRoomDialog, setShowDeleteRoomDialog] = useState(false);\n const [showRoomRenameModal, setShowRoomRenameModal] = useState(false);\n const currentRoomData = useStoreState((store) => store.userChatRooms).find(\n (e) => e?.jid === roomJID\n );\n const roomRoles = useStoreState((state) => state.roomRoles);\n\n const history = useHistory();\n\n const currentRoomRole = roomRoles.find(\n (value) => value.roomJID === currentRoomData?.jid\n )?.role;\n\n const isAllowedToChangeData =\n currentRoomRole === \"moderator\" ||\n currentRoomRole === \"owner\" ||\n currentRoomRole === \"admin\";\n\n const handleChangeDescription = (newDescription: string) => {\n xmpp.changeRoomDescription(roomJID, newDescription);\n };\n\n const handleChangeRoomName = (newRoomName: string) => {\n xmpp.changeRoomName(roomJID, newRoomName);\n };\n\n const closeRoomDeleteDialog = () => {\n setShowDeleteRoomDialog(false);\n };\n const leaveTheRoom = async () => {\n xmpp.leaveTheRoom(roomJID);\n xmpp.unsubscribe(roomJID);\n closeRoomDeleteDialog();\n history.push(\"/chat/none\");\n };\n\n return (\n <Container\n style={{\n justifyContent: \"center\",\n alignItems: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n <ChatAvatar\n roomJID={roomJID}\n onDeleteRoomClick={() => setShowDeleteRoomDialog(true)}\n />\n <Box flexDirection={\"row\"} display=\"flex\">\n <Typography fontSize={\"20px\"} fontWeight={\"bold\"}>\n {currentRoomData?.name}\n </Typography>\n {isAllowedToChangeData && (\n <IconButton\n onClick={() => setShowRoomRenameModal(true)}\n style={{\n marginLeft: 10,\n }}\n >\n <EditIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n <Container\n style={{\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n display: \"flex\",\n }}\n >\n <Typography fontSize={\"20px\"}>\n {currentRoomData?.description\n ? currentRoomData.description\n : \"No description\"}\n </Typography>\n {isAllowedToChangeData && (\n <IconButton\n onClick={() => setShowDescriptionModal(true)}\n style={{\n marginLeft: 10,\n }}\n >\n <EditIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Container>\n <ChangeRoomInfoModal\n title={\"Set New Chat Name\"}\n open={showRoomRenameModal}\n onClose={() => setShowRoomRenameModal(false)}\n onChange={setNewRoomName}\n onSubmit={() => {\n setShowRoomRenameModal(false);\n handleChangeRoomName(newRoomName);\n }}\n />\n <ChangeRoomInfoModal\n title={\"Set New Chat Description\"}\n open={showDescriptionModal}\n onClose={() => setShowDescriptionModal(false)}\n onChange={setNewDescription}\n onSubmit={() => {\n setShowDescriptionModal(false);\n handleChangeDescription(newDescription);\n }}\n />\n <DeleteDialog\n open={showDeleteRoomDialog}\n title={\"Delete\"}\n description={\"Do you want to delete this room?\"}\n onDeletePress={leaveTheRoom}\n onClose={closeRoomDeleteDialog}\n />\n </Container>\n );\n}\n","import {\n Avatar,\n Box,\n Button,\n IconButton,\n List,\n ListItem,\n Menu,\n MenuItem,\n Typography,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { useHistory, useParams } from \"react-router\";\nimport { TMemberInfo, TUserChatRooms, useStoreState } from \"../../store\";\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\nimport xmpp from \"../../xmpp\";\nimport { walletToUsername, usernameToWallet } from \"../../utils/walletManipulation\";\n\nexport default function MembersList() {\n const { roomJID }: any = useParams();\n const userChatRooms = useStoreState((store) => store.userChatRooms);\n const membersList = useStoreState((store) =>\n store.roomMemberInfo.filter((item) => item.name !== \"none\")\n );\n const user = useStoreState((store) => store.user);\n const currentRoomData = userChatRooms.find((e) => e?.jid === roomJID);\n const [showMenu, setShowMenu] = useState<boolean>(false);\n const [selectedUser, setSelectedUser] = useState<TMemberInfo>();\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const roomRoles = useStoreState((state) => state.roomRoles);\n const history = useHistory();\n\n const currentRoomRole = roomRoles.find(\n (value) => value.roomJID === currentRoomData?.jid\n )?.role;\n\n\n \n const handleMenuClose = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setAnchorEl(null);\n setShowMenu(false);\n };\n\n const handleOnMemberPress = (member: TMemberInfo) => {\n if (member.jid.includes(walletToUsername(user.walletAddress))) {\n history.push(\"/profile/\" + user.walletAddress);\n } else {\n history.push(\"/profile/\" + usernameToWallet(member.jid.split(\"@\")[0]));\n }\n };\n const handleMenuClick = (\n event: React.MouseEvent<HTMLElement>,\n member: TMemberInfo\n ) => {\n event.stopPropagation();\n setSelectedUser(member);\n setAnchorEl(event.currentTarget);\n setShowMenu(true);\n };\n const banUser = (\n member: TMemberInfo,\n event: React.MouseEvent<HTMLElement>\n ) => {\n if (member.ban_status === \"clear\") {\n xmpp.banUserStanza(member.jid, currentRoomData.jid);\n } else {\n xmpp.unbanUserStanza(member.jid, currentRoomData.jid);\n }\n\n xmpp.getRoomMemberInfo(currentRoomData.jid);\n handleMenuClose(event);\n };\n\n return (\n <Box>\n <Typography variant=\"h5\">Members ({membersList.length})</Typography>\n <List sx={{ width: \"100%\", bgcolor: \"background.paper\" }}>\n {membersList.map((member) => {\n return (\n <ListItem\n dense\n onClick={() => handleOnMemberPress(member)}\n style={{ flexDirection: \"row\", alignItems: \"center\" }}\n key={member.jid}\n >\n <Box\n alignItems=\"center\"\n justifyContent=\"center\"\n style={{\n background: \"#003E9C\",\n width: \"40px\",\n height: \"40px\",\n margin: 5,\n display: \"flex\",\n }}\n >\n {member.profile !== \"none\" ? (\n <Avatar\n style={{\n width: \"40px\",\n height: \"40px\",\n }}\n variant=\"square\"\n src={member.profile}\n />\n ) : (\n <Typography style={{ color: \"white\" }}>\n {member.name ? member.name[0] : null}\n </Typography>\n )}\n </Box>\n <Typography>\n {member.jid.includes(walletToUsername(user.walletAddress))\n ? \"You\"\n : member.name}\n </Typography>\n {!member.jid.includes(walletToUsername(user.walletAddress)) &&\n (currentRoomRole === \"moderator\" ||\n currentRoomRole === \"owner\") && (\n <IconButton\n aria-label=\"more\"\n id=\"long-button\"\n aria-haspopup=\"true\"\n onClick={(e) => handleMenuClick(e, member)}\n >\n <MoreVertIcon />\n </IconButton>\n )}\n {member.role === \"owner\" && (\n <Box\n style={{\n border: \"1px solid\",\n borderWidth: 1,\n borderRadius: 5,\n width: \"70px\",\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n marginLeft: 10,\n }}\n >\n <Typography>{member.role}</Typography>\n </Box>\n )}\n {member.ban_status !== \"clear\" ? (\n <Box\n style={{\n border: \"1px solid\",\n borderWidth: 1,\n borderRadius: 5,\n width: \"70px\",\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n marginLeft: 10,\n }}\n >\n <Typography>banned</Typography>\n </Box>\n ) : null}\n <Menu\n id=\"long-menu\"\n MenuListProps={{\n \"aria-labelledby\": \"long-button\",\n }}\n anchorEl={anchorEl}\n open={showMenu}\n onClose={handleMenuClose}\n PaperProps={{\n style: {\n maxHeight: 48 * 4.5,\n width: \"20ch\",\n },\n }}\n >\n <MenuItem onClick={(event) => banUser(member, event)}>\n {member?.ban_status === \"clear\" ? \"Ban\" : \"Unban\"}\n </MenuItem>\n </Menu>\n </ListItem>\n );\n })}\n </List>\n </Box>\n );\n}\n","import React, { useEffect } from \"react\";\nimport { Container } from \"@mui/material\";\nimport ChatDetailCard from \"./ChatDetailCard\";\nimport MembersList from \"./MembersList\";\nimport xmpp from \"../../xmpp\";\nimport { useParams } from \"react-router\";\n\nexport default function ChatRoomDetails() {\n const { roomJID }: any = useParams();\n useEffect(() => {\n xmpp.getRoomMemberInfo(roomJID);\n xmpp.getRoomInfo(roomJID);\n }, []);\n return (\n <Container maxWidth=\"xl\">\n <ChatDetailCard />\n <MembersList />\n </Container>\n );\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'Delete');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\"\n}), 'Edit');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z\"\n}), 'InsertPhoto');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n}), 'MoreVert');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12 8.89.94 3.11h2.82l-2.27 1.62.93 3.01L12 14.79l-2.42 1.84.93-3.01L8.24 12h2.82L12 8.89M12 2l-2.42 8H2l6.17 4.41L5.83 22 12 17.31 18.18 22l-2.35-7.59L22 10h-7.58L12 2z\"\n}), 'StarPurple500');\n\nexports.default = _default;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getDialogContentUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContent', slot);\n}\nconst dialogContentClasses = generateUtilityClasses('MuiDialogContent', ['root', 'dividers']);\nexport default dialogContentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"dividers\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogContentUtilityClass } from './dialogContentClasses';\nimport dialogTitleClasses from '../DialogTitle/dialogTitleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n dividers\n } = ownerState;\n const slots = {\n root: ['root', dividers && 'dividers']\n };\n return composeClasses(slots, getDialogContentUtilityClass, classes);\n};\nconst DialogContentRoot = styled('div', {\n name: 'MuiDialogContent',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dividers && styles.dividers];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n overflowY: 'auto',\n padding: '20px 24px'\n}, ownerState.dividers ? {\n padding: '16px 24px',\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n} : {\n [`.${dialogTitleClasses.root} + &`]: {\n paddingTop: 0\n }\n}));\nconst DialogContent = /*#__PURE__*/React.forwardRef(function DialogContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContent'\n });\n const {\n className,\n dividers = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n dividers\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContent.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display the top and bottom dividers.\n * @default false\n */\n dividers: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContent;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n const {\n className\n } = props,\n ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContentText;"],"names":["DeleteDialog","open","onClose","onDeletePress","loading","title","description","deleteButtonTitle","cancelButtonTitle","id","disabled","onClick","autoFocus","color","style","position","top","left","transform","width","bgcolor","boxShadow","p","justifyContent","display","flexDirection","borderRadius","ChangeRoomInfoModal","onChange","onSubmit","Modal","Box","sx","Typography","variant","component","TextField","e","target","value","margin","label","Button","alignItems","ChatAvatar","roomJID","onDeleteRoomClick","currentRoomData","useStoreState","store","userChatRooms","find","jid","updateUserChatRoom","state","roomRoles","showSnackbar","useSnackbar","currentRoomRole","role","fileRef","useRef","useState","setLoading","history","useHistory","isFavouriteOrOfficialRoom","group","ROOMS_FILTERS","isAllowedToChangeData","changeRoomType","status","newRoomData","Object","assign","changeRoomIcon","file","formData","FormData","append","uploadFile","result","roomAddress","split","xmpp","data","results","location","room_background","room_thumbnail","console","log","message","response","cursor","height","backgroundColor","right","zIndex","IconButton","StarRate","StarPurple500","current","click","type","name","event","files","ref","accept","CircularProgress","size","InsertPhoto","Delete","disableRipple","push","Avatar","src","fontSize","ChatDetails","useParams","newDescription","setNewDescription","newRoomName","setNewRoomName","showDescriptionModal","setShowDescriptionModal","showDeleteRoomDialog","setShowDeleteRoomDialog","showRoomRenameModal","setShowRoomRenameModal","closeRoomDeleteDialog","leaveTheRoom","Container","fontWeight","marginLeft","Edit","handleChangeRoomName","handleChangeDescription","MembersList","membersList","roomMemberInfo","filter","item","user","showMenu","setShowMenu","setSelectedUser","anchorEl","setAnchorEl","handleMenuClose","stopPropagation","length","List","map","member","ListItem","dense","includes","walletToUsername","walletAddress","usernameToWallet","handleOnMemberPress","background","profile","currentTarget","handleMenuClick","MoreVert","border","borderWidth","ban_status","Menu","MenuListProps","PaperProps","maxHeight","MenuItem","banUser","ChatRoomDetails","useEffect","maxWidth","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDialogActionsUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","DialogActionsRoot","styled","overridesResolver","props","styles","ownerState","root","disableSpacing","spacing","_extends","padding","flex","React","inProps","useThemeProps","className","other","_objectWithoutPropertiesLoose","classes","slots","composeClasses","useUtilityClasses","_jsx","clsx","getDialogContentUtilityClass","DialogContentRoot","dividers","theme","WebkitOverflowScrolling","overflowY","borderTop","vars","palette","divider","borderBottom","dialogTitleClasses","paddingTop","getDialogContentTextUtilityClass","DialogContentTextRoot","shouldForwardProp","prop","rootShouldForwardProp","composedClasses"],"sourceRoot":""}