{"version":3,"file":"RoomList.jsx","sourceRoot":"","sources":["RoomList.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Comment, Dropdown, Input, List, Menu } from 'antd';\nimport produce from 'immer';\nimport _ from 'lodash';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { useChannel } from '../hooks/useWebSocket';\nimport { deleteRoom, getRoomList, postCreateRoom } from '../services/chat';\nimport styles from '../style.module.css';\nimport dayjs from '../utils/dayjs';\nimport CreateModal from './ChatModal';\nimport IconFont from './IconFonts';\n\ntype PropType = {\n  username: string;\n  room_id: string;\n  setDrawerVisible: (drawerVisible) => void;\n  chat?: any;\n  onChatSet?: (chat: any) => void;\n  to: (room_id?: string) => void;\n  user_id: string;\n  members: any[];\n};\n\nconst RoomList: React.FC<PropType> = ({\n  username,\n  room_id,\n  setDrawerVisible,\n  chat,\n  onChatSet,\n  to,\n  user_id,\n  members,\n}) => {\n  const [rooms, setRooms] = useState<any[]>([]);\n  const [searchText, setSearchText] = useState<string>('');\n  const [visible, setVisible] = useState<boolean>(false);\n  const [allowUserIds, setAllowUserIds] = useState<string[]>([]);\n  const [indeterminate, setIndeterminate] = React.useState<boolean>(false);\n  const [checkAll, setCheckAll] = React.useState<boolean>(false);\n\n  const onCheckAllChange = (e) => {\n    setAllowUserIds(e.target.checked ? members.filter((s) => s.user_id !== user_id).map((v) => v.user_id) : []);\n    setIndeterminate(false);\n    setCheckAll(e.target.checked);\n  };\n\n  useEffect(() => {\n    getRoomList(username).then((res) => {\n      setRooms(res);\n    });\n  }, [username]);\n\n  useChannel(`chat-room-info-${username}`, username, (obj: Chat.ChannelType) => {\n    if (obj) {\n      const { data } = obj;\n      const newRooms = _.clone(rooms as Chat.RoomInfo[]);\n      switch (data.op) {\n        case 'create': {\n          setRooms(_.concat(newRooms, [data.room]));\n          if (chat?.room?.id === data.id && onChatSet) {\n            onChatSet(\n              produce((draft: any) => {\n                draft.room = { ...chat.room, ...data.room };\n              })\n            );\n          }\n          break;\n        }\n        case 'delete': {\n          setRooms(_.filter(newRooms, (room) => room.id !== data.id));\n          if (chat?.room?.id === data.id && onChatSet) {\n            onChatSet(\n              produce((draft: any) => {\n                draft.room = undefined;\n              })\n            );\n            to();\n          }\n          break;\n        }\n        case 'update': {\n          const roomIndex = _.findIndex(rooms, ['id', data.id]);\n          newRooms[roomIndex] = { ...rooms[roomIndex], ...data.room };\n          setRooms(newRooms);\n          if (chat?.room?.id === data.id && onChatSet) {\n            onChatSet(\n              produce((draft: any) => {\n                draft.room = { ...chat.room, ...data.room };\n              })\n            );\n          }\n          break;\n        }\n        default:\n          break;\n      }\n    }\n  });\n\n  const checked = (v) => {\n    return allowUserIds.includes(v.user_id) || user_id === v.user_id;\n  };\n  const disabled = (v) => {\n    return user_id === v.user_id;\n  };\n\n  const roomTitle = useCallback(\n    (item: Chat.RoomInfo) => {\n      return (\n        item.name ||\n        _.filter(members, (m) => _.includes(item.allow_user_ids, m.user_id))\n          .map((m) => m.user_name)\n          .join('、')\n      );\n    },\n    [members]\n  );\n\n  const lastMessage = useCallback((messages?: Chat.Message[]) => {\n    return messages\n      ? _.reduce(\n          messages,\n          (result, v) => {\n            if (v.type === 'attachment') {\n              return result + (v?.sub_type || '') === 'image' ? '[图片]' : '[文件]';\n            }\n            return result + v.text;\n          },\n          ''\n        )\n      : '暂无消息';\n  }, []);\n\n  return (\n    <>\n      <List<Chat.RoomInfo>\n        dataSource={rooms.filter((v) => v.name?.includes(searchText))}\n        itemLayout=\"horizontal\"\n        header={\n          <Input\n            placeholder=\"搜索\"\n            value={searchText}\n            onChange={(e) => setSearchText(e.target.value)}\n            allowClear\n            suffix={\n              <IconFont\n                icon=\"icon-plus\"\n                className={styles.addRoomIcon}\n                onClick={() => {\n                  setVisible(true);\n                }}\n              />\n            }\n          />\n        }\n        renderItem={(item) => (\n          <Dropdown\n            key={item.id}\n            overlay={\n              <Menu\n                style={{ minWidth: 150 }}\n                items={[\n                  {\n                    key: item.id,\n                    label: '删除',\n                    icon: <IconFont icon=\"icon-delete\" />,\n                    onClick: () => {\n                      deleteRoom(username, item.id);\n                      to();\n                    },\n                  },\n                ]}\n              />\n            }\n            trigger={['contextMenu']}\n          >\n            <li\n              key={item.id}\n              className={`cursor-pointer ${room_id === item.id ? styles.activeRoom : styles.inactiveRoom}`}\n              onClick={() => {\n                to(item.id);\n                setDrawerVisible(false);\n              }}\n            >\n              <Comment\n                author={<div className=\"w-60 truncate text-sm font-medium text-gray-700\">{roomTitle(item)}</div>}\n                content={\n                  <div className=\"flex justify-between\">\n                    <p className=\"overflow-hidden text-ellipsis whitespace-nowrap text-xs font-light\">\n                      {lastMessage(item.last_record?.message)}\n                    </p>\n                    <div className=\"text-xs text-gray-400\">\n                      {item.last_record?.message ? dayjs(item.last_record.created_at).fromNow() : ''}\n                    </div>\n                  </div>\n                }\n                avatar={\n                  <ul className={styles.roomAvatar}>\n                    {item.allow_user_ids &&\n                      members\n                        .filter((v) => item.allow_user_ids.includes(v.user_id) && v.avatar.includes('https'))\n                        .slice(0, 9)\n                        .map((m) => (\n                          <li className={styles.li} key={m.avatar}>\n                            <img src={m.avatar} alt=\"\" title=\"1\" height={40} width={40} />\n                          </li>\n                        ))}\n                  </ul>\n                }\n              />\n            </li>\n          </Dropdown>\n        )}\n      />\n      <CreateModal\n        members={members}\n        onCheckAllChange={onCheckAllChange}\n        indeterminate={indeterminate}\n        checkAll={checkAll}\n        allowUserIds={allowUserIds}\n        visible={visible}\n        setVisible={setVisible}\n        setAllowUserIds={setAllowUserIds}\n        defaultValue=\"\"\n        onOk={(roomName: string) =>\n          user_id != null &&\n          postCreateRoom(username, roomName, allowUserIds.concat([user_id])).then(() => setVisible(false))\n        }\n        disabled={(v) => disabled(v)}\n        checked={(v) => checked(v)}\n        title=\"创建房间\"\n        okText=\"创建\"\n      />\n    </>\n  );\n};\n\nexport default RoomList;\n"]}