@messenger-box/platform-browser 0.0.1-alpha.42 → 0.0.1-alpha.420

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.
Files changed (252) hide show
  1. package/CHANGELOG.md +540 -27
  2. package/jest.config.js +23 -7
  3. package/lib/components/InboxMessage/InboxDetails/index.d.ts +2 -0
  4. package/lib/components/InboxMessage/InboxDetails/style.d.ts +1 -0
  5. package/lib/components/InboxMessage/InboxSidebar/index.d.ts +11 -0
  6. package/lib/components/InboxMessage/InboxSidebar/styles.d.ts +1 -0
  7. package/lib/components/InboxMessage/Messages/index.d.ts +2 -0
  8. package/lib/components/InboxMessage/Messages/styles.d.ts +80 -0
  9. package/lib/components/InboxMessage/MessagesList/index.d.ts +2 -0
  10. package/lib/components/InboxMessage/Popover/index.d.ts +2 -0
  11. package/lib/components/InboxMessage/Popover/style.d.ts +27 -0
  12. package/lib/components/InboxMessage/UserModalContent/index.d.ts +2 -0
  13. package/lib/components/InboxMessage/UserModalContent/style.d.ts +1 -0
  14. package/lib/components/InboxMessage/index.d.ts +2 -0
  15. package/lib/components/InboxMessage/mock.d.ts +19 -0
  16. package/lib/components/InboxMessage/style.d.ts +1 -0
  17. package/lib/components/channel_view/DirectChannelView.d.ts +3 -0
  18. package/lib/components/channel_view/PublicChannelView.d.ts +3 -0
  19. package/lib/components/dashboard/menu_header.d.ts +5 -0
  20. package/lib/components/dashboard/modals/direct_modal.d.ts +9 -0
  21. package/lib/components/dashboard/modals.d.ts +8 -0
  22. package/lib/components/messenger/index.d.ts +6 -1
  23. package/lib/components/messenger/messagesList/index.d.ts +6 -4
  24. package/lib/components/messenger/messagesList/style.d.ts +1 -221
  25. package/lib/components/messenger/more_action/index.d.ts +11 -0
  26. package/lib/components/messenger/more_action/style.d.ts +1 -0
  27. package/lib/components/overlay_trigger.d.ts +3 -3
  28. package/lib/components/post/channel_intro_message/channel_intro_message.d.ts +2 -1
  29. package/lib/components/post/channel_layout/channel_identifier_router/channel_identifier_router.d.ts +2 -1
  30. package/lib/components/post/channel_view/channel_view.d.ts +2 -1
  31. package/lib/components/post/create_post/create_post.d.ts +2 -1
  32. package/lib/components/post/failed_post_options/failed_post_options.d.ts +2 -1
  33. package/lib/components/post/index.d.ts +5 -1
  34. package/lib/components/post/markdown/markdown.d.ts +2 -1
  35. package/lib/components/post/post/post.d.ts +2 -1
  36. package/lib/components/post/post_aria_label_div.d.ts +3 -2
  37. package/lib/components/post/post_body/post_body.d.ts +2 -1
  38. package/lib/components/post/post_header/post_header.d.ts +2 -1
  39. package/lib/components/post/post_header/post_header_custom_status.d.ts +2 -1
  40. package/lib/components/post/post_header/style.d.ts +1 -40
  41. package/lib/components/post/post_info/post_info.d.ts +2 -1
  42. package/lib/components/post/post_list/index.d.ts +2 -1
  43. package/lib/components/post/post_list/post_list.d.ts +2 -1
  44. package/lib/components/post/post_list_row/post_list_row.d.ts +2 -1
  45. package/lib/components/post/post_list_virtualized/latest_post_reader.d.ts +2 -1
  46. package/lib/components/post/post_list_virtualized/post_list_virtualized.d.ts +2 -1
  47. package/lib/components/post/post_markdown/post_markdown.d.ts +2 -1
  48. package/lib/components/post/post_message_view/post_message_view.d.ts +2 -1
  49. package/lib/components/post/post_pre_header/post_pre_header.d.ts +3 -2
  50. package/lib/components/post/post_profile_picture/post_profile_picture.d.ts +2 -1
  51. package/lib/components/post/post_view.d.ts +2 -1
  52. package/lib/components/post/profile_picture/profile_picture.d.ts +2 -1
  53. package/lib/components/post/show_more/show_more.d.ts +2 -1
  54. package/lib/components/post/style.d.ts +1 -93
  55. package/lib/components/post/threading/channel_threads/thread_footer/thread_footer.d.ts +2 -1
  56. package/lib/components/post/threading/common/button/button.d.ts +3 -3
  57. package/lib/components/post/threading/common/follow_button/follow_button.d.ts +2 -2
  58. package/lib/components/post/tutorial/tutorial_tip/tutorial_tip.d.ts +3 -3
  59. package/lib/components/post/user_profile/user_profile.d.ts +1 -1
  60. package/lib/components/status_icon.d.ts +2 -1
  61. package/lib/components/status_icon_new.d.ts +2 -2
  62. package/lib/compute.d.ts +8 -2
  63. package/lib/containers/Inbox.d.ts +3 -0
  64. package/lib/containers/Messenger.d.ts +5 -1
  65. package/lib/index.js +3864 -581
  66. package/lib/index.js.map +1 -1
  67. package/lib/packages/types/emojis.d.ts +5 -5
  68. package/lib/packages/types/files.d.ts +5 -5
  69. package/lib/packages/types/posts.d.ts +13 -13
  70. package/lib/packages/types/reactions.d.ts +1 -1
  71. package/lib/packages/types/utilities.d.ts +13 -13
  72. package/lib/style.d.ts +1 -37
  73. package/lib/utils/index.d.ts +2 -0
  74. package/lib/widgets/badges/badge.d.ts +3 -3
  75. package/lib/widgets/badges/bot_badge.d.ts +1 -1
  76. package/lib/widgets/badges/guest_badge.d.ts +1 -1
  77. package/lib/widgets/badges/style.d.ts +1 -23
  78. package/lib/widgets/icons/emoji_icon.d.ts +1 -1
  79. package/lib/widgets/icons/flag_icon_filled.d.ts +1 -1
  80. package/lib/widgets/icons/mattermost_logo.d.ts +1 -1
  81. package/lib/widgets/icons/status_away_avatar_icon.d.ts +1 -1
  82. package/lib/widgets/icons/status_away_icon.d.ts +1 -1
  83. package/lib/widgets/icons/status_dnd_avatar_icon.d.ts +1 -1
  84. package/lib/widgets/icons/status_dnd_icon.d.ts +1 -1
  85. package/lib/widgets/icons/status_offline_avatar_icon.d.ts +1 -1
  86. package/lib/widgets/icons/status_offline_icon.d.ts +1 -1
  87. package/lib/widgets/icons/status_online_avatar_icon.d.ts +1 -1
  88. package/lib/widgets/icons/status_online_icon.d.ts +1 -1
  89. package/lib/widgets/overlay_trigger.d.ts +3 -3
  90. package/lib/widgets/shared_user_indicator.d.ts +1 -1
  91. package/lib/widgets/simple_tooltip/simple_tooltip.d.ts +3 -3
  92. package/lib/widgets/users/avatar/avatar.d.ts +4 -4
  93. package/lib/widgets/users/avatar/style.d.ts +1 -75
  94. package/lib/widgets/users/avatars/avatars.d.ts +2 -2
  95. package/package.json +61 -67
  96. package/src/components/InboxMessage/InboxDetails/index.tsx +23 -0
  97. package/src/components/InboxMessage/InboxDetails/style.ts +27 -0
  98. package/src/components/InboxMessage/InboxSidebar/index.tsx +86 -0
  99. package/src/components/InboxMessage/InboxSidebar/styles.ts +57 -0
  100. package/src/components/InboxMessage/Messages/index.tsx +159 -0
  101. package/src/components/InboxMessage/Messages/styles.ts +85 -0
  102. package/src/components/InboxMessage/MessagesList/index.tsx +93 -0
  103. package/src/components/InboxMessage/Popover/index.tsx +57 -0
  104. package/src/components/InboxMessage/Popover/style.ts +27 -0
  105. package/src/components/InboxMessage/UserModalContent/index.tsx +60 -0
  106. package/src/components/InboxMessage/UserModalContent/style.ts +98 -0
  107. package/src/components/InboxMessage/index.tsx +286 -0
  108. package/src/components/InboxMessage/mock.ts +53 -0
  109. package/src/components/InboxMessage/style.ts +189 -0
  110. package/src/components/channel_view/DirectChannelView.tsx +25 -0
  111. package/src/components/channel_view/PublicChannelView.tsx +24 -0
  112. package/src/components/dashboard/menu_header.tsx +49 -0
  113. package/src/components/dashboard/modals/direct_modal.tsx +46 -0
  114. package/src/components/dashboard/modals.tsx +93 -0
  115. package/src/components/messenger/avatar/index.tsx +2 -4
  116. package/src/components/messenger/avatar/style.ts +3 -3
  117. package/src/components/messenger/index.tsx +258 -94
  118. package/src/components/messenger/messagesList/index.tsx +673 -249
  119. package/src/components/messenger/messagesList/messageBox.tsx +2 -1
  120. package/src/components/messenger/messagesList/style.ts +240 -14
  121. package/src/components/messenger/more_action/index.tsx +68 -0
  122. package/src/components/messenger/more_action/style.ts +45 -0
  123. package/src/components/messenger/postMessage/postMessage.tsx +2 -3
  124. package/src/components/messenger/postMessage/style.ts +3 -3
  125. package/src/components/messenger/sidebarThreadList/index.tsx +11 -10
  126. package/src/components/messenger/style.ts +16 -16
  127. package/src/components/messenger/threadSidebar/index.tsx +5 -5
  128. package/src/components/messenger/threadSidebar/style.ts +7 -7
  129. package/src/components/messenger/types/message.ts +1 -0
  130. package/src/components/post/channel_intro_message/channel_intro_message.tsx +0 -1
  131. package/src/components/post/index.tsx +102 -25
  132. package/src/components/post/post/post.tsx +8 -1
  133. package/src/components/post/post_header/post_header_custom_status.tsx +1 -2
  134. package/src/components/post/post_header/style.ts +3 -6
  135. package/src/components/post/style.ts +22 -8
  136. package/src/components/post/tutorial/tutorial_tip/tutorial_tip.tsx +1 -0
  137. package/src/components/post/user_profile/user_profile.tsx +1 -0
  138. package/src/compute.tsx +58 -37
  139. package/src/containers/Dashboard.tsx +488 -1
  140. package/src/containers/Inbox.tsx +13 -0
  141. package/src/containers/Loading.tsx +1 -1
  142. package/src/containers/Messenger.tsx +9 -4
  143. package/src/module.ts +10 -7
  144. package/src/style.ts +382 -19
  145. package/src/utils/index.ts +22 -0
  146. package/src/widgets/badges/badge.tsx +1 -2
  147. package/src/widgets/badges/style.ts +3 -3
  148. package/src/widgets/icons/accordion_toggle_icon.tsx +1 -1
  149. package/src/widgets/icons/add_reaction_icon.tsx +1 -1
  150. package/src/widgets/icons/admin_eye_icon.tsx +1 -1
  151. package/src/widgets/icons/alert_icon.tsx +1 -1
  152. package/src/widgets/icons/archive_icon.tsx +1 -1
  153. package/src/widgets/icons/arrow_right_icon.tsx +1 -1
  154. package/src/widgets/icons/at_icon.tsx +1 -1
  155. package/src/widgets/icons/attachment_icon.tsx +1 -1
  156. package/src/widgets/icons/back_icon.tsx +1 -1
  157. package/src/widgets/icons/bot_icon.tsx +1 -1
  158. package/src/widgets/icons/camera_icon.tsx +1 -1
  159. package/src/widgets/icons/checkbox_checked_icon.tsx +1 -1
  160. package/src/widgets/icons/checkbox_partial_icon.tsx +1 -1
  161. package/src/widgets/icons/close_circle_icon.tsx +1 -1
  162. package/src/widgets/icons/close_circle_solid_icon.tsx +1 -1
  163. package/src/widgets/icons/close_icon.tsx +1 -1
  164. package/src/widgets/icons/dots_horizontal.tsx +1 -1
  165. package/src/widgets/icons/download_icon.tsx +1 -1
  166. package/src/widgets/icons/draft_icon.tsx +1 -1
  167. package/src/widgets/icons/ellipsis_h_icon.tsx +1 -1
  168. package/src/widgets/icons/email_icon.tsx +1 -1
  169. package/src/widgets/icons/fa_add_icon.tsx +1 -1
  170. package/src/widgets/icons/fa_back_icon.tsx +1 -1
  171. package/src/widgets/icons/fa_dropdown_icon.tsx +1 -1
  172. package/src/widgets/icons/fa_edit_icon.tsx +1 -1
  173. package/src/widgets/icons/fa_logout_icon.tsx +1 -1
  174. package/src/widgets/icons/fa_next_icon.tsx +1 -1
  175. package/src/widgets/icons/fa_previous_icon.tsx +1 -1
  176. package/src/widgets/icons/fa_reload_icon.tsx +1 -1
  177. package/src/widgets/icons/fa_remove_icon.tsx +1 -1
  178. package/src/widgets/icons/fa_search_icon.tsx +1 -1
  179. package/src/widgets/icons/fa_select_icon.tsx +1 -1
  180. package/src/widgets/icons/fa_success_icon.tsx +1 -1
  181. package/src/widgets/icons/fa_warning_icon.tsx +1 -1
  182. package/src/widgets/icons/flag_icon.tsx +1 -1
  183. package/src/widgets/icons/gfycat_icon.tsx +1 -1
  184. package/src/widgets/icons/gif_reactions_icon.tsx +1 -1
  185. package/src/widgets/icons/gif_search_clear_icon.tsx +1 -1
  186. package/src/widgets/icons/gif_search_icon.tsx +1 -1
  187. package/src/widgets/icons/gif_trending_icon.tsx +1 -1
  188. package/src/widgets/icons/globe_icon.tsx +1 -1
  189. package/src/widgets/icons/icons.stories.js +1 -1
  190. package/src/widgets/icons/info_icon.tsx +1 -1
  191. package/src/widgets/icons/info_small_icon.tsx +1 -1
  192. package/src/widgets/icons/invite_icon.tsx +1 -1
  193. package/src/widgets/icons/invite_members_icon.tsx +1 -1
  194. package/src/widgets/icons/link_icon.tsx +1 -1
  195. package/src/widgets/icons/lock_icon.tsx +1 -1
  196. package/src/widgets/icons/mail_icon.tsx +1 -1
  197. package/src/widgets/icons/mail_plus_icon.tsx +1 -1
  198. package/src/widgets/icons/member_icon.tsx +1 -1
  199. package/src/widgets/icons/mentions_icon.tsx +1 -1
  200. package/src/widgets/icons/menu_icon.tsx +1 -1
  201. package/src/widgets/icons/message_icon.tsx +1 -1
  202. package/src/widgets/icons/pin_icon.tsx +1 -1
  203. package/src/widgets/icons/plugin_channel_header_icon.tsx +1 -1
  204. package/src/widgets/icons/plugin_icon.tsx +1 -1
  205. package/src/widgets/icons/reply_icon.tsx +1 -1
  206. package/src/widgets/icons/scroll_to_bottom_icon.tsx +1 -1
  207. package/src/widgets/icons/search_icon.tsx +1 -1
  208. package/src/widgets/icons/shield_outline_icon.tsx +1 -1
  209. package/src/widgets/icons/unarchive_icon.tsx +1 -1
  210. package/src/widgets/icons/unread_below_icon.tsx +1 -1
  211. package/src/widgets/icons/user_guide_icon.tsx +1 -1
  212. package/src/widgets/shared_user_indicator.tsx +1 -0
  213. package/src/widgets/simple_tooltip/simple_tooltip.tsx +1 -0
  214. package/src/widgets/users/avatar/avatar.tsx +1 -2
  215. package/src/widgets/users/avatar/style.ts +3 -3
  216. package/src/widgets/users/avatars/avatars.tsx +1 -0
  217. package/tsconfig.json +2 -1
  218. package/webpack.config.js +1 -1
  219. package/lib/components/messenger/mock.d.ts +0 -50
  220. package/lib/components/messenger/postMessage/postMessage.d.ts +0 -1
  221. package/lib/components/messenger/postMessage/style.d.ts +0 -22
  222. package/lib/components/messenger/sidebarThreadList/index.d.ts +0 -7
  223. package/lib/components/messenger/threadSidebar/index.d.ts +0 -1
  224. package/lib/components/messenger/threadSidebar/style.d.ts +0 -62
  225. package/lib/components/messenger/types/message.d.ts +0 -14
  226. package/src/api.ts +0 -35
  227. package/src/components/Counter.tsx +0 -52
  228. package/src/containers/Clock.tsx +0 -0
  229. package/src/containers/Counter.tsx +0 -42
  230. package/src/containers/PersonList.tsx +0 -20
  231. package/src/containers/ServerCounter.tsx +0 -140
  232. package/src/graphql/index.ts +0 -3
  233. package/src/graphql/mutations/addCount.graphql +0 -5
  234. package/src/graphql/mutations/addPerson.graphql +0 -6
  235. package/src/graphql/mutations/index.ts +0 -2
  236. package/src/graphql/queries/count.graphql +0 -5
  237. package/src/graphql/queries/index.ts +0 -3
  238. package/src/graphql/queries/person.graphql +0 -22
  239. package/src/graphql/queries/persons.graphql +0 -6
  240. package/src/graphql/subscriptions/count.graphql +0 -5
  241. package/src/graphql/subscriptions/index.ts +0 -1
  242. package/src/redux/__mocks__/api.ts +0 -4
  243. package/src/redux/actions/__tests__/sampleActions.test.ts +0 -159
  244. package/src/redux/actions/index.ts +0 -1
  245. package/src/redux/actions/sampleActions.ts +0 -91
  246. package/src/redux/index.ts +0 -2
  247. package/src/redux/reducers/Store.ts +0 -10
  248. package/src/redux/reducers/__tests__/sampleReducers.test.ts +0 -39
  249. package/src/redux/reducers/index.ts +0 -7
  250. package/src/redux/reducers/sampleReducers.ts +0 -71
  251. /package/src/components/post/channel_layout/{channel_controller.test.jsx → channel_controller.test.tsx} +0 -0
  252. /package/src/components/post/channel_layout/{channel_controller.jsx → channel_controller.tsx} +0 -0
