@financial-times/qanda-ui 0.0.1-beta.10 → 0.0.1-beta.12

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.
@@ -10,6 +10,8 @@ function CalendarListItem({ name, link }) {
10
10
  storyId,
11
11
  useStaging,
12
12
  commentsAPIUrl,
13
+ // Calendar is only relevant for pre-live Q&A
14
+ status: 'pre-live',
13
15
  });
14
16
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: data?.startDateTime && data?.endDateTime && ((0, jsx_runtime_1.jsx)("li", { className: 'live-qa-calendar-list__item', role: "presentation", "data-testid": "live-qa-calendar-list-item", children: link({
15
17
  title,
@@ -17,6 +17,9 @@ function Calendar() {
17
17
  storyId,
18
18
  useStaging,
19
19
  commentsAPIUrl,
20
+ // Calendar is only relevant for pre-live Q&A
21
+ // so we can hardcode the status here
22
+ status: 'pre-live',
20
23
  });
21
24
  (0, react_1.useEffect)(() => {
22
25
  const handleClickOutside = (event) => {
@@ -29,6 +29,9 @@ function CountdownTimer({ container }) {
29
29
  storyId,
30
30
  useStaging,
31
31
  commentsAPIUrl,
32
+ // Countdown is only relevant for pre-live Q&A
33
+ // so we can hardcode the status here
34
+ status: 'pre-live',
32
35
  });
33
36
  const updatedQA = (0, comments_api_1.useUpdatedQA)({
34
37
  storyId,
@@ -25,6 +25,7 @@ function QandaContainer({ embedFormFieldContainer, countdownTimerContainer, }) {
25
25
  storyId,
26
26
  useStaging,
27
27
  commentsAPIUrl,
28
+ status: 'pre-live',
28
29
  });
29
30
  const updatedQA = (0, comments_api_1.useUpdatedQA)({
30
31
  storyId,
@@ -53,6 +54,6 @@ function QandaContainer({ embedFormFieldContainer, countdownTimerContainer, }) {
53
54
  dispatch(comments_api_1.nextCommentsApi.util.resetApiState());
54
55
  };
55
56
  }, [dispatch, storyId]);
56
- return ((0, jsx_runtime_1.jsxs)("div", { className: "qanda-container", "data-trackable": "liveqa", children: [error && ((0, jsx_runtime_1.jsxs)("p", { children: ["We are not able to load the Q&A at the moment. Please try again later. Error:", error] })), !isLoading && !error && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [status !== 'close' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [showExpertView ? (0, jsx_runtime_1.jsx)(ExpertDrawer_1.default, {}) : (0, jsx_runtime_1.jsx)(QuestionForm_1.default, {}), (0, jsx_runtime_1.jsx)(CountdownTimer_1.default, { container: countdownTimerContainer })] })), status === 'pre-live' && (0, jsx_runtime_1.jsx)(Calendar_1.default, {}), (0, jsx_runtime_1.jsx)(Stream_1.default, {}), status !== 'close' && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(UserInfo_1.default, {}) })), data?.status === 'live' && (0, jsx_runtime_1.jsx)(FloatingActionBar_1.default, {}), (0, jsx_runtime_1.jsx)(EmbedFormField_1.default, { container: embedFormFieldContainer })] }))] }));
57
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "qanda-container", "data-trackable": "liveqa", children: [error && ((0, jsx_runtime_1.jsxs)("p", { children: ["We are not able to load the Q&A at the moment. Please try again later. Error:", error] })), !isLoading && !error && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [status !== 'close' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [showExpertView ? (0, jsx_runtime_1.jsx)(ExpertDrawer_1.default, {}) : (0, jsx_runtime_1.jsx)(QuestionForm_1.default, {}), (0, jsx_runtime_1.jsx)(CountdownTimer_1.default, { container: countdownTimerContainer })] })), status === 'pre-live' && (0, jsx_runtime_1.jsx)(Calendar_1.default, {}), (0, jsx_runtime_1.jsx)(Stream_1.default, { status: status }), status !== 'close' && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(UserInfo_1.default, {}) })), status === 'live' && (0, jsx_runtime_1.jsx)(FloatingActionBar_1.default, {}), (0, jsx_runtime_1.jsx)(EmbedFormField_1.default, { container: embedFormFieldContainer })] }))] }));
57
58
  }
58
59
  exports.default = QandaContainer;
@@ -10,14 +10,19 @@ const index_1 = __importDefault(require("../QandaBlock/index"));
10
10
  const QandaProvider_1 = require("../QandaProvider");
11
11
  const Loader_1 = __importDefault(require("../Loader"));
12
12
  const comments_api_1 = require("../../services/comments-api");
