redux-connected-devtools 1.0.2 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. package/dist/components/DevInspector/DevInspector.js +12 -0
  2. package/{src/components/DevInspector/DevInspector.style.tsx → dist/components/DevInspector/DevInspector.style.js} +1 -3
  3. package/dist/components/DevList/DevList.js +24 -0
  4. package/{src/components/DevList/DevList.style.tsx → dist/components/DevList/DevList.style.js} +2 -4
  5. package/dist/components/DevMenu/DevMenu.js +25 -0
  6. package/{src/components/DevMenu/DevMenu.style.tsx → dist/components/DevMenu/DevMenu.style.js} +15 -19
  7. package/dist/components/DevPanel/DevPanel.js +38 -0
  8. package/dist/components/DevPanel/DevPanel.style.js +22 -0
  9. package/dist/components/DevtoolsApp/DevtoolsApp.js +17 -0
  10. package/dist/components/DevtoolsApp/DevtoolsApp.style.js +11 -0
  11. package/dist/components/Icon/AllIcons.js +18 -0
  12. package/dist/components/Icon/Icon.js +9 -0
  13. package/dist/components/Icon/Icon.style.js +10 -0
  14. package/{src/components/JourneyRow/JourneyRow.tsx → dist/components/JourneyRow/JourneyRow.js} +9 -32
  15. package/{src/components/JourneyRow/JourneyRow.style.tsx → dist/components/JourneyRow/JourneyRow.style.js} +7 -12
  16. package/dist/components/JsonViewer/JsonViewer.js +7 -0
  17. package/{src/components/JsonViewer/JsonViewer.style.tsx → dist/components/JsonViewer/JsonViewer.style.js} +1 -2
  18. package/dist/components/Lifecycle/Lifecycle.js +15 -0
  19. package/{src/components/Lifecycle/Lifecycle.style.tsx → dist/components/Lifecycle/Lifecycle.style.js} +1 -2
  20. package/dist/components/RequestDetails/RequestDetails.js +10 -0
  21. package/dist/components/RequestDetails/RequestDetails.style.js +16 -0
  22. package/dist/components/RequestJourney/RequestJourney.js +14 -0
  23. package/dist/components/RequestJourney/RequestJourney.style.js +26 -0
  24. package/dist/components/RequestRow/RequestRow.js +9 -0
  25. package/{src/components/RequestRow/RequestRow.style.tsx → dist/components/RequestRow/RequestRow.style.js} +6 -10
  26. package/dist/components/Size/Size.js +10 -0
  27. package/dist/components/Size/Size.style.js +5 -0
  28. package/{src/components/Time/Time.tsx → dist/components/Time/Time.js} +3 -17
  29. package/{src/components/Time/Time.style.tsx → dist/components/Time/Time.style.js} +4 -7
  30. package/dist/containers/DevMenuContainer.js +11 -0
  31. package/dist/containers/DevPanelContainer.js +6 -0
  32. package/dist/containers/DevtoolsAppContainer.js +24 -0
  33. package/{src/containers/EndpointConfigsContainer.tsx → dist/containers/EndpointConfigsContainer.js} +2 -5
  34. package/{src/containers/EndpointStatusContainer.tsx → dist/containers/EndpointStatusContainer.js} +2 -5
  35. package/{src/containers/GlobalSettingsContainer.tsx → dist/containers/GlobalSettingsContainer.js} +2 -5
  36. package/{src/containers/GlobalStatsContainer.tsx → dist/containers/GlobalStatsContainer.js} +2 -5
  37. package/{src/containers/LifecycleApiErrorContainer.tsx → dist/containers/LifecycleApiErrorContainer.js} +2 -4
  38. package/dist/containers/LifecycleFailedContainer.js +9 -0
  39. package/{src/containers/LifecycleGeneralErrorContainer.tsx → dist/containers/LifecycleGeneralErrorContainer.js} +2 -4
  40. package/{src/containers/LifecycleInQueueContainer.tsx → dist/containers/LifecycleInQueueContainer.js} +2 -4
  41. package/{src/containers/LifecyclePendingApiContainer.tsx → dist/containers/LifecyclePendingApiContainer.js} +2 -4
  42. package/{src/containers/LifecyclePostActionContainer.tsx → dist/containers/LifecyclePostActionContainer.js} +2 -4
  43. package/{src/containers/LifecycleReceivedContainer.tsx → dist/containers/LifecycleReceivedContainer.js} +2 -4
  44. package/{src/data/devComponents.tsx → dist/data/devComponents.js} +3 -4
  45. package/{src/data/devRoutes.ts → dist/data/devRoutes.js} +23 -28
  46. package/dist/dts/components/DevInspector/DevInspector.d.ts +7 -0
  47. package/dist/dts/components/DevInspector/DevInspector.style.d.ts +1 -0
  48. package/dist/dts/components/DevList/DevList.d.ts +9 -0
  49. package/dist/dts/components/DevList/DevList.style.d.ts +2 -0
  50. package/dist/dts/components/DevMenu/DevMenu.d.ts +12 -0
  51. package/dist/dts/components/DevMenu/DevMenu.style.d.ts +7 -0
  52. package/dist/dts/components/DevPanel/DevPanel.d.ts +6 -0
  53. package/dist/dts/components/DevPanel/DevPanel.style.d.ts +3 -0
  54. package/dist/dts/components/DevtoolsApp/DevtoolsApp.d.ts +10 -0
  55. package/dist/dts/components/DevtoolsApp/DevtoolsApp.style.d.ts +1 -0
  56. package/dist/dts/components/Icon/AllIcons.d.ts +8 -0
  57. package/dist/dts/components/Icon/Icon.d.ts +10 -0
  58. package/dist/dts/components/Icon/Icon.style.d.ts +3 -0
  59. package/dist/dts/components/JourneyRow/JourneyRow.d.ts +7 -0
  60. package/dist/dts/components/JourneyRow/JourneyRow.style.d.ts +5 -0
  61. package/dist/dts/components/JsonViewer/JsonViewer.d.ts +7 -0
  62. package/dist/dts/components/JsonViewer/JsonViewer.style.d.ts +3 -0
  63. package/dist/dts/components/Lifecycle/Lifecycle.d.ts +7 -0
  64. package/dist/dts/components/Lifecycle/Lifecycle.style.d.ts +1 -0
  65. package/dist/dts/components/RequestDetails/RequestDetails.d.ts +7 -0
  66. package/dist/dts/components/RequestDetails/RequestDetails.style.d.ts +4 -0
  67. package/dist/dts/components/RequestJourney/RequestJourney.d.ts +7 -0
  68. package/dist/dts/components/RequestJourney/RequestJourney.style.d.ts +1 -0
  69. package/dist/dts/components/RequestRow/RequestRow.d.ts +11 -0
  70. package/dist/dts/components/RequestRow/RequestRow.style.d.ts +6 -0
  71. package/dist/dts/components/Size/Size.d.ts +6 -0
  72. package/dist/dts/components/Size/Size.style.d.ts +1 -0
  73. package/dist/dts/components/Time/Time.d.ts +6 -0
  74. package/dist/dts/components/Time/Time.style.d.ts +3 -0
  75. package/dist/dts/containers/DevMenuContainer.d.ts +8 -0
  76. package/dist/dts/containers/DevPanelContainer.d.ts +6 -0
  77. package/dist/dts/containers/DevtoolsAppContainer.d.ts +7 -0
  78. package/dist/dts/containers/EndpointConfigsContainer.d.ts +3 -0
  79. package/dist/dts/containers/EndpointStatusContainer.d.ts +3 -0
  80. package/dist/dts/containers/GlobalSettingsContainer.d.ts +3 -0
  81. package/dist/dts/containers/GlobalStatsContainer.d.ts +3 -0
  82. package/dist/dts/containers/LifecycleApiErrorContainer.d.ts +3 -0
  83. package/dist/dts/containers/LifecycleFailedContainer.d.ts +3 -0
  84. package/dist/dts/containers/LifecycleGeneralErrorContainer.d.ts +3 -0
  85. package/dist/dts/containers/LifecycleInQueueContainer.d.ts +3 -0
  86. package/dist/dts/containers/LifecyclePendingApiContainer.d.ts +3 -0
  87. package/dist/dts/containers/LifecyclePostActionContainer.d.ts +3 -0
  88. package/dist/dts/containers/LifecycleReceivedContainer.d.ts +3 -0
  89. package/dist/dts/data/devComponents.d.ts +4 -0
  90. package/dist/dts/data/devRoutes.d.ts +8 -0
  91. package/dist/dts/hooks/useStoreSize.d.ts +7 -0
  92. package/dist/dts/index.d.ts +1 -0
  93. package/dist/dts/store/selectors.d.ts +2235 -0
  94. package/dist/dts/types.d.ts +0 -0
  95. package/dist/dts/utils/date.d.ts +4 -0
  96. package/dist/dts/utils/download.d.ts +1 -0
  97. package/dist/hooks/useStoreSize.js +16 -0
  98. package/dist/index.d.ts +1 -0
  99. package/dist/index.js +1 -0
  100. package/dist/redux-connected-devtools.es.js +992 -0
  101. package/dist/redux-connected-devtools.es.js.map +1 -0
  102. package/dist/redux-connected-devtools.umd.js +247 -0
  103. package/dist/redux-connected-devtools.umd.js.map +1 -0
  104. package/dist/store/selectors.js +143 -0
  105. package/dist/types.js +1 -0
  106. package/dist/utils/date.js +8 -0
  107. package/dist/utils/download.js +17 -0
  108. package/package.json +29 -13
  109. package/.env +0 -2
  110. package/.prettierrc.js +0 -10
  111. package/.vscode/settings.json +0 -12
  112. package/.vscode/tasks.json +0 -33
  113. package/index.html +0 -58
  114. package/jest.config.js +0 -8
  115. package/public/devtools.html +0 -8
  116. package/public/icon.png +0 -0
  117. package/public/manifest.json +0 -29
  118. package/public/options.html +0 -12
  119. package/public/panel.html +0 -39
  120. package/public/popup.html +0 -12
  121. package/src/__tests__/sum.ts +0 -9
  122. package/src/background.ts +0 -49
  123. package/src/components/DevInspector/DevInspector.scss +0 -2
  124. package/src/components/DevInspector/DevInspector.tsx +0 -34
  125. package/src/components/DevList/DevList.scss +0 -2
  126. package/src/components/DevList/DevList.tsx +0 -62
  127. package/src/components/DevMenu/DevMenu.scss +0 -2
  128. package/src/components/DevMenu/DevMenu.tsx +0 -76
  129. package/src/components/DevPanel/DevPanel.scss +0 -2
  130. package/src/components/DevPanel/DevPanel.style.tsx +0 -16
  131. package/src/components/DevPanel/DevPanel.tsx +0 -51
  132. package/src/components/JourneyRow/JourneyRow.scss +0 -2
  133. package/src/components/JsonViewer/JsonViewer.scss +0 -2
  134. package/src/components/JsonViewer/JsonViewer.tsx +0 -24
  135. package/src/components/Lifecycle/Lifecycle.scss +0 -2
  136. package/src/components/Lifecycle/Lifecycle.tsx +0 -31
  137. package/src/components/LogsViewer/LogsViewer.scss +0 -2
  138. package/src/components/LogsViewer/LogsViewer.style.tsx +0 -5
  139. package/src/components/LogsViewer/LogsViewer.tsx +0 -14
  140. package/src/components/RequestDetails/RequestDetails.scss +0 -2
  141. package/src/components/RequestDetails/RequestDetails.style.tsx +0 -20
  142. package/src/components/RequestDetails/RequestDetails.tsx +0 -60
  143. package/src/components/RequestJourney/RequestJourney.scss +0 -2
  144. package/src/components/RequestJourney/RequestJourney.style.tsx +0 -6
  145. package/src/components/RequestJourney/RequestJourney.tsx +0 -33
  146. package/src/components/RequestRow/RequestRow.scss +0 -2
  147. package/src/components/RequestRow/RequestRow.tsx +0 -37
  148. package/src/components/Time/Time.scss +0 -2
  149. package/src/containers/DevMenuContainer.tsx +0 -28
  150. package/src/containers/DevPanelContainer.tsx +0 -10
  151. package/src/content_script.ts +0 -19
  152. package/src/devtools.tsx +0 -29
  153. package/src/index.ts +0 -1
  154. package/src/injected_script.ts +0 -9
  155. package/src/options.tsx +0 -77
  156. package/src/panel.tsx +0 -30
  157. package/src/popup.tsx +0 -63
  158. package/src/store/initialState.ts +0 -42
  159. package/src/store/selectors.ts +0 -205
  160. package/src/sum.ts +0 -3
  161. package/src/types.ts +0 -1
  162. package/src/utils/date.ts +0 -3
  163. package/tsconfig.json +0 -24
  164. package/vite.config.ts +0 -45
  165. package/webpack/webpack.common.js +0 -46
  166. package/webpack/webpack.dev.js +0 -7
  167. package/webpack/webpack.prod.js +0 -6