@@ -1,91 +0,0 @@
1
- import * as redux from 'redux';
2
-
3
- import { api } from '../../api';
4
- import { Store } from '../reducers/index';
5
-
6
- export type Q<T> = { request: T };
7
- export type S<T> = { response: T };
8
- export type E = { error: Error };
9
-
10
- export type QEmpty = Q<null>;
11
- export type QValue = Q<{ value: number }>;
12
-
13
- export type Action =
14
- // UI actions
15
- | { type: '@@messenger-box/INCREMENT_COUNTER'; delta: number }
16
- | { type: '@@messenger-box/RESET_COUNTER' }
17
-
18
- // API Requests
19
- | ({ type: '@@messenger-box/SAVE_COUNT_REQUEST' } & QValue)
20
- | ({ type: '@@messenger-box/SAVE_COUNT_SUCCESS' } & QValue & S<{}>)
21
- | ({ type: '@@messenger-box/SAVE_COUNT_ERROR' } & QValue & E)
22
- | ({ type: '@@messenger-box/LOAD_COUNT_REQUEST' } & QEmpty)
23
- | ({ type: '@@messenger-box/LOAD_COUNT_SUCCESS' } & QEmpty &
24
- S<{ value: number }>)
25
- | ({ type: '@@messenger-box/LOAD_COUNT_ERROR' } & QEmpty & E);
26
-
27
- export const incrementCounter = (delta: number): Action => ({
28
- type: '@@messenger-box/INCREMENT_COUNTER',
29
- delta,
30
- });
31
-
32
- export const resetCounter = (): Action => ({
33
- type: '@@messenger-box/RESET_COUNTER',
34
- });
35
-
36
- export type ApiActionGroup<_Q, _S> = {
37
- request: (q?: _Q) => Action & Q<_Q>;
38
- success: (s: _S, q?: _Q) => Action & Q<_Q> & S<_S>;
39
- error: (e: Error, q?: _Q) => Action & Q<_Q> & E;
40
- };
41
-
42
- const _saveCount: ApiActionGroup<{ value: number }, {}> = {
43
- request: (request) => ({
44
- type: '@@messenger-box/SAVE_COUNT_REQUEST',
45
- request,
46
- }),
47
- success: (response, request) => ({
48
- type: '@@messenger-box/SAVE_COUNT_SUCCESS',
49
- request,
50
- response,
51
- }),
52
- error: (error, request) => ({
53
- type: '@@messenger-box/SAVE_COUNT_ERROR',
54
- request,
55
- error,
56
- }),
57
- };
58
-
59
- const _loadCount: ApiActionGroup<null, { value: number }> = {
60
- request: (request) => ({
61
- type: '@@messenger-box/LOAD_COUNT_REQUEST',
62
- request: null,
63
- }),
64
- success: (response, request) => ({
65
- type: '@@messenger-box/LOAD_COUNT_SUCCESS',
66
- request: null,
67
- response,
68
- }),
69
- error: (error, request) => ({
70
- type: '@@messenger-box/LOAD_COUNT_ERROR',
71
- request: null,
72
- error,
73
- }),
74
- };
75
-
76
- type apiFunc<Q, S> = (q: Q) => Promise<S>;
77
-
78
- function apiActionGroupFactory<Q, S>(
79
- x: ApiActionGroup<Q, S>,
80
- go: apiFunc<Q, S>,
81
- ) {
82
- return (request: Q) => (dispatch: redux.Dispatch) => {
83
- dispatch(x.request(request));
84
- go(request)
85
- .then((response) => dispatch(x.success(response, request)))
86
- .catch((e: Error) => dispatch(x.error(e, request)));
87
- };
88
- }
89
-
90
- export const saveCount = apiActionGroupFactory(_saveCount, api.save);
91
- export const loadCount = apiActionGroupFactory(_loadCount, api.load);
@@ -1,2 +0,0 @@
1
- export * from './actions';
2
- export * from './reducers';
@@ -1,10 +0,0 @@
1
- export namespace Store {
2
- export type Counter = { value: number };
3
-
4
- export type Sample = {
5
- '@messenger-box/counter': Counter;
6
- '@messenger-box/isSaving': boolean;
7
- '@messenger-box/isLoading': boolean;
8
- '@messenger-box/error': string;
9
- };
10
- }
@@ -1,39 +0,0 @@
1
- import 'jest';
2
- import { createStore, combineReducers } from 'redux';
3
-
4
- import { reducers } from '../sampleReducers';
5
- import { Store } from '../Store';
6
-
7
- import { incrementCounter } from '../../actions';
8
-
9
- describe('reducers/counter', () => {
10
- it('starts at 0', () => {
11
- const store = createStore(combineReducers<Store.Sample>(reducers));
12
- const counter = store.getState()['@messenger-box/counter'];
13
- expect(counter.value).toEqual(0);
14
- });
15
-
16
- it('increments', (done) => {
17
- const store = createStore(combineReducers<Store.Sample>(reducers));
18
- store.subscribe(() => {
19
- const counter = store.getState()['@messenger-box/counter'];
20
- expect(counter.value).toEqual(3);
21
- done();
22
- });
23
- store.dispatch(incrementCounter(3));
24
- });
25
-
26
- it('restores state', (done) => {
27
- const store = createStore(combineReducers<Store.Sample>(reducers));
28
- store.subscribe(() => {
29
- const counter = store.getState()['@messenger-box/counter'];
30
- expect(counter.value).toEqual(14);
31
- done();
32
- });
33
- store.dispatch({
34
- type: '@@messenger-box/LOAD_COUNT_SUCCESS',
35
- request: {},
36
- response: { value: 14 },
37
- });
38
- });
39
- });
@@ -1,7 +0,0 @@
1
- import { reducers as sampleReducers } from './sampleReducers';
2
-
3
- export { Store } from './Store';
4
-
5
- export const reducers = {
6
- ...sampleReducers,
7
- };
@@ -1,71 +0,0 @@
1
- import { combineReducers, Action as reduxAction } from 'redux';
2
- import { Action } from '../actions';
3
- import { Store } from './Store';
4
-
5
- function isSaving(state = false, action: Action): boolean {
6
- switch (action.type) {
7
- case '@@messenger-box/SAVE_COUNT_REQUEST':
8
- return true;
9
- case '@@messenger-box/SAVE_COUNT_SUCCESS':
10
- case '@@messenger-box/SAVE_COUNT_ERROR':
11
- return false;
12
- default:
13
- return state;
14
- }
15
- }
16
-
17
- function isLoading(state = false, action: Action): boolean {
18
- switch (action.type) {
19
- case '@@messenger-box/LOAD_COUNT_REQUEST':
20
- return true;
21
- case '@@messenger-box/LOAD_COUNT_SUCCESS':
22
- case '@@messenger-box/LOAD_COUNT_ERROR':
23
- return false;
24
- default:
25
- return state;
26
- }
27
- }
28
-
29
- function error(state = '', action: Action): string {
30
- switch (action.type) {
31
- case '@@messenger-box/LOAD_COUNT_REQUEST':
32
- case '@@messenger-box/SAVE_COUNT_REQUEST':
33
- return '';
34
- case '@@messenger-box/LOAD_COUNT_ERROR':
35
- case '@@messenger-box/SAVE_COUNT_ERROR':
36
- return action.error.toString();
37
- default:
38
- return state;
39
- }
40
- }
41
-
42
- const initialState: Store.Counter = {
43
- value: 0,
44
- };
45
-
46
- function counter(
47
- state: Store.Counter = initialState,
48
- action: Action,
49
- ): Store.Counter {
50
- switch (action.type) {
51
- case '@@messenger-box/INCREMENT_COUNTER':
52
- const { delta } = action;
53
- return { value: state.value + delta };
54
-
55
- case '@@messenger-box/RESET_COUNTER':
56
- return { value: 0 };
57
-
58
- case '@@messenger-box/LOAD_COUNT_SUCCESS':
59
- return { value: action.response.value };
60
-
61
- default:
62
- return state;
63
- }
64
- }
65
-
66
- export const reducers = {
67
- '@messenger-box/counter': counter,
68
- '@messenger-box/isSaving': isSaving,
69
- '@messenger-box/isLoading': isLoading,
70
- '@messenger-box/error': error,
71
- };