@blocklet/discuss-kit 2.0.69 → 2.0.71

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.
@@ -84,6 +84,13 @@ const commentAPI = {
84
84
  return data;
85
85
  }
86
86
  };
87
+ const useDiscussKitStatus = () => {
88
+ const [available, setAvailable] = react.useState(utils.isDiscussKitRunningOrStarting);
89
+ react.useEffect(() => {
90
+ api.get("/status", { muteError: true }).then(() => setAvailable(true)).catch(() => setAvailable(false));
91
+ }, []);
92
+ return { available };
93
+ };
87
94
  const DiscussKitComments = react.forwardRef(
88
95
  ({
89
96
  displayConnectButton,
@@ -99,18 +106,10 @@ const DiscussKitComments = react.forwardRef(
99
106
  sendIcon,
100
107
  showTopbar
101
108
  }, ref) => {
102
- const [apiAvailable, setApiAvailable] = react.useState(utils.isDiscussKitRunning);
103
109
  discussKitUx.useDefaultApiErrorHandler({
104
- request: api,
105
- // eslint-disable-next-line consistent-return
106
- onError: (e) => {
107
- var _a;
108
- if (((_a = e.response) == null ? void 0 : _a.status) === 404) {
109
- setApiAvailable(false);
110
- return true;
111
- }
112
- }
110
+ request: api
113
111
  });
112
+ const { available } = useDiscussKitStatus();
114
113
  const { session } = react.useContext(Session.SessionContext) || {};
115
114
  const { state, sort, add, updateCommentState, interactive, findById } = discussKitUx.useCommentsContext();
116
115
  const { total, order, initialized } = state;
@@ -149,7 +148,7 @@ const DiscussKitComments = react.forwardRef(
149
148
  },
150
149
  [object.id, state]
151
150
  );
152
- if (!apiAvailable) {
151
+ if (!available) {
153
152
  return /* @__PURE__ */ jsxRuntime.jsxs(material.Alert, { severity: "info", children: [
154
153
  /* @__PURE__ */ jsxRuntime.jsx(material.AlertTitle, { children: t("apiUnavailable.title") }),
155
154
  t("apiUnavailable.desc")
@@ -20,10 +20,12 @@ const discussKitService = (_b = (_a = window.blocklet) == null ? void 0 : _a.com
20
20
  const discussKitPrefix = discussKitService ? joinUrl(discussKitService.mountPoint, "/") : "";
21
21
  const discussKitApiPrefix = joinUrl(discussKitPrefix, "/api/");
22
22
  const isDiscussKitRunning = (discussKitService == null ? void 0 : discussKitService.status) === "running";
23
+ const isDiscussKitRunningOrStarting = isDiscussKitRunning || (discussKitService == null ? void 0 : discussKitService.status) === "starting";
23
24
  exports.discussKitApiPrefix = discussKitApiPrefix;
24
25
  exports.discussKitPrefix = discussKitPrefix;
25
26
  exports.discussKitService = discussKitService;
26
27
  exports.isDiscussKitRunning = isDiscussKitRunning;
28
+ exports.isDiscussKitRunningOrStarting = isDiscussKitRunningOrStarting;
27
29
  exports.minDelay = minDelay;
28
30
  exports.protectLogin = protectLogin;
29
31
  exports.sleep = sleep;
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import { forwardRef, useState, useContext, useRef, useMemo, useEffect } from "react";
2
+ import { forwardRef, useContext, useRef, useMemo, useEffect, useState } from "react";
3
3
  import { styled } from "@arcblock/ux/lib/Theme";
4
4
  import PropTypes from "prop-types";
5
5
  import SessionManager from "@arcblock/did-connect/lib/SessionManager";
@@ -12,7 +12,7 @@ import { useDefaultApiErrorHandler, useCommentsContext, useSubscription, GithubR
12
12
  import { useRequest } from "ahooks";
13
13
  import ErrorFallback from "./components/error-fallback";
14
14
  import { translations } from "./locales";
15
- import { isDiscussKitRunning, discussKitPrefix } from "./lib/utils";
15
+ import { discussKitPrefix, isDiscussKitRunningOrStarting } from "./lib/utils";
16
16
  import api, { fetchRatings } from "./api";
17
17
  const useAsyncRetry = (fn, deps = []) => {
18
18
  const state = useRequest(fn, { refreshDeps: deps });
@@ -83,6 +83,13 @@ const commentAPI = {
83
83
  return data;
84
84
  }
85
85
  };
86
+ const useDiscussKitStatus = () => {
87
+ const [available, setAvailable] = useState(isDiscussKitRunningOrStarting);
88
+ useEffect(() => {
89
+ api.get("/status", { muteError: true }).then(() => setAvailable(true)).catch(() => setAvailable(false));
90
+ }, []);
91
+ return { available };
92
+ };
86
93
  const DiscussKitComments = forwardRef(
87
94
  ({
88
95
  displayConnectButton,
@@ -98,18 +105,10 @@ const DiscussKitComments = forwardRef(
98
105
  sendIcon,
99
106
  showTopbar
100
107
  }, ref) => {
101
- const [apiAvailable, setApiAvailable] = useState(isDiscussKitRunning);
102
108
  useDefaultApiErrorHandler({
103
- request: api,
104
- // eslint-disable-next-line consistent-return
105
- onError: (e) => {
106
- var _a;
107
- if (((_a = e.response) == null ? void 0 : _a.status) === 404) {
108
- setApiAvailable(false);
109
- return true;
110
- }
111
- }
109
+ request: api
112
110
  });
111
+ const { available } = useDiscussKitStatus();
113
112
  const { session } = useContext(SessionContext) || {};
114
113
  const { state, sort, add, updateCommentState, interactive, findById } = useCommentsContext();
115
114
  const { total, order, initialized } = state;
@@ -148,7 +147,7 @@ const DiscussKitComments = forwardRef(
148
147
  },
149
148
  [object.id, state]
150
149
  );
151
- if (!apiAvailable) {
150
+ if (!available) {
152
151
  return /* @__PURE__ */ jsxs(Alert, { severity: "info", children: [
153
152
  /* @__PURE__ */ jsx(AlertTitle, { children: t("apiUnavailable.title") }),
154
153
  t("apiUnavailable.desc")
@@ -18,11 +18,13 @@ const discussKitService = (_b = (_a = window.blocklet) == null ? void 0 : _a.com
18
18
  const discussKitPrefix = discussKitService ? joinUrl(discussKitService.mountPoint, "/") : "";
19
19
  const discussKitApiPrefix = joinUrl(discussKitPrefix, "/api/");
20
20
  const isDiscussKitRunning = (discussKitService == null ? void 0 : discussKitService.status) === "running";
21
+ const isDiscussKitRunningOrStarting = isDiscussKitRunning || (discussKitService == null ? void 0 : discussKitService.status) === "starting";
21
22
  export {
22
23
  discussKitApiPrefix,
23
24
  discussKitPrefix,
24
25
  discussKitService,
25
26
  isDiscussKitRunning,
27
+ isDiscussKitRunningOrStarting,
26
28
  minDelay,
27
29
  protectLogin,
28
30
  sleep
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/discuss-kit",
3
- "version": "2.0.69",
3
+ "version": "2.0.71",
4
4
  "description": "A react component for Discuss Kit blocklet.",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "module": "./lib/es/index.js",
@@ -35,8 +35,8 @@
35
35
  "license": "MIT",
36
36
  "dependencies": {
37
37
  "@arcblock/ws": "^1.18.126",
38
- "@blocklet/discuss-kit-ux": "2.0.69",
39
- "@blocklet/editor": "2.0.69",
38
+ "@blocklet/discuss-kit-ux": "2.0.71",
39
+ "@blocklet/editor": "2.0.71",
40
40
  "@blocklet/js-sdk": "^1.16.28",
41
41
  "@emotion/react": "^11.10.5",
42
42
  "@emotion/styled": "^11.10.5",
@@ -78,5 +78,5 @@
78
78
  "vite-plugin-build": "^0.10.0",
79
79
  "vite-plugin-svgr": "^4.2.0"
80
80
  },
81
- "gitHead": "faa50ff5762bbc8491c56c7abfa167abcbf59315"
81
+ "gitHead": "4d10bc0c2b3a9ff3f449c2f0c6d540611c490b85"
82
82
  }