13
- function Stream() {
13
+ function Stream({ status = 'pre-live' }) {
14
14
  const latestAnsweredQuestionId = (0, react_redux_1.useSelector)((state) => state.stream.latestAnsweredQuestionId);
15
15
  const { storyId, useStaging, commentsAPIUrl } = (0, react_1.useContext)(QandaProvider_1.QandaContext);
16
16
  const { data, error, isLoading } = (0, comments_api_1.useGetQandAStreamQuery)({
17
17
  storyId,
18
18
  useStaging,
19
19
  commentsAPIUrl,
20
- });
20
+ status,
21
+ },
22
+ // In comments api, the stream endpoint uses different queries based on the Q&A status (live stream vs pre-live stream),
23
+ // If the status changes and Qanda receives an update,
24
+ // we need to force RTK to re-fetch the data and show the appropriate stream.
25
+ { refetchOnMountOrArgChange: true });
21
26
  (0, react_1.useEffect)(() => {
22
27
  const element = document.getElementById(latestAnsweredQuestionId);
23
28
  element?.scrollIntoView({ behavior: 'smooth' });
@@ -19,7 +19,9 @@ exports.nextCommentsApi = (0, react_1.createApi)({
19
19
  endpoints: (builder) => ({
20
20
  // QA STREAM
21
21
  getQandAStream: builder.query({
22
- query: ({ storyId, useStaging, commentsAPIUrl }) => `${commentsAPIUrl}/story/${storyId}/stream${useStaging ? '?staging=1' : ''}`,
22
+ query: ({ storyId, useStaging, commentsAPIUrl, status, }) =>
23
+ // The usage of status is to create different caches (RTK and Fastly) for different statuses
24
+ `${commentsAPIUrl}/story/${storyId}/stream?status=${status}${useStaging ? '&staging=1' : ''}`,
23
25
  transformResponse: (response) => {
24
26
  return {
25
27
  qandas: response?.children || [],
@@ -12,7 +12,9 @@ const updateComments = (dispatch, updatedComments, storyId, useStaging, comments
12
12
  const latestAnsweredQuestionId = (0, qandas_1.getLatestAnsweredQuestion)(updatedComments);
13
13
  try {
14
14
  // Update the cache with the new comments
15
- dispatch(comments_api_1.nextCommentsApi.util.updateQueryData('getQandAStream', { storyId, useStaging, commentsAPIUrl }, (draft) => {
15
+ dispatch(comments_api_1.nextCommentsApi.util.updateQueryData('getQandAStream',
16
+ // Updates happen only for the live stream, so we pass the status as 'live' hardcoded
17
+ { storyId, useStaging, commentsAPIUrl, status: 'live' }, (draft) => {
16
18
  // NB - if the same comment is updated more than once, the most recent thing added to the array will be the one that is shown
17
19
  for (let c = 0; c < updatedComments.length; c++) {
18
20
  const commentId = updatedComments[c].id;
@@ -8,6 +8,8 @@ function CalendarListItem({ name, link }) {
8
8
  storyId,
9
9
  useStaging,
10
10
  commentsAPIUrl,
11
+ // Calendar is only relevant for pre-live Q&A
12
+ status: 'pre-live',
11
13
  });
12
14
  return (_jsx(_Fragment, { children: data?.startDateTime && data?.endDateTime && (_jsx("li", { className: 'live-qa-calendar-list__item', role: "presentation", "data-testid": "live-qa-calendar-list-item", children: link({
13
15
  title,
@@ -12,6 +12,9 @@ function Calendar() {
12
12
  storyId,
13
13
  useStaging,
14
14
  commentsAPIUrl,
15
+ // Calendar is only relevant for pre-live Q&A
16
+ // so we can hardcode the status here
17
+ status: 'pre-live',
15
18
  });
16
19
  useEffect(() => {
17
20
  const handleClickOutside = (event) => {
@@ -26,6 +26,9 @@ function CountdownTimer({ container }) {
26
26
  storyId,
27
27
  useStaging,
28
28
  commentsAPIUrl,
29
+ // Countdown is only relevant for pre-live Q&A
30
+ // so we can hardcode the status here
31
+ status: 'pre-live',
29
32
  });
30
33
  const updatedQA = useUpdatedQA({
31
34
  storyId,
@@ -20,6 +20,7 @@ function QandaContainer({ embedFormFieldContainer, countdownTimerContainer, }) {
20
20
  storyId,
21
21
  useStaging,
22
22
  commentsAPIUrl,
23
+ status: 'pre-live',
23
24
  });
24
25
  const updatedQA = useUpdatedQA({
25
26
  storyId,
@@ -48,6 +49,6 @@ function QandaContainer({ embedFormFieldContainer, countdownTimerContainer, }) {
48
49
  dispatch(nextCommentsApi.util.resetApiState());
49
50
  };
50
51
  }, [dispatch, storyId]);
51
- return (_jsxs("div", { className: "qanda-container", "data-trackable": "liveqa", children: [error && (_jsxs("p", { children: ["We are not able to load the Q&A at the moment. Please try again later. Error:", error] })), !isLoading && !error && (_jsxs(_Fragment, { children: [status !== 'close' && (_jsxs(_Fragment, { children: [showExpertView ? _jsx(ExpertDrawer, {}) : _jsx(QuestionForm, {}), _jsx(CountdownTimer, { container: countdownTimerContainer })] })), status === 'pre-live' && _jsx(Calendar, {}), _jsx(Stream, {}), status !== 'close' && (_jsx(_Fragment, { children: _jsx(UserInfo, {}) })), data?.status === 'live' && _jsx(FloatingActionBar, {}), _jsx(EmbedFormField, { container: embedFormFieldContainer })] }))] }));
52
+ return (_jsxs("div", { className: "qanda-container", "data-trackable": "liveqa", children: [error && (_jsxs("p", { children: ["We are not able to load the Q&A at the moment. Please try again later. Error:", error] })), !isLoading && !error && (_jsxs(_Fragment, { children: [status !== 'close' && (_jsxs(_Fragment, { children: [showExpertView ? _jsx(ExpertDrawer, {}) : _jsx(QuestionForm, {}), _jsx(CountdownTimer, { container: countdownTimerContainer })] })), status === 'pre-live' && _jsx(Calendar, {}), _jsx(Stream, { status: status }), status !== 'close' && (_jsx(_Fragment, { children: _jsx(UserInfo, {}) })), status === 'live' && _jsx(FloatingActionBar, {}), _jsx(EmbedFormField, { container: embedFormFieldContainer })] }))] }));
52
53
  }
53
54
  export default QandaContainer;
@@ -5,14 +5,19 @@ import QandaBlock from '../QandaBlock/index';
5
5
  import { QandaContext } from '../QandaProvider';
6
6
  import Loader from '../Loader';
7
7
  import { useGetQandAStreamQuery } from '../../services/comments-api';
8
- function Stream() {
8
+ function Stream({ status = 'pre-live' }) {
9
9
  const latestAnsweredQuestionId = useSelector((state) => state.stream.latestAnsweredQuestionId);
10
10
  const { storyId, useStaging, commentsAPIUrl } = useContext(QandaContext);
11
11
  const { data, error, isLoading } = useGetQandAStreamQuery({
12
12
  storyId,
13
13
  useStaging,
14
14
  commentsAPIUrl,
15
- });
15
+ status,
16
+ },
17
+ // In comments api, the stream endpoint uses different queries based on the Q&A status (live stream vs pre-live stream),
18
+ // If the status changes and Qanda receives an update,
19
+ // we need to force RTK to re-fetch the data and show the appropriate stream.
20
+ { refetchOnMountOrArgChange: true });
16
21
  useEffect(() => {
17
22
  const element = document.getElementById(latestAnsweredQuestionId);
18
23
  element?.scrollIntoView({ behavior: 'smooth' });
@@ -16,7 +16,9 @@ export const nextCommentsApi = createApi({
16
16
  endpoints: (builder) => ({
17
17
  // QA STREAM
18
18
  getQandAStream: builder.query({
19
- query: ({ storyId, useStaging, commentsAPIUrl }) => `${commentsAPIUrl}/story/${storyId}/stream${useStaging ? '?staging=1' : ''}`,
19
+ query: ({ storyId, useStaging, commentsAPIUrl, status, }) =>
20
+ // The usage of status is to create different caches (RTK and Fastly) for different statuses
21
+ `${commentsAPIUrl}/story/${storyId}/stream?status=${status}${useStaging ? '&staging=1' : ''}`,
20
22
  transformResponse: (response) => {
21
23
  return {
22
24
  qandas: response?.children || [],
@@ -9,7 +9,9 @@ export const updateComments = (dispatch, updatedComments, storyId, useStaging, c
9
9
  const latestAnsweredQuestionId = getLatestAnsweredQuestion(updatedComments);
10
10
  try {
11
11
  // Update the cache with the new comments
12
- dispatch(nextCommentsApi.util.updateQueryData('getQandAStream', { storyId, useStaging, commentsAPIUrl }, (draft) => {
12
+ dispatch(nextCommentsApi.util.updateQueryData('getQandAStream',
13
+ // Updates happen only for the live stream, so we pass the status as 'live' hardcoded
14
+ { storyId, useStaging, commentsAPIUrl, status: 'live' }, (draft) => {
13
15
  // NB - if the same comment is updated more than once, the most recent thing added to the array will be the one that is shown
14
16
  for (let c = 0; c < updatedComments.length; c++) {
15
17
  const commentId = updatedComments[c].id;
@@ -1,2 +1,5 @@
1
- declare function Stream(): import("react").JSX.Element;
1
+ import type { Status } from '../../types/qa';
2
+ declare function Stream({ status }: {
3
+ status: Status;
4
+ }): import("react").JSX.Element;
2
5
  export default Stream;
@@ -1,4 +1,3 @@
1
- import { FetchBaseQueryError } from '@reduxjs/toolkit/query/react';
2
1
  import type { Comment } from '../types/comment';
3
2
  import type { QA } from '../types/qa';
4
3
  import type { Status } from '../types/qa';
@@ -33,13 +32,17 @@ type CachedData = {
33
32
  type UserRolesTransformed = {
34
33
  expertView: boolean;
35
34
  };
36
- export declare const nextCommentsApi: import("@reduxjs/toolkit/query/react").Api<import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, {
37
- getQandAStream: import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CommentsStreamTransformed, "nextCommentsApi">;
38
- getQandAUpdates: import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CachedData, "nextCommentsApi">;
39
- getUserRoles: import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlTokenParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, UserRolesTransformed, "nextCommentsApi">;
40
- postQuestion: import("@reduxjs/toolkit/query/react").MutationDefinition<CommentsAPIUrlQuestionParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "nextCommentsApi">;
35
+ export declare const nextCommentsApi: import("@reduxjs/toolkit/query/react").Api<import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, {
36
+ getQandAStream: import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams & {
37
+ status: Status;
38
+ }, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CommentsStreamTransformed, "nextCommentsApi">;
39
+ getQandAUpdates: import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CachedData, "nextCommentsApi">;
40
+ getUserRoles: import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlTokenParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, UserRolesTransformed, "nextCommentsApi">;
41
+ postQuestion: import("@reduxjs/toolkit/query/react").MutationDefinition<CommentsAPIUrlQuestionParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "nextCommentsApi">;
41
42
  }, "nextCommentsApi", never, typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
42
- export declare const useGetQandAStreamQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CommentsStreamTransformed, "nextCommentsApi">>, useGetQandAUpdatesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CachedData, "nextCommentsApi">>, useGetUserRolesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlTokenParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, UserRolesTransformed, "nextCommentsApi">>, usePostQuestionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<CommentsAPIUrlQuestionParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "nextCommentsApi">>;
43
+ export declare const useGetQandAStreamQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams & {
44
+ status: Status;
45
+ }, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CommentsStreamTransformed, "nextCommentsApi">>, useGetQandAUpdatesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, CachedData, "nextCommentsApi">>, useGetUserRolesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<CommentsAPIUrlTokenParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, UserRolesTransformed, "nextCommentsApi">>, usePostQuestionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<CommentsAPIUrlQuestionParams, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "nextCommentsApi">>;
43
46
  export declare const useUpdatedComments: ({ storyId, useStaging, commentsAPIUrl, }: CommentsAPIUrlParams) => Comment[];
44
47
  export declare const useUpdatedQA: ({ storyId, useStaging, commentsAPIUrl, }: CommentsAPIUrlParams) => any;
45
48
  export {};
@@ -13,6 +13,8 @@ export declare const rootReducer: import("@reduxjs/toolkit").Reducer<import("@re
13
13
  storyId: string;
14
14
  useStaging: boolean;
15
15
  commentsAPIUrl: string;
16
+ } & {
17
+ status: import("../types/qa").Status;
16
18
  }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, Omit<{
17
19
  type: string;
18
20
  children?: import("../types/comment").Comment[];
@@ -68,6 +70,8 @@ export declare const store: import("@reduxjs/toolkit/dist/configureStore").Toolk
68
70
  storyId: string;
69
71
  useStaging: boolean;
70
72
  commentsAPIUrl: string;
73
+ } & {
74
+ status: import("../types/qa").Status;
71
75
  }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, Omit<{
72
76
  type: string;
73
77
  children?: import("../types/comment").Comment[];
@@ -116,6 +120,8 @@ export declare const store: import("@reduxjs/toolkit/dist/configureStore").Toolk
116
120
  storyId: string;
117
121
  useStaging: boolean;
118
122
  commentsAPIUrl: string;
123
+ } & {
124
+ status: import("../types/qa").Status;
119
125
  }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, Omit<{
120
126
  type: string;
121
127
  children?: import("../types/comment").Comment[];
@@ -159,6 +165,8 @@ export declare const store: import("@reduxjs/toolkit/dist/configureStore").Toolk
159
165
  storyId: string;
160
166
  useStaging: boolean;
161
167
  commentsAPIUrl: string;
168
+ } & {
169
+ status: import("../types/qa").Status;
162
170
  }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, Omit<{
163
171
  type: string;
164
172
  children?: import("../types/comment").Comment[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/qanda-ui",
3
- "version": "0.0.1-beta.10",
3
+ "version": "0.0.1-beta.12",
4
4
  "description": "Components for the Live Q&A UI",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",