dappros/ethora

View on GitHub
client-web/build-prod/static/js/228.9205070d.chunk.js.map

Summary

Maintainability
Test Coverage
{"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":""}