@@ -1,76 +0,0 @@
1
- import React from 'react';
2
- import { IDevRoute } from '../../data/devRoutes';
3
- import {
4
- Container,
5
- MenuGroup,
6
- MenuGroupTitle,
7
- MenuItem,
8
- Title,
9
- Badge,
10
- BadgeTotal,
11
- } from './DevMenu.style';
12
-
13
- export type DevMenuProps = {
14
- groups: string[];
15
- items: IDevRoute[];
16
- onClick: (route: IDevRoute) => void;
17
- selectedId: string;
18
- badges: Record<string, number>;
19
- badgesTotal: Record<string, number>;
20
- };
21
-
22
- export function DevMenu(props: DevMenuProps) {
23
- const { groups, items, selectedId, badges, badgesTotal } = props;
24
-
25
- function renderItem(item: IDevRoute) {
26
- const { title, id } = item;
27
- const selected = id === selectedId;
28
-
29
- const badge = badges[id];
30
- const badgeTotal = badgesTotal[id];
31
-
32
- return (
33
- <MenuItem
34
- selected={selected}
35
- key={item.id}
36
- onClick={() => props.onClick(item)}
37
- >
38
- <Title>{title}</Title>
39
- {badgeTotal > 0 && badgeTotal !== badge && (
40
- <BadgeTotal>{badgeTotal}</BadgeTotal>
41
- )}
42
- {badge > 0 && <Badge>{badge}</Badge>}
43
- </MenuItem>
44
- );
45
- }
46
-
47
- function renderItems(groupItems: IDevRoute[]) {
48
- return groupItems.map((item: IDevRoute) => renderItem(item));
49
- }
50
-
51
- function renderGroup(group: string) {
52
- const groupItems = items.filter((item) => item.group === group);
53
-
54
- return (
55
- <MenuGroup key={group}>
56
- <MenuGroupTitle>{group}</MenuGroupTitle>
57
- {renderItems(groupItems)}
58
- </MenuGroup>
59
- );
60
- }
61
-
62
- function renderGroups() {
63
- return groups.map((group: string) => renderGroup(group));
64
- }
65
-
66
- return (
67
- <Container
68
- className='DevMenu-container'
69
- data-testid='DevMenu-container'
70
- >
71
- {renderGroups()}
72
- </Container>
73
- );
74
- }
75
-
76
- export default DevMenu;
@@ -1,2 +0,0 @@
1
- .DevPanel-container {
2
- }
@@ -1,16 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- export const Container = styled.div`
4
- flex: 1;
5
- color: #eee;
6
- background-color: #232332;
7
- display: flex;
8
- flex-direction: row;
9
- `;
10
-
11
- export const Content = styled.div`
12
- flex: 1;
13
- background-color: rgba(0, 0, 0, 0.15);
14
- display: flex;
15
- flex-direction: column;
16
- `;
@@ -1,51 +0,0 @@
1
- import DevMenu from '../../containers/DevMenuContainer';
2
- import React, { useState } from 'react';
3
- import { Container, Content } from './DevPanel.style';
4
- import { devComponents } from '../../data/devComponents';
5
- import { devGroups, devRoutes, IDevRoute } from '../../data/devRoutes';
6
- import { Json } from '../../types';
7
-
8
- export type DevPanelProps = {};
9
-
10
- export function DevPanel(props: DevPanelProps) {
11
- const [route, setRoute] = useState<IDevRoute>(devRoutes[0]);
12
-
13
- function renderRoute() {
14
- const Cmp = devComponents[route.componentId];
15
- return <Cmp key={route.id} />;
16
- }
17
-
18
- return (
19
- <Container
20
- className='DevPanel-container'
21
- data-testid='DevPanel-container'
22
- >
23
- <DevMenu
24
- selectedId={route.id}
25
- onClick={(item: IDevRoute) => setRoute(item)}
26
- />
27
- <Content>{renderRoute()}</Content>
28
- </Container>
29
- );
30
- }
31
-
32
- let bgConnection;
33
-
34
- function init(id: string) {
35
- bgConnection = chrome.runtime?.connect({
36
- name: id,
37
- });
38
-
39
- if (bgConnection) {
40
- bgConnection.onMessage.addListener((message: Json) => {
41
- console.log('message ->', message);
42
- });
43
- }
44
- }
45
-
46
- if (chrome) {
47
- const tabId = String(chrome.devtools?.inspectedWindow.tabId || '');
48
- init(tabId);
49
- }
50
-
51
- export default DevPanel;
@@ -1,2 +0,0 @@
1
- .JourneyRow-container {
2
- }
@@ -1,2 +0,0 @@
1
- .JsonViewer-container {
2
- }
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { Json } from '../../types';
3
- import { Container } from './JsonViewer.style';
4
-
5
- export type JsonViewerProps = {
6
- json: Json | undefined;
7
- width?: number;
8
- };
9
-
10
- export function JsonViewer(props: JsonViewerProps) {
11
- const { json, width } = props;
12
-
13
- return (
14
- <Container
15
- className='JsonViewer-container'
16
- data-testid='JsonViewer-container'
17
- width={width}
18
- >
19
- <pre>{JSON.stringify(json, null, 4)}</pre>
20
- </Container>
21
- );
22
- }
23
-
24
- export default JsonViewer;
@@ -1,2 +0,0 @@
1
- .Lifecycle-container {
2
- }
@@ -1,31 +0,0 @@
1
- import DevInspector from '../DevInspector/DevInspector';
2
- import DevList from '../DevList/DevList';
3
- import React, { useState } from 'react';
4
- import RequestRow from '../RequestRow/RequestRow';
5
- import { ApiRequest } from 'redux-connected';
6
- import { Container } from './Lifecycle.style';
7
-
8
- export type LifecycleProps = {
9
- requests: ApiRequest[];
10
- };
11
-
12
- export function Lifecycle(props: LifecycleProps) {
13
- const { requests } = props;
14
- const [item, setItem] = useState<ApiRequest>();
15
-
16
- function onClick(newItem: ApiRequest) {
17
- setItem(newItem);
18
- }
19
-
20
- return (
21
- <Container
22
- className='Lifecycle-container'
23
- data-testid='Lifecycle-container'
24
- >
25
- <DevList items={requests} row={RequestRow} onClick={onClick} />
26
- <DevInspector item={item} />
27
- </Container>
28
- );
29
- }
30
-
31
- export default Lifecycle;
@@ -1,2 +0,0 @@
1
- .LogsViewer-container {
2
- }
@@ -1,5 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- export const Container = styled.div`
4
- flex: 1;
5
- `;
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import { Container } from './LogsViewer.style';
3
-
4
- export type LogsViewerProps = {};
5
-
6
- export function LogsViewer(_props: LogsViewerProps) {
7
- return (
8
- <Container className="LogsViewer-container" data-testid="LogsViewer-container">
9
- LogsViewer
10
- </Container>
11
- );
12
- }
13
-
14
- export default LogsViewer;
@@ -1,2 +0,0 @@
1
- .RequestDetails-container {
2
- }
@@ -1,20 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- export const Container = styled.div`
4
- flex: 1;
5
- padding: 20px;
6
- `;
7
-
8
- export const Table = styled.table``;
9
-
10
- export const Tr = styled.tr``;
11
-
12
- export const Td = styled.td`
13
- color: goldenrod;
14
-
15
- &:first-child {
16
- color: #778;
17
- text-align: right;
18
- padding-right: 10px;
19
- }
20
- `;
@@ -1,60 +0,0 @@
1
- import React from 'react';
2
- import { Container, Table, Tr, Td } from './RequestDetails.style';
3
- import { ApiRequest } from 'redux-connected';
4
- import JsonViewer from '../JsonViewer/JsonViewer';
5
- import bytes from 'bytes';
6
-
7
- export type RequestDetailsProps = {
8
- item: ApiRequest;
9
- };
10
-
11
- export function RequestDetails(props: RequestDetailsProps) {
12
- const { item } = props;
13
-
14
- return (
15
- <Container
16
- className='RequestDetails-container'
17
- data-testid='RequestDetails-container'
18
- >
19
- <Table>
20
- <tbody>
21
- <Tr>
22
- <Td>sequence</Td>
23
- <Td>{item.sequence}</Td>
24
- </Tr>
25
- <Tr>
26
- <Td>id</Td>
27
- <Td>{item.shortId}</Td>
28
- </Tr>
29
- <Tr>
30
- <Td>apiVerb</Td>
31
- <Td>{item.argsApiVerb}</Td>
32
- </Tr>
33
- <Tr>
34
- <Td>connection</Td>
35
- <Td>{item.argsConnectionType}</Td>
36
- </Tr>
37
- <Tr>
38
- <Td>duration</Td>
39
- <Td>{item.apiDuration}</Td>
40
- </Tr>
41
- <Tr>
42
- <Td>nodeName</Td>
43
- <Td>{item.argsNodeName}</Td>
44
- </Tr>
45
- <Tr>
46
- <Td>responseSize</Td>
47
- <Td>
48
- {item.apiResponseSize &&
49
- bytes(item.apiResponseSize)}
50
- </Td>
51
- </Tr>
52
- </tbody>
53
- </Table>
54
-
55
- <JsonViewer width={290} json={item.originalAction} />
56
- </Container>
57
- );
58
- }
59
-
60
- export default RequestDetails;
@@ -1,2 +0,0 @@
1
- .RequestJourney-container {
2
- }
@@ -1,6 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- export const Container = styled.div`
4
- flex: 1;
5
- border-top: 1px solid #333;
6
- `;
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { Container } from './RequestJourney.style';
3
- import { ApiRequest, JourneyPoint } from 'redux-connected';
4
- import JourneyRow from '../JourneyRow/JourneyRow';
5
-
6
- export type RequestJourneyProps = {
7
- item: ApiRequest;
8
- };
9
-
10
- export function RequestJourney(props: RequestJourneyProps) {
11
- const { item } = props;
12
-
13
- function renderItem(point: JourneyPoint, index: number) {
14
- return <JourneyRow key={index} point={point} />;
15
- }
16
-
17
- function renderItems() {
18
- return item.items.map((point: JourneyPoint, index: number) =>
19
- renderItem(point, index)
20
- );
21
- }
22
-
23
- return (
24
- <Container
25
- className='RequestJourney-container'
26
- data-testid='RequestJourney-container'
27
- >
28
- {renderItems()}
29
- </Container>
30
- );
31
- }
32
-
33
- export default RequestJourney;
@@ -1,2 +0,0 @@
1
- .RequestRow-container {
2
- }
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { Container, Col, Id, Type } from './RequestRow.style';
3
- import Time from '../Time/Time';
4
- import { Json } from '../../types';
5
- import { ApiRequest } from 'redux-connected';
6
-
7
- export type RequestRowProps = {
8
- style: Json;
9
- item: ApiRequest;
10
- index: number;
11
- onClick: (item: ApiRequest) => void;
12
- };
13
-
14
- export function RequestRow(props: RequestRowProps) {
15
- const { index, style, item } = props;
16
- const { sequence, createdTS } = item;
17
-
18
- return (
19
- <Container
20
- className='DevListRow-container'
21
- data-testid='DevListRow-container'
22
- style={style}
23
- index={index}
24
- onClick={() => props.onClick(item)}
25
- >
26
- <Col>
27
- <Id>{sequence}</Id>
28
- <Type>{item.originalAction?.type}</Type>
29
- </Col>
30
- <Col>
31
- <Time value={createdTS} />
32
- </Col>
33
- </Container>
34
- );
35
- }
36
-
37
- export default RequestRow;
@@ -1,2 +0,0 @@
1
- .Time-container {
2
- }
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { useSelector } from 'react-redux';
3
- import DevMenu from '../components/DevMenu/DevMenu';
4
- import { devGroups, devRoutes, IDevRoute } from '../data/devRoutes';
5
- import { $menuBadges, $menuBadgesTotal } from '../store/selectors';
6
-
7
- type DevPanelProps = {
8
- selectedId: string;
9
- onClick: (route: IDevRoute) => void;
10
- };
11
-
12
- export function DevMenuContainer(props: DevPanelProps) {
13
- const badges = useSelector($menuBadges);
14
- const badgesTotal = useSelector($menuBadgesTotal);
15
-
16
- return (
17
- <DevMenu
18
- groups={devGroups}
19
- items={devRoutes}
20
- badges={badges}
21
- badgesTotal={badgesTotal}
22
- selectedId={props.selectedId}
23
- onClick={props.onClick}
24
- />
25
- );
26
- }
27
-
28
- export default DevMenuContainer;
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import DevPanel from '../components/DevPanel/DevPanel';
3
-
4
- type DevPanelProps = {};
5
-
6
- export function DevPanelContainer(_props: DevPanelProps) {
7
- return <DevPanel />;
8
- }
9
-
10
- export default DevPanelContainer;
@@ -1,19 +0,0 @@
1
- window.addEventListener('message', function (event) {
2
- // Only accept messages from the same frame
3
- if (event.source !== window) {
4
- return;
5
- }
6
-
7
- const message = event.data as any;
8
-
9
- // Only accept messages that we know are ours
10
- if (
11
- typeof message !== 'object' ||
12
- message === null ||
13
- message.source !== 'devtools-page'
14
- ) {
15
- return;
16
- }
17
-
18
- chrome.runtime.sendMessage(message);
19
- });
package/src/devtools.tsx DELETED
@@ -1,29 +0,0 @@
1
- // devtools.js
2
- const backgroundPageConnection = chrome.runtime.connect({
3
- name: 'devtools-page',
4
- });
5
-
6
- let panel: any;
7
-
8
- chrome.devtools.panels.create(
9
- 'Redux connected',
10
- '',
11
- 'panel.html',
12
- function (_panel) {
13
- panel = _panel;
14
-
15
- backgroundPageConnection.postMessage({
16
- name: 'init',
17
- tabId: chrome.devtools.inspectedWindow.tabId,
18
- });
19
-
20
- backgroundPageConnection.postMessage({
21
- tabId: chrome.devtools.inspectedWindow.tabId,
22
- scriptToInject: 'injected_script.js',
23
- });
24
-
25
- backgroundPageConnection.onMessage.addListener(function (message: any) {
26
- // Handle responses from the background page, if any
27
- });
28
- }
29
- );
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- export { DevPanelContainer } from './containers/DevPanelContainer';
@@ -1,9 +0,0 @@
1
- // injected-script.js
2
-
3
- window.postMessage(
4
- {
5
- greeting: 'hello there!',
6
- source: 'devtools-page',
7
- },
8
- '*'
9
- );
package/src/options.tsx DELETED
@@ -1,77 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import ReactDOM from 'react-dom';
3
-
4
- const Options = () => {
5
- const [color, setColor] = useState<string>('');
6
- const [status, setStatus] = useState<string>('');
7
- const [like, setLike] = useState<boolean>(false);
8
-
9
- useEffect(() => {
10
- // Restores select box and checkbox state using the preferences
11
- // stored in chrome.storage.
12
- chrome.storage.sync.get(
13
- {
14
- favoriteColor: 'red',
15
- likesColor: true,
16
- },
17
- (items) => {
18
- setColor(items.favoriteColor);
19
- setLike(items.likesColor);
20
- }
21
- );
22
- }, []);
23
-
24
- const saveOptions = () => {
25
- // Saves options to chrome.storage.sync.
26
- chrome.storage.sync.set(
27
- {
28
- favoriteColor: color,
29
- likesColor: like,
30
- },
31
- () => {
32
- // Update status to let user know options were saved.
33
- setStatus('Options saved.');
34
- const id = setTimeout(() => {
35
- setStatus('');
36
- }, 1000);
37
- return () => clearTimeout(id);
38
- }
39
- );
40
- };
41
-
42
- return (
43
- <>
44
- <div>
45
- Favorite color:{' '}
46
- <select
47
- value={color}
48
- onChange={(event) => setColor(event.target.value)}
49
- >
50
- <option value='red'>red</option>
51
- <option value='green'>green</option>
52
- <option value='blue'>blue</option>
53
- <option value='yellow'>yellow</option>
54
- </select>
55
- </div>
56
- <div>
57
- <label>
58
- <input
59
- type='checkbox'
60
- checked={like}
61
- onChange={(event) => setLike(event.target.checked)}
62
- />
63
- I like colors.
64
- </label>
65
- </div>
66
- <div>{status}</div>
67
- <button onClick={saveOptions}>Save</button>
68
- </>
69
- );
70
- };
71
-
72
- ReactDOM.render(
73
- <React.StrictMode>
74
- <Options />
75
- </React.StrictMode>,
76
- document.getElementById('root')
77
- );
package/src/panel.tsx DELETED
@@ -1,30 +0,0 @@
1
- import DevPanel from './containers/DevPanelContainer';
2
- import React from 'react';
3
- import ReactDOM from 'react-dom';
4
- import { Provider } from 'react-redux';
5
- import { store } from './store/initialState';
6
-
7
- ReactDOM.render(
8
- <React.StrictMode>
9
- <Provider store={store}>
10
- <DevPanel />
11
- </Provider>
12
- </React.StrictMode>,
13
- document.getElementById('root')
14
- );
15
-
16
- chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
17
- if (sender.origin?.indexOf('http://localhost') === 0) {
18
- const store = (window as any).store;
19
-
20
- switch (request.type) {
21
- case 'CONNECTED_STATE':
22
- break;
23
- case 'CONNECTED_ACTION':
24
- const { payload } = request;
25
- const { action } = payload;
26
- store.dispatch(action);
27
- break;
28
- }
29
- }
30
- });