@blocklet/discuss-kit-ux 1.6.153 → 1.6.154
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -28,6 +28,7 @@ interface ChatContextValue extends ChatState {
|
|
|
28
28
|
hasUnreadMessages: (chat: ChatType) => boolean;
|
|
29
29
|
deleteMessage: (chatId: string, messageId: string) => Promise<void>;
|
|
30
30
|
refresh: () => Promise<void>;
|
|
31
|
+
orderedChats: ChatType[];
|
|
31
32
|
}
|
|
32
33
|
export declare const useChatContext: () => ChatContextValue;
|
|
33
34
|
export declare function ChatProvider({ client, activeChatId, children }: ChatProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,7 +4,7 @@ import { OnContentChangePlugin } from "@blocklet/editor/lib/ext/OnContentChangeP
|
|
|
4
4
|
import { CtrlsShortcutPlugin } from "@blocklet/editor/lib/ext/ShortcutPlugin";
|
|
5
5
|
import { SafeAreaPlugin } from "@blocklet/editor/lib/ext/SafeAreaPlugin";
|
|
6
6
|
import { lazy } from "react";
|
|
7
|
-
import { i as inferInitialEditorState, I as ImagePathFixerPlugin, V as VideoPathFixerPlugin, a as isEmptyContent, s as stringify, g as getExcerptSync } from "./index-
|
|
7
|
+
import { i as inferInitialEditorState, I as ImagePathFixerPlugin, V as VideoPathFixerPlugin, a as isEmptyContent, s as stringify, g as getExcerptSync } from "./index-jj8c8x1n.mjs";
|
|
8
8
|
import "@blocklet/labels";
|
|
9
9
|
import "@mui/material/styles";
|
|
10
10
|
import "@mui/material/Box";
|
|
@@ -58,6 +58,7 @@ import "dayjs/plugin/relativeTime";
|
|
|
58
58
|
import "mitt";
|
|
59
59
|
import "@mui/material/CircularProgress";
|
|
60
60
|
import "react-helmet";
|
|
61
|
+
import "react-flip-toolkit";
|
|
61
62
|
import "@mui/material/Fab";
|
|
62
63
|
import "lodash/debounce";
|
|
63
64
|
import "@mui/material/TextField";
|
|
@@ -61,6 +61,7 @@ import relativeTime from "dayjs/plugin/relativeTime";
|
|
|
61
61
|
import mitt from "mitt";
|
|
62
62
|
import CircularProgress from "@mui/material/CircularProgress";
|
|
63
63
|
import { Helmet } from "react-helmet";
|
|
64
|
+
import { Flipper, Flipped } from "react-flip-toolkit";
|
|
64
65
|
import Fab from "@mui/material/Fab";
|
|
65
66
|
import debounce from "lodash/debounce";
|
|
66
67
|
import TextField from "@mui/material/TextField";
|
|
@@ -3368,6 +3369,9 @@ function ChatProvider({ client: client2, activeChatId, children }) {
|
|
|
3368
3369
|
const navigate = useNavigate();
|
|
3369
3370
|
const { session } = useSessionContext();
|
|
3370
3371
|
const currentUser = session == null ? void 0 : session.user;
|
|
3372
|
+
const orderedChats = useMemo(() => {
|
|
3373
|
+
return orderBy(state.chats, (x) => x.lastMessageAt || "", "desc");
|
|
3374
|
+
}, [state.chats]);
|
|
3371
3375
|
const hasUnreadMessages = ({ lastMessageAt, lastAckTime }) => {
|
|
3372
3376
|
if (lastMessageAt && (!lastAckTime || lastMessageAt > lastAckTime)) {
|
|
3373
3377
|
return true;
|
|
@@ -3575,13 +3579,14 @@ function ChatProvider({ client: client2, activeChatId, children }) {
|
|
|
3575
3579
|
deleteChannel,
|
|
3576
3580
|
deleteMessage,
|
|
3577
3581
|
hasUnreadMessages,
|
|
3578
|
-
refresh
|
|
3582
|
+
refresh,
|
|
3583
|
+
orderedChats
|
|
3579
3584
|
};
|
|
3580
3585
|
}, [state, client2, currentUser == null ? void 0 : currentUser.did]);
|
|
3581
3586
|
return /* @__PURE__ */ jsx(ChatContext.Provider, { value, children });
|
|
3582
3587
|
}
|
|
3583
3588
|
function ChatList(props) {
|
|
3584
|
-
const {
|
|
3589
|
+
const { orderedChats, activeChatId, setActiveChat, getOppositeUser, hasUnreadMessages } = useChatContext();
|
|
3585
3590
|
const renderItem = (chat) => {
|
|
3586
3591
|
if (chat.type === "notification") {
|
|
3587
3592
|
return /* @__PURE__ */ jsx(SystemUser, { name: "Notification" });
|
|
@@ -3598,10 +3603,10 @@ function ChatList(props) {
|
|
|
3598
3603
|
}
|
|
3599
3604
|
return null;
|
|
3600
3605
|
};
|
|
3601
|
-
return /* @__PURE__ */ jsx(Box, { ...props, children:
|
|
3606
|
+
return /* @__PURE__ */ jsx(Box, { ...props, children: /* @__PURE__ */ jsx(Flipper, { flipKey: orderedChats.map((x) => x.id).join(""), children: orderedChats.map((chat) => {
|
|
3602
3607
|
const isActiveChat = activeChatId === chat.id;
|
|
3603
3608
|
const _hasUnreadMessages = hasUnreadMessages(chat) && (chat.type !== "channel" || chat.hasJoined);
|
|
3604
|
-
return /* @__PURE__ */ jsxs(
|
|
3609
|
+
return /* @__PURE__ */ jsx(Flipped, { flipId: chat.id, children: /* @__PURE__ */ jsxs(
|
|
3605
3610
|
Box,
|
|
3606
3611
|
{
|
|
3607
3612
|
sx: {
|
|
@@ -3633,10 +3638,9 @@ function ChatList(props) {
|
|
|
3633
3638
|
}
|
|
3634
3639
|
)
|
|
3635
3640
|
]
|
|
3636
|
-
}
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
}) });
|
|
3641
|
+
}
|
|
3642
|
+
) }, chat.id);
|
|
3643
|
+
}) }) });
|
|
3640
3644
|
}
|
|
3641
3645
|
function Message({ message, showTime = true, ...rest }) {
|
|
3642
3646
|
var _a2;
|
|
@@ -4558,7 +4562,7 @@ function Pagination({ page, size = 20, total, onChange, routerMode = true, ...re
|
|
|
4558
4562
|
}
|
|
4559
4563
|
);
|
|
4560
4564
|
}
|
|
4561
|
-
const Editor = lazy(() => import("./editor-
|
|
4565
|
+
const Editor = lazy(() => import("./editor-RcBS7Z7c.mjs"));
|
|
4562
4566
|
function LazyEditor(props) {
|
|
4563
4567
|
const fallback = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4564
4568
|
/* @__PURE__ */ jsx(Skeleton, {}),
|
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "@blocklet/labels";
|
|
2
|
-
import { N, j, Q, A, h, a8, B, y, F, z, H, U, T, W, Y, o, C, q, v, x, a0, a1, ac, a3, K, L, D, ab, aa, E, G, c, b, a9, M, P, aj, n, m, a7, R, S, a4, k, Z, $, ad, ag, af, ah, ak, J, al, l, p, r, t, d, a5, O, e, X, w, a2, a6, u, ai, am, _, ae, f } from "./index-
|
|
2
|
+
import { N, j, Q, A, h, a8, B, y, F, z, H, U, T, W, Y, o, C, q, v, x, a0, a1, ac, a3, K, L, D, ab, aa, E, G, c, b, a9, M, P, aj, n, m, a7, R, S, a4, k, Z, $, ad, ag, af, ah, ak, J, al, l, p, r, t, d, a5, O, e, X, w, a2, a6, u, ai, am, _, ae, f } from "./index-jj8c8x1n.mjs";
|
|
3
3
|
import "react/jsx-runtime";
|
|
4
4
|
import "react";
|
|
5
5
|
import "@mui/material/Box";
|
|
@@ -55,6 +55,7 @@ import "dayjs/plugin/relativeTime";
|
|
|
55
55
|
import "mitt";
|
|
56
56
|
import "@mui/material/CircularProgress";
|
|
57
57
|
import "react-helmet";
|
|
58
|
+
import "react-flip-toolkit";
|
|
58
59
|
import "@mui/material/Fab";
|
|
59
60
|
import "lodash/debounce";
|
|
60
61
|
import "@mui/material/TextField";
|
package/dist/index.umd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
(function(global, factory) {
|
|
2
|
-
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@blocklet/labels"), require("react/jsx-runtime"), require("@mui/material/styles"), require("react"), require("@mui/material/Box"), require("@arcblock/ux/lib/Theme"), require("lodash/isNil"), require("@blocklet/editor/lib/config"), require("@lexical/react/LexicalComposerContext"), require("lexical"), require("ahooks"), require("@mui/lab/LoadingButton"), require("@mui/icons-material"), require("@arcblock/ux/lib/Locale/context"), require("@mui/material/Alert"), require("lodash/isBoolean"), require("@mui/material/Button"), require("@arcblock/did-connect/lib/Avatar"), require("@mui/material/useMediaQuery"), require("@arcblock/ux/lib/DID"), require("@mui/material/Tooltip"), require("react-router-dom"), require("@arcblock/ux/lib/RelativeTime"), require("@mui/material/Chip"), require("@mui/material/Stack"), require("lodash/groupBy"), require("lodash/flatMap"), require("lodash/uniqBy"), require("lodash/trim"), require("@mui/material/Avatar"), require("@mui/icons-material/BrokenImage"), require("@iconify/react"), require("@arcblock/ux/lib/Empty"), require("@mui/material/colors"), require("@arcblock/did-connect/lib/Session"), require("@mui/material"), require("@arcblock/did-connect/lib/Address"), require("@blocklet/editor/lib/ext/CheckboxPlugin"), require("@mui/material/MenuItem"), require("clsx"), require("@mui/material/IconButton"), require("@mui/material/Menu"), require("@arcblock/ux/lib/Dialog"), require("lodash/orderBy"), require("@mui/material/Typography"), require("@mui/material/Skeleton"), require("url-join"), require("react-dom"), require("dayjs"), require("dayjs/plugin/relativeTime"), require("mitt"), require("@mui/material/CircularProgress"), require("react-helmet"), require("@mui/material/Fab"), require("lodash/debounce"), require("@mui/material/TextField"), require("axios"), require("@arcblock/ux/lib/Toast"), require("@mui/material/Pagination"), require("unstated-next"), require("js-cookie"), require("@arcblock/ws"), require("@blocklet/editor/lib/ext/OnContentChangePlugin"), require("@blocklet/editor/lib/ext/ShortcutPlugin"), require("@blocklet/editor/lib/ext/SafeAreaPlugin"), require("@lexical/text"), require("@blocklet/editor/lib/main/nodes/ImageNode"), require("@blocklet/editor/lib/ext/VideoPlugin/VideoNode")) : typeof define === "function" && define.amd ? define(["exports", "@blocklet/labels", "react/jsx-runtime", "@mui/material/styles", "react", "@mui/material/Box", "@arcblock/ux/lib/Theme", "lodash/isNil", "@blocklet/editor/lib/config", "@lexical/react/LexicalComposerContext", "lexical", "ahooks", "@mui/lab/LoadingButton", "@mui/icons-material", "@arcblock/ux/lib/Locale/context", "@mui/material/Alert", "lodash/isBoolean", "@mui/material/Button", "@arcblock/did-connect/lib/Avatar", "@mui/material/useMediaQuery", "@arcblock/ux/lib/DID", "@mui/material/Tooltip", "react-router-dom", "@arcblock/ux/lib/RelativeTime", "@mui/material/Chip", "@mui/material/Stack", "lodash/groupBy", "lodash/flatMap", "lodash/uniqBy", "lodash/trim", "@mui/material/Avatar", "@mui/icons-material/BrokenImage", "@iconify/react", "@arcblock/ux/lib/Empty", "@mui/material/colors", "@arcblock/did-connect/lib/Session", "@mui/material", "@arcblock/did-connect/lib/Address", "@blocklet/editor/lib/ext/CheckboxPlugin", "@mui/material/MenuItem", "clsx", "@mui/material/IconButton", "@mui/material/Menu", "@arcblock/ux/lib/Dialog", "lodash/orderBy", "@mui/material/Typography", "@mui/material/Skeleton", "url-join", "react-dom", "dayjs", "dayjs/plugin/relativeTime", "mitt", "@mui/material/CircularProgress", "react-helmet", "@mui/material/Fab", "lodash/debounce", "@mui/material/TextField", "axios", "@arcblock/ux/lib/Toast", "@mui/material/Pagination", "unstated-next", "js-cookie", "@arcblock/ws", "@blocklet/editor/lib/ext/OnContentChangePlugin", "@blocklet/editor/lib/ext/ShortcutPlugin", "@blocklet/editor/lib/ext/SafeAreaPlugin", "@lexical/text", "@blocklet/editor/lib/main/nodes/ImageNode", "@blocklet/editor/lib/ext/VideoPlugin/VideoNode"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.DiscussKitComponents = {}, global.labels, global.jsxRuntime, global.styles, global.react, global.Box, global.Theme, global.isNil, global.config, global.LexicalComposerContext, global.lexical$1, global.ahooks, global.LoadingButton, global.iconsMaterial, global.context, global.Alert, global.isBoolean, global.Button, global.DidAvatar, global.useMediaQuery, global.DID, global.Tooltip, global.reactRouterDom, global.UxRelativeTime, global.Chip, global.Stack, global.groupBy, global.flatMap, global.uniqBy, global.trim, global.Avatar$1, global.BrokenImageIcon, global.react$1, global.Empty$1, global.colors, global.Session, global.material, global.DIDAddress, global.CheckboxPlugin, global.MuiMenuItem, global.clsx, global.IconButton$1, global.MuiMenu, global.Dialog, global.orderBy, global.Typography, global.Skeleton, global.joinUrl, global.reactDom, global.dayjs, global.relativeTime, global.mitt, global.CircularProgress, global.reactHelmet, global.Fab, global.debounce, global.TextField, global.axios, global.Toast, global.MuiPagination, global.unstatedNext, global.Cookie, global.ws, global.OnContentChangePlugin, global.ShortcutPlugin, global.SafeAreaPlugin, global.text, global.ImageNode, global.VideoNode));
|
|
3
|
-
})(this, function(exports2, labels, jsxRuntime, styles, react, Box, Theme, isNil, config, LexicalComposerContext, lexical$1, ahooks, LoadingButton, iconsMaterial, context, Alert, isBoolean, Button, DidAvatar, useMediaQuery, DID, Tooltip, reactRouterDom, UxRelativeTime, Chip, Stack, groupBy, flatMap, uniqBy, trim, Avatar$1, BrokenImageIcon, react$1, Empty$1, colors, Session, material, DIDAddress, CheckboxPlugin, MuiMenuItem, clsx, IconButton$1, MuiMenu, Dialog, orderBy, Typography, Skeleton, joinUrl, reactDom, dayjs, relativeTime, mitt, CircularProgress, reactHelmet, Fab, debounce, TextField, axios, Toast, MuiPagination, unstatedNext, Cookie, ws, OnContentChangePlugin, ShortcutPlugin, SafeAreaPlugin, text, ImageNode, VideoNode) {
|
|
2
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@blocklet/labels"), require("react/jsx-runtime"), require("@mui/material/styles"), require("react"), require("@mui/material/Box"), require("@arcblock/ux/lib/Theme"), require("lodash/isNil"), require("@blocklet/editor/lib/config"), require("@lexical/react/LexicalComposerContext"), require("lexical"), require("ahooks"), require("@mui/lab/LoadingButton"), require("@mui/icons-material"), require("@arcblock/ux/lib/Locale/context"), require("@mui/material/Alert"), require("lodash/isBoolean"), require("@mui/material/Button"), require("@arcblock/did-connect/lib/Avatar"), require("@mui/material/useMediaQuery"), require("@arcblock/ux/lib/DID"), require("@mui/material/Tooltip"), require("react-router-dom"), require("@arcblock/ux/lib/RelativeTime"), require("@mui/material/Chip"), require("@mui/material/Stack"), require("lodash/groupBy"), require("lodash/flatMap"), require("lodash/uniqBy"), require("lodash/trim"), require("@mui/material/Avatar"), require("@mui/icons-material/BrokenImage"), require("@iconify/react"), require("@arcblock/ux/lib/Empty"), require("@mui/material/colors"), require("@arcblock/did-connect/lib/Session"), require("@mui/material"), require("@arcblock/did-connect/lib/Address"), require("@blocklet/editor/lib/ext/CheckboxPlugin"), require("@mui/material/MenuItem"), require("clsx"), require("@mui/material/IconButton"), require("@mui/material/Menu"), require("@arcblock/ux/lib/Dialog"), require("lodash/orderBy"), require("@mui/material/Typography"), require("@mui/material/Skeleton"), require("url-join"), require("react-dom"), require("dayjs"), require("dayjs/plugin/relativeTime"), require("mitt"), require("@mui/material/CircularProgress"), require("react-helmet"), require("react-flip-toolkit"), require("@mui/material/Fab"), require("lodash/debounce"), require("@mui/material/TextField"), require("axios"), require("@arcblock/ux/lib/Toast"), require("@mui/material/Pagination"), require("unstated-next"), require("js-cookie"), require("@arcblock/ws"), require("@blocklet/editor/lib/ext/OnContentChangePlugin"), require("@blocklet/editor/lib/ext/ShortcutPlugin"), require("@blocklet/editor/lib/ext/SafeAreaPlugin"), require("@lexical/text"), require("@blocklet/editor/lib/main/nodes/ImageNode"), require("@blocklet/editor/lib/ext/VideoPlugin/VideoNode")) : typeof define === "function" && define.amd ? define(["exports", "@blocklet/labels", "react/jsx-runtime", "@mui/material/styles", "react", "@mui/material/Box", "@arcblock/ux/lib/Theme", "lodash/isNil", "@blocklet/editor/lib/config", "@lexical/react/LexicalComposerContext", "lexical", "ahooks", "@mui/lab/LoadingButton", "@mui/icons-material", "@arcblock/ux/lib/Locale/context", "@mui/material/Alert", "lodash/isBoolean", "@mui/material/Button", "@arcblock/did-connect/lib/Avatar", "@mui/material/useMediaQuery", "@arcblock/ux/lib/DID", "@mui/material/Tooltip", "react-router-dom", "@arcblock/ux/lib/RelativeTime", "@mui/material/Chip", "@mui/material/Stack", "lodash/groupBy", "lodash/flatMap", "lodash/uniqBy", "lodash/trim", "@mui/material/Avatar", "@mui/icons-material/BrokenImage", "@iconify/react", "@arcblock/ux/lib/Empty", "@mui/material/colors", "@arcblock/did-connect/lib/Session", "@mui/material", "@arcblock/did-connect/lib/Address", "@blocklet/editor/lib/ext/CheckboxPlugin", "@mui/material/MenuItem", "clsx", "@mui/material/IconButton", "@mui/material/Menu", "@arcblock/ux/lib/Dialog", "lodash/orderBy", "@mui/material/Typography", "@mui/material/Skeleton", "url-join", "react-dom", "dayjs", "dayjs/plugin/relativeTime", "mitt", "@mui/material/CircularProgress", "react-helmet", "react-flip-toolkit", "@mui/material/Fab", "lodash/debounce", "@mui/material/TextField", "axios", "@arcblock/ux/lib/Toast", "@mui/material/Pagination", "unstated-next", "js-cookie", "@arcblock/ws", "@blocklet/editor/lib/ext/OnContentChangePlugin", "@blocklet/editor/lib/ext/ShortcutPlugin", "@blocklet/editor/lib/ext/SafeAreaPlugin", "@lexical/text", "@blocklet/editor/lib/main/nodes/ImageNode", "@blocklet/editor/lib/ext/VideoPlugin/VideoNode"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.DiscussKitComponents = {}, global.labels, global.jsxRuntime, global.styles, global.react, global.Box, global.Theme, global.isNil, global.config, global.LexicalComposerContext, global.lexical$1, global.ahooks, global.LoadingButton, global.iconsMaterial, global.context, global.Alert, global.isBoolean, global.Button, global.DidAvatar, global.useMediaQuery, global.DID, global.Tooltip, global.reactRouterDom, global.UxRelativeTime, global.Chip, global.Stack, global.groupBy, global.flatMap, global.uniqBy, global.trim, global.Avatar$1, global.BrokenImageIcon, global.react$1, global.Empty$1, global.colors, global.Session, global.material, global.DIDAddress, global.CheckboxPlugin, global.MuiMenuItem, global.clsx, global.IconButton$1, global.MuiMenu, global.Dialog, global.orderBy, global.Typography, global.Skeleton, global.joinUrl, global.reactDom, global.dayjs, global.relativeTime, global.mitt, global.CircularProgress, global.reactHelmet, global.reactFlipToolkit, global.Fab, global.debounce, global.TextField, global.axios, global.Toast, global.MuiPagination, global.unstatedNext, global.Cookie, global.ws, global.OnContentChangePlugin, global.ShortcutPlugin, global.SafeAreaPlugin, global.text, global.ImageNode, global.VideoNode));
|
|
3
|
+
})(this, function(exports2, labels, jsxRuntime, styles, react, Box, Theme, isNil, config, LexicalComposerContext, lexical$1, ahooks, LoadingButton, iconsMaterial, context, Alert, isBoolean, Button, DidAvatar, useMediaQuery, DID, Tooltip, reactRouterDom, UxRelativeTime, Chip, Stack, groupBy, flatMap, uniqBy, trim, Avatar$1, BrokenImageIcon, react$1, Empty$1, colors, Session, material, DIDAddress, CheckboxPlugin, MuiMenuItem, clsx, IconButton$1, MuiMenu, Dialog, orderBy, Typography, Skeleton, joinUrl, reactDom, dayjs, relativeTime, mitt, CircularProgress, reactHelmet, reactFlipToolkit, Fab, debounce, TextField, axios, Toast, MuiPagination, unstatedNext, Cookie, ws, OnContentChangePlugin, ShortcutPlugin, SafeAreaPlugin, text, ImageNode, VideoNode) {
|
|
4
4
|
"use strict";var __defProp = Object.defineProperty;
|
|
5
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
6
|
var __publicField = (obj, key, value) => {
|
|
@@ -3307,6 +3307,9 @@ var __publicField = (obj, key, value) => {
|
|
|
3307
3307
|
const navigate = reactRouterDom.useNavigate();
|
|
3308
3308
|
const { session } = useSessionContext();
|
|
3309
3309
|
const currentUser = session == null ? void 0 : session.user;
|
|
3310
|
+
const orderedChats = react.useMemo(() => {
|
|
3311
|
+
return orderBy(state.chats, (x) => x.lastMessageAt || "", "desc");
|
|
3312
|
+
}, [state.chats]);
|
|
3310
3313
|
const hasUnreadMessages = ({ lastMessageAt, lastAckTime }) => {
|
|
3311
3314
|
if (lastMessageAt && (!lastAckTime || lastMessageAt > lastAckTime)) {
|
|
3312
3315
|
return true;
|
|
@@ -3514,13 +3517,14 @@ var __publicField = (obj, key, value) => {
|
|
|
3514
3517
|
deleteChannel,
|
|
3515
3518
|
deleteMessage,
|
|
3516
3519
|
hasUnreadMessages,
|
|
3517
|
-
refresh
|
|
3520
|
+
refresh,
|
|
3521
|
+
orderedChats
|
|
3518
3522
|
};
|
|
3519
3523
|
}, [state, client2, currentUser == null ? void 0 : currentUser.did]);
|
|
3520
3524
|
return /* @__PURE__ */ jsxRuntime.jsx(ChatContext.Provider, { value, children });
|
|
3521
3525
|
}
|
|
3522
3526
|
function ChatList(props) {
|
|
3523
|
-
const {
|
|
3527
|
+
const { orderedChats, activeChatId, setActiveChat, getOppositeUser, hasUnreadMessages } = useChatContext();
|
|
3524
3528
|
const renderItem = (chat) => {
|
|
3525
3529
|
if (chat.type === "notification") {
|
|
3526
3530
|
return /* @__PURE__ */ jsxRuntime.jsx(SystemUser, { name: "Notification" });
|
|
@@ -3537,10 +3541,10 @@ var __publicField = (obj, key, value) => {
|
|
|
3537
3541
|
}
|
|
3538
3542
|
return null;
|
|
3539
3543
|
};
|
|
3540
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...props, children:
|
|
3544
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(reactFlipToolkit.Flipper, { flipKey: orderedChats.map((x) => x.id).join(""), children: orderedChats.map((chat) => {
|
|
3541
3545
|
const isActiveChat = activeChatId === chat.id;
|
|
3542
3546
|
const _hasUnreadMessages = hasUnreadMessages(chat) && (chat.type !== "channel" || chat.hasJoined);
|
|
3543
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3547
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactFlipToolkit.Flipped, { flipId: chat.id, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3544
3548
|
Box,
|
|
3545
3549
|
{
|
|
3546
3550
|
sx: {
|
|
@@ -3572,10 +3576,9 @@ var __publicField = (obj, key, value) => {
|
|
|
3572
3576
|
}
|
|
3573
3577
|
)
|
|
3574
3578
|
]
|
|
3575
|
-
}
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
}) });
|
|
3579
|
+
}
|
|
3580
|
+
) }, chat.id);
|
|
3581
|
+
}) }) });
|
|
3579
3582
|
}
|
|
3580
3583
|
function Message({ message, showTime = true, ...rest }) {
|
|
3581
3584
|
var _a2;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blocklet/discuss-kit-ux",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.154",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist"
|
|
6
6
|
],
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@arcblock/ws": "^1.18.110",
|
|
32
|
-
"@blocklet/editor": "1.6.
|
|
33
|
-
"@blocklet/labels": "1.6.
|
|
32
|
+
"@blocklet/editor": "1.6.154",
|
|
33
|
+
"@blocklet/labels": "1.6.154",
|
|
34
34
|
"@blocklet/uploader": "^0.0.73",
|
|
35
35
|
"@emotion/css": "^11.10.5",
|
|
36
36
|
"@emotion/react": "^11.10.5",
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"babel-loader": "^8.3.0",
|
|
84
84
|
"react": "^18.2.0",
|
|
85
85
|
"react-dom": "^18.2.0",
|
|
86
|
+
"react-flip-toolkit": "^7.1.0",
|
|
86
87
|
"rollup-plugin-node-externals": "^5.1.3",
|
|
87
88
|
"typescript": "^4.6.4",
|
|
88
89
|
"unplugin-icons": "^0.14.14",
|
|
@@ -93,5 +94,5 @@
|
|
|
93
94
|
"resolutions": {
|
|
94
95
|
"react": "^18.2.0"
|
|
95
96
|
},
|
|
96
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "b4845c2bc6c5d9a61e1d97a3576acb60c371c060"
|
|
97
98
|
}
|