diff options
-rw-r--r-- | src/components/layout/AppLayout.js | 2 | ||||
-rw-r--r-- | src/config.js | 2 | ||||
-rw-r--r-- | src/features/publishDebugInfo/Component.js | 194 | ||||
-rw-r--r-- | src/features/publishDebugInfo/index.js | 24 | ||||
-rw-r--r-- | src/i18n/locales/defaultMessages.json | 262 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 8 | ||||
-rw-r--r-- | src/i18n/messages/src/components/layout/AppLayout.json | 16 | ||||
-rw-r--r-- | src/i18n/messages/src/features/debugger/Component.json | 15 | ||||
-rw-r--r-- | src/i18n/messages/src/features/publishDebugInfo/Component.json | 80 | ||||
-rw-r--r-- | src/i18n/messages/src/lib/Menu.json | 145 | ||||
-rw-r--r-- | src/lib/Menu.js | 15 | ||||
-rw-r--r-- | src/stores/FeaturesStore.js | 2 |
12 files changed, 614 insertions, 151 deletions
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index 80e6daf19..fe43c42d2 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -9,6 +9,7 @@ import InfoBar from '../ui/InfoBar'; | |||
9 | import { Component as BasicAuth } from '../../features/basicAuth'; | 9 | import { Component as BasicAuth } from '../../features/basicAuth'; |
10 | import { Component as ShareFranz } from '../../features/shareFranz'; | 10 | import { Component as ShareFranz } from '../../features/shareFranz'; |
11 | import { Component as QuickSwitch } from '../../features/quickSwitch'; | 11 | import { Component as QuickSwitch } from '../../features/quickSwitch'; |
12 | import { Component as PublishDebugInfo } from '../../features/publishDebugInfo'; | ||
12 | import ErrorBoundary from '../util/ErrorBoundary'; | 13 | import ErrorBoundary from '../util/ErrorBoundary'; |
13 | 14 | ||
14 | // import globalMessages from '../../i18n/globalMessages'; | 15 | // import globalMessages from '../../i18n/globalMessages'; |
@@ -189,6 +190,7 @@ class AppLayout extends Component { | |||
189 | <BasicAuth /> | 190 | <BasicAuth /> |
190 | <ShareFranz /> | 191 | <ShareFranz /> |
191 | <QuickSwitch /> | 192 | <QuickSwitch /> |
193 | <PublishDebugInfo /> | ||
192 | {services} | 194 | {services} |
193 | {children} | 195 | {children} |
194 | <TrialStatusBar /> | 196 | <TrialStatusBar /> |
diff --git a/src/config.js b/src/config.js index b4705105d..b5314ab8e 100644 --- a/src/config.js +++ b/src/config.js | |||
@@ -14,6 +14,8 @@ export const LOCAL_API = 'http://localhost:3000'; | |||
14 | export const DEV_API = 'https://dev.franzinfra.com'; | 14 | export const DEV_API = 'https://dev.franzinfra.com'; |
15 | export const LIVE_API = 'https://api.getferdi.com'; | 15 | export const LIVE_API = 'https://api.getferdi.com'; |
16 | 16 | ||
17 | export const DEBUG_API = 'http://localhost:3333'; | ||
18 | |||
17 | export const LOCAL_WS_API = 'ws://localhost:3000'; | 19 | export const LOCAL_WS_API = 'ws://localhost:3000'; |
18 | export const DEV_WS_API = 'wss://dev.franzinfra.com'; | 20 | export const DEV_WS_API = 'wss://dev.franzinfra.com'; |
19 | export const LIVE_WS_API = 'wss://api.franzinfra.com'; | 21 | export const LIVE_WS_API = 'wss://api.franzinfra.com'; |
diff --git a/src/features/publishDebugInfo/Component.js b/src/features/publishDebugInfo/Component.js new file mode 100644 index 000000000..fbaa88a43 --- /dev/null +++ b/src/features/publishDebugInfo/Component.js | |||
@@ -0,0 +1,194 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { observer, inject } from 'mobx-react'; | ||
4 | import { defineMessages, intlShape } from 'react-intl'; | ||
5 | import { H1 } from '@meetfranz/ui'; | ||
6 | import injectSheet from 'react-jss'; | ||
7 | |||
8 | import Input from '../../components/ui/Input'; | ||
9 | import Button from '../../components/ui/Button'; | ||
10 | import Modal from '../../components/ui/Modal'; | ||
11 | import { state as ModalState } from '.'; | ||
12 | import AppStore from '../../stores/AppStore'; | ||
13 | import { DEBUG_API } from '../../config'; | ||
14 | import { sendAuthRequest } from '../../api/utils/auth'; | ||
15 | |||
16 | const messages = defineMessages({ | ||
17 | title: { | ||
18 | id: 'feature.publishDebugInfo.title', | ||
19 | defaultMessage: '!!!Publish debug information', | ||
20 | }, | ||
21 | info: { | ||
22 | id: 'feature.publishDebugInfo.info', | ||
23 | defaultMessage: '!!!Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger\'s privacy policy and terms of service', | ||
24 | }, | ||
25 | privacy: { | ||
26 | id: 'feature.publishDebugInfo.privacy', | ||
27 | defaultMessage: '!!!Privacy policy', | ||
28 | }, | ||
29 | terms: { | ||
30 | id: 'feature.publishDebugInfo.terms', | ||
31 | defaultMessage: '!!!Terms of service', | ||
32 | }, | ||
33 | publish: { | ||
34 | id: 'feature.publishDebugInfo.publish', | ||
35 | defaultMessage: '!!!Accept and publish', | ||
36 | }, | ||
37 | published: { | ||
38 | id: 'feature.publishDebugInfo.published', | ||
39 | defaultMessage: '!!!Your debug log was published and is now availible at', | ||
40 | }, | ||
41 | }); | ||
42 | |||
43 | const styles = theme => ({ | ||
44 | container: { | ||
45 | minWidth: '70vw', | ||
46 | }, | ||
47 | info: { | ||
48 | paddingTop: 20, | ||
49 | paddingBottom: 20, | ||
50 | }, | ||
51 | link: { | ||
52 | color: `${theme.styleTypes.primary.accent} !important`, | ||
53 | padding: 10, | ||
54 | cursor: 'pointer', | ||
55 | }, | ||
56 | button: { | ||
57 | width: '100%', | ||
58 | marginTop: 10, | ||
59 | cursor: 'pointer', | ||
60 | }, | ||
61 | url: { | ||
62 | marginTop: 20, | ||
63 | width: '100%', | ||
64 | |||
65 | '& div': { | ||
66 | fontFamily: 'SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace', | ||
67 | }, | ||
68 | |||
69 | '& input': { | ||
70 | width: '100%', | ||
71 | padding: 15, | ||
72 | borderRadius: 6, | ||
73 | border: `solid 1px ${theme.styleTypes.primary.accent}`, | ||
74 | }, | ||
75 | }, | ||
76 | }); | ||
77 | |||
78 | export default @injectSheet(styles) @inject('stores') @observer class PublishDebugLogModal extends Component { | ||
79 | static propTypes = { | ||
80 | classes: PropTypes.object.isRequired, | ||
81 | }; | ||
82 | |||
83 | static contextTypes = { | ||
84 | intl: intlShape, | ||
85 | }; | ||
86 | |||
87 | state = { | ||
88 | log: null, | ||
89 | isSendingLog: false, | ||
90 | } | ||
91 | |||
92 | // Close this modal | ||
93 | close() { | ||
94 | ModalState.isModalVisible = false; | ||
95 | } | ||
96 | |||
97 | async publishDebugInfo() { | ||
98 | this.setState({ | ||
99 | isSendingLog: true, | ||
100 | }); | ||
101 | |||
102 | const debugInfo = JSON.stringify(this.props.stores.app.debugInfo); | ||
103 | |||
104 | const request = await sendAuthRequest(`${DEBUG_API}/create`, { | ||
105 | method: 'POST', | ||
106 | body: JSON.stringify({ | ||
107 | log: debugInfo, | ||
108 | }), | ||
109 | }, false); | ||
110 | const response = await request.json(); | ||
111 | |||
112 | if (response.id) { | ||
113 | this.setState({ | ||
114 | log: response.id, | ||
115 | }); | ||
116 | } else { | ||
117 | // TODO: Show error message | ||
118 | this.close(); | ||
119 | } | ||
120 | } | ||
121 | |||
122 | render() { | ||
123 | const { isModalVisible } = ModalState; | ||
124 | |||
125 | const { | ||
126 | classes, | ||
127 | } = this.props; | ||
128 | |||
129 | const { | ||
130 | log, | ||
131 | } = this.state; | ||
132 | |||
133 | const { intl } = this.context; | ||
134 | |||
135 | return ( | ||
136 | <Modal | ||
137 | isOpen={isModalVisible} | ||
138 | shouldCloseOnOverlayClick | ||
139 | close={this.close.bind(this)} | ||
140 | > | ||
141 | <div className={classes.container}> | ||
142 | <H1> | ||
143 | {intl.formatMessage(messages.title)} | ||
144 | </H1> | ||
145 | { log ? ( | ||
146 | <> | ||
147 | <p className={classes.info}>{intl.formatMessage(messages.published)}</p> | ||
148 | <Input | ||
149 | className={classes.url} | ||
150 | showLabel={false} | ||
151 | field={{ | ||
152 | type: 'url', | ||
153 | value: `${DEBUG_API}/${log}`, | ||
154 | disabled: true, | ||
155 | }} | ||
156 | readonly | ||
157 | /> | ||
158 | </> | ||
159 | ) : ( | ||
160 | <> | ||
161 | <p className={classes.info}>{intl.formatMessage(messages.info)}</p> | ||
162 | |||
163 | <a href={`${DEBUG_API}/privacy.html`} target="_blank" className={classes.link}> | ||
164 | {intl.formatMessage(messages.privacy)} | ||
165 | </a> | ||
166 | <a href={`${DEBUG_API}/terms.html`} target="_blank" className={classes.link}> | ||
167 | {intl.formatMessage(messages.terms)} | ||
168 | </a> | ||
169 | |||
170 | <Button | ||
171 | type="button" | ||
172 | label={intl.formatMessage(messages.publish)} | ||
173 | className={classes.button} | ||
174 | onClick={this.publishDebugInfo.bind(this)} | ||
175 | disabled={this.state.isSendingLog} | ||
176 | /> | ||
177 | </> | ||
178 | ) } | ||
179 | </div> | ||
180 | </Modal> | ||
181 | ); | ||
182 | } | ||
183 | } | ||
184 | |||
185 | PublishDebugLogModal.wrappedComponent.propTypes = { | ||
186 | stores: PropTypes.shape({ | ||
187 | app: PropTypes.instanceOf(AppStore).isRequired, | ||
188 | }).isRequired, | ||
189 | actions: PropTypes.shape({ | ||
190 | service: PropTypes.shape({ | ||
191 | setActive: PropTypes.func.isRequired, | ||
192 | }).isRequired, | ||
193 | }).isRequired, | ||
194 | }; | ||
diff --git a/src/features/publishDebugInfo/index.js b/src/features/publishDebugInfo/index.js new file mode 100644 index 000000000..7d0d310c2 --- /dev/null +++ b/src/features/publishDebugInfo/index.js | |||
@@ -0,0 +1,24 @@ | |||
1 | import { observable } from 'mobx'; | ||
2 | |||
3 | export { default as Component } from './Component'; | ||
4 | |||
5 | const debug = require('debug')('Ferdi:feature:publishDebugInfo'); | ||
6 | |||
7 | const defaultState = { | ||
8 | isModalVisible: false, | ||
9 | }; | ||
10 | |||
11 | export const state = observable(defaultState); | ||
12 | |||
13 | export default function initialize() { | ||
14 | debug('Initialize publishDebugInfo feature'); | ||
15 | |||
16 | function showModal() { | ||
17 | state.isModalVisible = true; | ||
18 | } | ||
19 | |||
20 | window.ferdi.features.publishDebugInfo = { | ||
21 | state, | ||
22 | showModal, | ||
23 | }; | ||
24 | } | ||
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index 59930a054..8d5a6b9c4 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -934,52 +934,52 @@ | |||
934 | "defaultMessage": "!!!Your services have been updated.", | 934 | "defaultMessage": "!!!Your services have been updated.", |
935 | "end": { | 935 | "end": { |
936 | "column": 3, | 936 | "column": 3, |
937 | "line": 33 | 937 | "line": 34 |
938 | }, | 938 | }, |
939 | "file": "src/components/layout/AppLayout.js", | 939 | "file": "src/components/layout/AppLayout.js", |
940 | "id": "infobar.servicesUpdated", | 940 | "id": "infobar.servicesUpdated", |
941 | "start": { | 941 | "start": { |
942 | "column": 19, | 942 | "column": 19, |
943 | "line": 30 | 943 | "line": 31 |
944 | } | 944 | } |
945 | }, | 945 | }, |
946 | { | 946 | { |
947 | "defaultMessage": "!!!Reload services", | 947 | "defaultMessage": "!!!Reload services", |
948 | "end": { | 948 | "end": { |
949 | "column": 3, | 949 | "column": 3, |
950 | "line": 37 | 950 | "line": 38 |
951 | }, | 951 | }, |
952 | "file": "src/components/layout/AppLayout.js", | 952 | "file": "src/components/layout/AppLayout.js", |
953 | "id": "infobar.buttonReloadServices", | 953 | "id": "infobar.buttonReloadServices", |
954 | "start": { | 954 | "start": { |
955 | "column": 24, | 955 | "column": 24, |
956 | "line": 34 | 956 | "line": 35 |
957 | } | 957 | } |
958 | }, | 958 | }, |
959 | { | 959 | { |
960 | "defaultMessage": "!!!Could not load services and user information", | 960 | "defaultMessage": "!!!Could not load services and user information", |
961 | "end": { | 961 | "end": { |
962 | "column": 3, | 962 | "column": 3, |
963 | "line": 41 | 963 | "line": 42 |
964 | }, | 964 | }, |
965 | "file": "src/components/layout/AppLayout.js", | 965 | "file": "src/components/layout/AppLayout.js", |
966 | "id": "infobar.requiredRequestsFailed", | 966 | "id": "infobar.requiredRequestsFailed", |
967 | "start": { | 967 | "start": { |
968 | "column": 26, | 968 | "column": 26, |
969 | "line": 38 | 969 | "line": 39 |
970 | } | 970 | } |
971 | }, | 971 | }, |
972 | { | 972 | { |
973 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 973 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
974 | "end": { | 974 | "end": { |
975 | "column": 3, | 975 | "column": 3, |
976 | "line": 45 | 976 | "line": 46 |
977 | }, | 977 | }, |
978 | "file": "src/components/layout/AppLayout.js", | 978 | "file": "src/components/layout/AppLayout.js", |
979 | "id": "infobar.authRequestFailed", | 979 | "id": "infobar.authRequestFailed", |
980 | "start": { | 980 | "start": { |
981 | "column": 21, | 981 | "column": 21, |
982 | "line": 42 | 982 | "line": 43 |
983 | } | 983 | } |
984 | } | 984 | } |
985 | ], | 985 | ], |
@@ -4645,6 +4645,24 @@ | |||
4645 | { | 4645 | { |
4646 | "descriptors": [ | 4646 | "descriptors": [ |
4647 | { | 4647 | { |
4648 | "defaultMessage": "!!!Publish debugging information", | ||
4649 | "end": { | ||
4650 | "column": 3, | ||
4651 | "line": 19 | ||
4652 | }, | ||
4653 | "file": "src/features/debugger/Component.js", | ||
4654 | "id": "feature.debugger.title", | ||
4655 | "start": { | ||
4656 | "column": 9, | ||
4657 | "line": 16 | ||
4658 | } | ||
4659 | } | ||
4660 | ], | ||
4661 | "path": "src/features/debugger/Component.json" | ||
4662 | }, | ||
4663 | { | ||
4664 | "descriptors": [ | ||
4665 | { | ||
4648 | "defaultMessage": "!!!Please purchase license to skip waiting", | 4666 | "defaultMessage": "!!!Please purchase license to skip waiting", |
4649 | "end": { | 4667 | "end": { |
4650 | "column": 3, | 4668 | "column": 3, |
@@ -5008,6 +5026,89 @@ | |||
5008 | { | 5026 | { |
5009 | "descriptors": [ | 5027 | "descriptors": [ |
5010 | { | 5028 | { |
5029 | "defaultMessage": "!!!Publish debug information", | ||
5030 | "end": { | ||
5031 | "column": 3, | ||
5032 | "line": 20 | ||
5033 | }, | ||
5034 | "file": "src/features/publishDebugInfo/Component.js", | ||
5035 | "id": "feature.publishDebugInfo.title", | ||
5036 | "start": { | ||
5037 | "column": 9, | ||
5038 | "line": 17 | ||
5039 | } | ||
5040 | }, | ||
5041 | { | ||
5042 | "defaultMessage": "!!!Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", | ||
5043 | "end": { | ||
5044 | "column": 3, | ||
5045 | "line": 24 | ||
5046 | }, | ||
5047 | "file": "src/features/publishDebugInfo/Component.js", | ||
5048 | "id": "feature.publishDebugInfo.info", | ||
5049 | "start": { | ||
5050 | "column": 8, | ||
5051 | "line": 21 | ||
5052 | } | ||
5053 | }, | ||
5054 | { | ||
5055 | "defaultMessage": "!!!Privacy policy", | ||
5056 | "end": { | ||
5057 | "column": 3, | ||
5058 | "line": 28 | ||
5059 | }, | ||
5060 | "file": "src/features/publishDebugInfo/Component.js", | ||
5061 | "id": "feature.publishDebugInfo.privacy", | ||
5062 | "start": { | ||
5063 | "column": 11, | ||
5064 | "line": 25 | ||
5065 | } | ||
5066 | }, | ||
5067 | { | ||
5068 | "defaultMessage": "!!!Terms of service", | ||
5069 | "end": { | ||
5070 | "column": 3, | ||
5071 | "line": 32 | ||
5072 | }, | ||
5073 | "file": "src/features/publishDebugInfo/Component.js", | ||
5074 | "id": "feature.publishDebugInfo.terms", | ||
5075 | "start": { | ||
5076 | "column": 9, | ||
5077 | "line": 29 | ||
5078 | } | ||
5079 | }, | ||
5080 | { | ||
5081 | "defaultMessage": "!!!Accept and publish", | ||
5082 | "end": { | ||
5083 | "column": 3, | ||
5084 | "line": 36 | ||
5085 | }, | ||
5086 | "file": "src/features/publishDebugInfo/Component.js", | ||
5087 | "id": "feature.publishDebugInfo.publish", | ||
5088 | "start": { | ||
5089 | "column": 11, | ||
5090 | "line": 33 | ||
5091 | } | ||
5092 | }, | ||
5093 | { | ||
5094 | "defaultMessage": "!!!Your debug log was published and is now availible at", | ||
5095 | "end": { | ||
5096 | "column": 3, | ||
5097 | "line": 40 | ||
5098 | }, | ||
5099 | "file": "src/features/publishDebugInfo/Component.js", | ||
5100 | "id": "feature.publishDebugInfo.published", | ||
5101 | "start": { | ||
5102 | "column": 13, | ||
5103 | "line": 37 | ||
5104 | } | ||
5105 | } | ||
5106 | ], | ||
5107 | "path": "src/features/publishDebugInfo/Component.json" | ||
5108 | }, | ||
5109 | { | ||
5110 | "descriptors": [ | ||
5111 | { | ||
5011 | "defaultMessage": "!!!QuickSwitch", | 5112 | "defaultMessage": "!!!QuickSwitch", |
5012 | "end": { | 5113 | "end": { |
5013 | "column": 3, | 5114 | "column": 3, |
@@ -6593,432 +6694,445 @@ | |||
6593 | } | 6694 | } |
6594 | }, | 6695 | }, |
6595 | { | 6696 | { |
6596 | "defaultMessage": "!!!Ferdi Debug Information", | 6697 | "defaultMessage": "!!!Publish Debug Information", |
6597 | "end": { | 6698 | "end": { |
6598 | "column": 3, | 6699 | "column": 3, |
6599 | "line": 160 | 6700 | "line": 160 |
6600 | }, | 6701 | }, |
6601 | "file": "src/lib/Menu.js", | 6702 | "file": "src/lib/Menu.js", |
6703 | "id": "menu.help.publishDebugInfo", | ||
6704 | "start": { | ||
6705 | "column": 20, | ||
6706 | "line": 157 | ||
6707 | } | ||
6708 | }, | ||
6709 | { | ||
6710 | "defaultMessage": "!!!Ferdi Debug Information", | ||
6711 | "end": { | ||
6712 | "column": 3, | ||
6713 | "line": 164 | ||
6714 | }, | ||
6715 | "file": "src/lib/Menu.js", | ||
6602 | "id": "menu.help.debugInfoCopiedHeadline", | 6716 | "id": "menu.help.debugInfoCopiedHeadline", |
6603 | "start": { | 6717 | "start": { |
6604 | "column": 27, | 6718 | "column": 27, |
6605 | "line": 157 | 6719 | "line": 161 |
6606 | } | 6720 | } |
6607 | }, | 6721 | }, |
6608 | { | 6722 | { |
6609 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 6723 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
6610 | "end": { | 6724 | "end": { |
6611 | "column": 3, | 6725 | "column": 3, |
6612 | "line": 164 | 6726 | "line": 168 |
6613 | }, | 6727 | }, |
6614 | "file": "src/lib/Menu.js", | 6728 | "file": "src/lib/Menu.js", |
6615 | "id": "menu.help.debugInfoCopiedBody", | 6729 | "id": "menu.help.debugInfoCopiedBody", |
6616 | "start": { | 6730 | "start": { |
6617 | "column": 23, | 6731 | "column": 23, |
6618 | "line": 161 | 6732 | "line": 165 |
6619 | } | 6733 | } |
6620 | }, | 6734 | }, |
6621 | { | 6735 | { |
6622 | "defaultMessage": "!!!Terms of Service", | 6736 | "defaultMessage": "!!!Terms of Service", |
6623 | "end": { | 6737 | "end": { |
6624 | "column": 3, | 6738 | "column": 3, |
6625 | "line": 168 | 6739 | "line": 172 |
6626 | }, | 6740 | }, |
6627 | "file": "src/lib/Menu.js", | 6741 | "file": "src/lib/Menu.js", |
6628 | "id": "menu.help.tos", | 6742 | "id": "menu.help.tos", |
6629 | "start": { | 6743 | "start": { |
6630 | "column": 7, | 6744 | "column": 7, |
6631 | "line": 165 | 6745 | "line": 169 |
6632 | } | 6746 | } |
6633 | }, | 6747 | }, |
6634 | { | 6748 | { |
6635 | "defaultMessage": "!!!Privacy Statement", | 6749 | "defaultMessage": "!!!Privacy Statement", |
6636 | "end": { | 6750 | "end": { |
6637 | "column": 3, | 6751 | "column": 3, |
6638 | "line": 172 | 6752 | "line": 176 |
6639 | }, | 6753 | }, |
6640 | "file": "src/lib/Menu.js", | 6754 | "file": "src/lib/Menu.js", |
6641 | "id": "menu.help.privacy", | 6755 | "id": "menu.help.privacy", |
6642 | "start": { | 6756 | "start": { |
6643 | "column": 11, | 6757 | "column": 11, |
6644 | "line": 169 | 6758 | "line": 173 |
6645 | } | 6759 | } |
6646 | }, | 6760 | }, |
6647 | { | 6761 | { |
6648 | "defaultMessage": "!!!File", | 6762 | "defaultMessage": "!!!File", |
6649 | "end": { | 6763 | "end": { |
6650 | "column": 3, | 6764 | "column": 3, |
6651 | "line": 176 | 6765 | "line": 180 |
6652 | }, | 6766 | }, |
6653 | "file": "src/lib/Menu.js", | 6767 | "file": "src/lib/Menu.js", |
6654 | "id": "menu.file", | 6768 | "id": "menu.file", |
6655 | "start": { | 6769 | "start": { |
6656 | "column": 8, | 6770 | "column": 8, |
6657 | "line": 173 | 6771 | "line": 177 |
6658 | } | 6772 | } |
6659 | }, | 6773 | }, |
6660 | { | 6774 | { |
6661 | "defaultMessage": "!!!View", | 6775 | "defaultMessage": "!!!View", |
6662 | "end": { | 6776 | "end": { |
6663 | "column": 3, | 6777 | "column": 3, |
6664 | "line": 180 | 6778 | "line": 184 |
6665 | }, | 6779 | }, |
6666 | "file": "src/lib/Menu.js", | 6780 | "file": "src/lib/Menu.js", |
6667 | "id": "menu.view", | 6781 | "id": "menu.view", |
6668 | "start": { | 6782 | "start": { |
6669 | "column": 8, | 6783 | "column": 8, |
6670 | "line": 177 | 6784 | "line": 181 |
6671 | } | 6785 | } |
6672 | }, | 6786 | }, |
6673 | { | 6787 | { |
6674 | "defaultMessage": "!!!Services", | 6788 | "defaultMessage": "!!!Services", |
6675 | "end": { | 6789 | "end": { |
6676 | "column": 3, | 6790 | "column": 3, |
6677 | "line": 184 | 6791 | "line": 188 |
6678 | }, | 6792 | }, |
6679 | "file": "src/lib/Menu.js", | 6793 | "file": "src/lib/Menu.js", |
6680 | "id": "menu.services", | 6794 | "id": "menu.services", |
6681 | "start": { | 6795 | "start": { |
6682 | "column": 12, | 6796 | "column": 12, |
6683 | "line": 181 | 6797 | "line": 185 |
6684 | } | 6798 | } |
6685 | }, | 6799 | }, |
6686 | { | 6800 | { |
6687 | "defaultMessage": "!!!Window", | 6801 | "defaultMessage": "!!!Window", |
6688 | "end": { | 6802 | "end": { |
6689 | "column": 3, | 6803 | "column": 3, |
6690 | "line": 188 | 6804 | "line": 192 |
6691 | }, | 6805 | }, |
6692 | "file": "src/lib/Menu.js", | 6806 | "file": "src/lib/Menu.js", |
6693 | "id": "menu.window", | 6807 | "id": "menu.window", |
6694 | "start": { | 6808 | "start": { |
6695 | "column": 10, | 6809 | "column": 10, |
6696 | "line": 185 | 6810 | "line": 189 |
6697 | } | 6811 | } |
6698 | }, | 6812 | }, |
6699 | { | 6813 | { |
6700 | "defaultMessage": "!!!Help", | 6814 | "defaultMessage": "!!!Help", |
6701 | "end": { | 6815 | "end": { |
6702 | "column": 3, | 6816 | "column": 3, |
6703 | "line": 192 | 6817 | "line": 196 |
6704 | }, | 6818 | }, |
6705 | "file": "src/lib/Menu.js", | 6819 | "file": "src/lib/Menu.js", |
6706 | "id": "menu.help", | 6820 | "id": "menu.help", |
6707 | "start": { | 6821 | "start": { |
6708 | "column": 8, | 6822 | "column": 8, |
6709 | "line": 189 | 6823 | "line": 193 |
6710 | } | 6824 | } |
6711 | }, | 6825 | }, |
6712 | { | 6826 | { |
6713 | "defaultMessage": "!!!About Ferdi", | 6827 | "defaultMessage": "!!!About Ferdi", |
6714 | "end": { | 6828 | "end": { |
6715 | "column": 3, | 6829 | "column": 3, |
6716 | "line": 196 | 6830 | "line": 200 |
6717 | }, | 6831 | }, |
6718 | "file": "src/lib/Menu.js", | 6832 | "file": "src/lib/Menu.js", |
6719 | "id": "menu.app.about", | 6833 | "id": "menu.app.about", |
6720 | "start": { | 6834 | "start": { |
6721 | "column": 9, | 6835 | "column": 9, |
6722 | "line": 193 | 6836 | "line": 197 |
6723 | } | 6837 | } |
6724 | }, | 6838 | }, |
6725 | { | 6839 | { |
6726 | "defaultMessage": "!!!What's new?", | 6840 | "defaultMessage": "!!!What's new?", |
6727 | "end": { | 6841 | "end": { |
6728 | "column": 3, | 6842 | "column": 3, |
6729 | "line": 200 | 6843 | "line": 204 |
6730 | }, | 6844 | }, |
6731 | "file": "src/lib/Menu.js", | 6845 | "file": "src/lib/Menu.js", |
6732 | "id": "menu.app.announcement", | 6846 | "id": "menu.app.announcement", |
6733 | "start": { | 6847 | "start": { |
6734 | "column": 16, | 6848 | "column": 16, |
6735 | "line": 197 | 6849 | "line": 201 |
6736 | } | 6850 | } |
6737 | }, | 6851 | }, |
6738 | { | 6852 | { |
6739 | "defaultMessage": "!!!Settings", | 6853 | "defaultMessage": "!!!Settings", |
6740 | "end": { | 6854 | "end": { |
6741 | "column": 3, | 6855 | "column": 3, |
6742 | "line": 204 | 6856 | "line": 208 |
6743 | }, | 6857 | }, |
6744 | "file": "src/lib/Menu.js", | 6858 | "file": "src/lib/Menu.js", |
6745 | "id": "menu.app.settings", | 6859 | "id": "menu.app.settings", |
6746 | "start": { | 6860 | "start": { |
6747 | "column": 12, | 6861 | "column": 12, |
6748 | "line": 201 | 6862 | "line": 205 |
6749 | } | 6863 | } |
6750 | }, | 6864 | }, |
6751 | { | 6865 | { |
6752 | "defaultMessage": "!!!Check for updates", | 6866 | "defaultMessage": "!!!Check for updates", |
6753 | "end": { | 6867 | "end": { |
6754 | "column": 3, | 6868 | "column": 3, |
6755 | "line": 208 | 6869 | "line": 212 |
6756 | }, | 6870 | }, |
6757 | "file": "src/lib/Menu.js", | 6871 | "file": "src/lib/Menu.js", |
6758 | "id": "menu.app.checkForUpdates", | 6872 | "id": "menu.app.checkForUpdates", |
6759 | "start": { | 6873 | "start": { |
6760 | "column": 19, | 6874 | "column": 19, |
6761 | "line": 205 | 6875 | "line": 209 |
6762 | } | 6876 | } |
6763 | }, | 6877 | }, |
6764 | { | 6878 | { |
6765 | "defaultMessage": "!!!Hide", | 6879 | "defaultMessage": "!!!Hide", |
6766 | "end": { | 6880 | "end": { |
6767 | "column": 3, | 6881 | "column": 3, |
6768 | "line": 212 | 6882 | "line": 216 |
6769 | }, | 6883 | }, |
6770 | "file": "src/lib/Menu.js", | 6884 | "file": "src/lib/Menu.js", |
6771 | "id": "menu.app.hide", | 6885 | "id": "menu.app.hide", |
6772 | "start": { | 6886 | "start": { |
6773 | "column": 8, | 6887 | "column": 8, |
6774 | "line": 209 | 6888 | "line": 213 |
6775 | } | 6889 | } |
6776 | }, | 6890 | }, |
6777 | { | 6891 | { |
6778 | "defaultMessage": "!!!Hide Others", | 6892 | "defaultMessage": "!!!Hide Others", |
6779 | "end": { | 6893 | "end": { |
6780 | "column": 3, | 6894 | "column": 3, |
6781 | "line": 216 | 6895 | "line": 220 |
6782 | }, | 6896 | }, |
6783 | "file": "src/lib/Menu.js", | 6897 | "file": "src/lib/Menu.js", |
6784 | "id": "menu.app.hideOthers", | 6898 | "id": "menu.app.hideOthers", |
6785 | "start": { | 6899 | "start": { |
6786 | "column": 14, | 6900 | "column": 14, |
6787 | "line": 213 | 6901 | "line": 217 |
6788 | } | 6902 | } |
6789 | }, | 6903 | }, |
6790 | { | 6904 | { |
6791 | "defaultMessage": "!!!Unhide", | 6905 | "defaultMessage": "!!!Unhide", |
6792 | "end": { | 6906 | "end": { |
6793 | "column": 3, | 6907 | "column": 3, |
6794 | "line": 220 | 6908 | "line": 224 |
6795 | }, | 6909 | }, |
6796 | "file": "src/lib/Menu.js", | 6910 | "file": "src/lib/Menu.js", |
6797 | "id": "menu.app.unhide", | 6911 | "id": "menu.app.unhide", |
6798 | "start": { | 6912 | "start": { |
6799 | "column": 10, | 6913 | "column": 10, |
6800 | "line": 217 | 6914 | "line": 221 |
6801 | } | 6915 | } |
6802 | }, | 6916 | }, |
6803 | { | 6917 | { |
6804 | "defaultMessage": "!!!Auto-hide menu bar", | 6918 | "defaultMessage": "!!!Auto-hide menu bar", |
6805 | "end": { | 6919 | "end": { |
6806 | "column": 3, | 6920 | "column": 3, |
6807 | "line": 224 | 6921 | "line": 228 |
6808 | }, | 6922 | }, |
6809 | "file": "src/lib/Menu.js", | 6923 | "file": "src/lib/Menu.js", |
6810 | "id": "menu.app.autohideMenuBar", | 6924 | "id": "menu.app.autohideMenuBar", |
6811 | "start": { | 6925 | "start": { |
6812 | "column": 19, | 6926 | "column": 19, |
6813 | "line": 221 | 6927 | "line": 225 |
6814 | } | 6928 | } |
6815 | }, | 6929 | }, |
6816 | { | 6930 | { |
6817 | "defaultMessage": "!!!Quit", | 6931 | "defaultMessage": "!!!Quit", |
6818 | "end": { | 6932 | "end": { |
6819 | "column": 3, | 6933 | "column": 3, |
6820 | "line": 228 | 6934 | "line": 232 |
6821 | }, | 6935 | }, |
6822 | "file": "src/lib/Menu.js", | 6936 | "file": "src/lib/Menu.js", |
6823 | "id": "menu.app.quit", | 6937 | "id": "menu.app.quit", |
6824 | "start": { | 6938 | "start": { |
6825 | "column": 8, | 6939 | "column": 8, |
6826 | "line": 225 | 6940 | "line": 229 |
6827 | } | 6941 | } |
6828 | }, | 6942 | }, |
6829 | { | 6943 | { |
6830 | "defaultMessage": "!!!Add New Service...", | 6944 | "defaultMessage": "!!!Add New Service...", |
6831 | "end": { | 6945 | "end": { |
6832 | "column": 3, | 6946 | "column": 3, |
6833 | "line": 232 | 6947 | "line": 236 |
6834 | }, | 6948 | }, |
6835 | "file": "src/lib/Menu.js", | 6949 | "file": "src/lib/Menu.js", |
6836 | "id": "menu.services.addNewService", | 6950 | "id": "menu.services.addNewService", |
6837 | "start": { | 6951 | "start": { |
6838 | "column": 17, | 6952 | "column": 17, |
6839 | "line": 229 | 6953 | "line": 233 |
6840 | } | 6954 | } |
6841 | }, | 6955 | }, |
6842 | { | 6956 | { |
6843 | "defaultMessage": "!!!Add New Workspace...", | 6957 | "defaultMessage": "!!!Add New Workspace...", |
6844 | "end": { | 6958 | "end": { |
6845 | "column": 3, | 6959 | "column": 3, |
6846 | "line": 236 | 6960 | "line": 240 |
6847 | }, | 6961 | }, |
6848 | "file": "src/lib/Menu.js", | 6962 | "file": "src/lib/Menu.js", |
6849 | "id": "menu.workspaces.addNewWorkspace", | 6963 | "id": "menu.workspaces.addNewWorkspace", |
6850 | "start": { | 6964 | "start": { |
6851 | "column": 19, | 6965 | "column": 19, |
6852 | "line": 233 | 6966 | "line": 237 |
6853 | } | 6967 | } |
6854 | }, | 6968 | }, |
6855 | { | 6969 | { |
6856 | "defaultMessage": "!!!Open workspace drawer", | 6970 | "defaultMessage": "!!!Open workspace drawer", |
6857 | "end": { | 6971 | "end": { |
6858 | "column": 3, | 6972 | "column": 3, |
6859 | "line": 240 | 6973 | "line": 244 |
6860 | }, | 6974 | }, |
6861 | "file": "src/lib/Menu.js", | 6975 | "file": "src/lib/Menu.js", |
6862 | "id": "menu.workspaces.openWorkspaceDrawer", | 6976 | "id": "menu.workspaces.openWorkspaceDrawer", |
6863 | "start": { | 6977 | "start": { |
6864 | "column": 23, | 6978 | "column": 23, |
6865 | "line": 237 | 6979 | "line": 241 |
6866 | } | 6980 | } |
6867 | }, | 6981 | }, |
6868 | { | 6982 | { |
6869 | "defaultMessage": "!!!Close workspace drawer", | 6983 | "defaultMessage": "!!!Close workspace drawer", |
6870 | "end": { | 6984 | "end": { |
6871 | "column": 3, | 6985 | "column": 3, |
6872 | "line": 244 | 6986 | "line": 248 |
6873 | }, | 6987 | }, |
6874 | "file": "src/lib/Menu.js", | 6988 | "file": "src/lib/Menu.js", |
6875 | "id": "menu.workspaces.closeWorkspaceDrawer", | 6989 | "id": "menu.workspaces.closeWorkspaceDrawer", |
6876 | "start": { | 6990 | "start": { |
6877 | "column": 24, | 6991 | "column": 24, |
6878 | "line": 241 | 6992 | "line": 245 |
6879 | } | 6993 | } |
6880 | }, | 6994 | }, |
6881 | { | 6995 | { |
6882 | "defaultMessage": "!!!Activate next service...", | 6996 | "defaultMessage": "!!!Activate next service...", |
6883 | "end": { | 6997 | "end": { |
6884 | "column": 3, | 6998 | "column": 3, |
6885 | "line": 248 | 6999 | "line": 252 |
6886 | }, | 7000 | }, |
6887 | "file": "src/lib/Menu.js", | 7001 | "file": "src/lib/Menu.js", |
6888 | "id": "menu.services.setNextServiceActive", | 7002 | "id": "menu.services.setNextServiceActive", |
6889 | "start": { | 7003 | "start": { |
6890 | "column": 23, | 7004 | "column": 23, |
6891 | "line": 245 | 7005 | "line": 249 |
6892 | } | 7006 | } |
6893 | }, | 7007 | }, |
6894 | { | 7008 | { |
6895 | "defaultMessage": "!!!Activate previous service...", | 7009 | "defaultMessage": "!!!Activate previous service...", |
6896 | "end": { | 7010 | "end": { |
6897 | "column": 3, | 7011 | "column": 3, |
6898 | "line": 252 | 7012 | "line": 256 |
6899 | }, | 7013 | }, |
6900 | "file": "src/lib/Menu.js", | 7014 | "file": "src/lib/Menu.js", |
6901 | "id": "menu.services.activatePreviousService", | 7015 | "id": "menu.services.activatePreviousService", |
6902 | "start": { | 7016 | "start": { |
6903 | "column": 27, | 7017 | "column": 27, |
6904 | "line": 249 | 7018 | "line": 253 |
6905 | } | 7019 | } |
6906 | }, | 7020 | }, |
6907 | { | 7021 | { |
6908 | "defaultMessage": "!!!Disable notifications & audio", | 7022 | "defaultMessage": "!!!Disable notifications & audio", |
6909 | "end": { | 7023 | "end": { |
6910 | "column": 3, | 7024 | "column": 3, |
6911 | "line": 256 | 7025 | "line": 260 |
6912 | }, | 7026 | }, |
6913 | "file": "src/lib/Menu.js", | 7027 | "file": "src/lib/Menu.js", |
6914 | "id": "sidebar.muteApp", | 7028 | "id": "sidebar.muteApp", |
6915 | "start": { | 7029 | "start": { |
6916 | "column": 11, | 7030 | "column": 11, |
6917 | "line": 253 | 7031 | "line": 257 |
6918 | } | 7032 | } |
6919 | }, | 7033 | }, |
6920 | { | 7034 | { |
6921 | "defaultMessage": "!!!Enable notifications & audio", | 7035 | "defaultMessage": "!!!Enable notifications & audio", |
6922 | "end": { | 7036 | "end": { |
6923 | "column": 3, | 7037 | "column": 3, |
6924 | "line": 260 | 7038 | "line": 264 |
6925 | }, | 7039 | }, |
6926 | "file": "src/lib/Menu.js", | 7040 | "file": "src/lib/Menu.js", |
6927 | "id": "sidebar.unmuteApp", | 7041 | "id": "sidebar.unmuteApp", |
6928 | "start": { | 7042 | "start": { |
6929 | "column": 13, | 7043 | "column": 13, |
6930 | "line": 257 | 7044 | "line": 261 |
6931 | } | 7045 | } |
6932 | }, | 7046 | }, |
6933 | { | 7047 | { |
6934 | "defaultMessage": "!!!Workspaces", | 7048 | "defaultMessage": "!!!Workspaces", |
6935 | "end": { | 7049 | "end": { |
6936 | "column": 3, | 7050 | "column": 3, |
6937 | "line": 264 | 7051 | "line": 268 |
6938 | }, | 7052 | }, |
6939 | "file": "src/lib/Menu.js", | 7053 | "file": "src/lib/Menu.js", |
6940 | "id": "menu.workspaces", | 7054 | "id": "menu.workspaces", |
6941 | "start": { | 7055 | "start": { |
6942 | "column": 14, | 7056 | "column": 14, |
6943 | "line": 261 | 7057 | "line": 265 |
6944 | } | 7058 | } |
6945 | }, | 7059 | }, |
6946 | { | 7060 | { |
6947 | "defaultMessage": "!!!Default", | 7061 | "defaultMessage": "!!!Default", |
6948 | "end": { | 7062 | "end": { |
6949 | "column": 3, | 7063 | "column": 3, |
6950 | "line": 268 | 7064 | "line": 272 |
6951 | }, | 7065 | }, |
6952 | "file": "src/lib/Menu.js", | 7066 | "file": "src/lib/Menu.js", |
6953 | "id": "menu.workspaces.defaultWorkspace", | 7067 | "id": "menu.workspaces.defaultWorkspace", |
6954 | "start": { | 7068 | "start": { |
6955 | "column": 20, | 7069 | "column": 20, |
6956 | "line": 265 | 7070 | "line": 269 |
6957 | } | 7071 | } |
6958 | }, | 7072 | }, |
6959 | { | 7073 | { |
6960 | "defaultMessage": "!!!Todos", | 7074 | "defaultMessage": "!!!Todos", |
6961 | "end": { | 7075 | "end": { |
6962 | "column": 3, | 7076 | "column": 3, |
6963 | "line": 272 | 7077 | "line": 276 |
6964 | }, | 7078 | }, |
6965 | "file": "src/lib/Menu.js", | 7079 | "file": "src/lib/Menu.js", |
6966 | "id": "menu.todos", | 7080 | "id": "menu.todos", |
6967 | "start": { | 7081 | "start": { |
6968 | "column": 9, | 7082 | "column": 9, |
6969 | "line": 269 | 7083 | "line": 273 |
6970 | } | 7084 | } |
6971 | }, | 7085 | }, |
6972 | { | 7086 | { |
6973 | "defaultMessage": "!!!Open Todos drawer", | 7087 | "defaultMessage": "!!!Open Todos drawer", |
6974 | "end": { | 7088 | "end": { |
6975 | "column": 3, | 7089 | "column": 3, |
6976 | "line": 276 | 7090 | "line": 280 |
6977 | }, | 7091 | }, |
6978 | "file": "src/lib/Menu.js", | 7092 | "file": "src/lib/Menu.js", |
6979 | "id": "menu.Todoss.openTodosDrawer", | 7093 | "id": "menu.Todoss.openTodosDrawer", |
6980 | "start": { | 7094 | "start": { |
6981 | "column": 19, | 7095 | "column": 19, |
6982 | "line": 273 | 7096 | "line": 277 |
6983 | } | 7097 | } |
6984 | }, | 7098 | }, |
6985 | { | 7099 | { |
6986 | "defaultMessage": "!!!Close Todos drawer", | 7100 | "defaultMessage": "!!!Close Todos drawer", |
6987 | "end": { | 7101 | "end": { |
6988 | "column": 3, | 7102 | "column": 3, |
6989 | "line": 280 | 7103 | "line": 284 |
6990 | }, | 7104 | }, |
6991 | "file": "src/lib/Menu.js", | 7105 | "file": "src/lib/Menu.js", |
6992 | "id": "menu.Todoss.closeTodosDrawer", | 7106 | "id": "menu.Todoss.closeTodosDrawer", |
6993 | "start": { | 7107 | "start": { |
6994 | "column": 20, | 7108 | "column": 20, |
6995 | "line": 277 | 7109 | "line": 281 |
6996 | } | 7110 | } |
6997 | }, | 7111 | }, |
6998 | { | 7112 | { |
6999 | "defaultMessage": "!!!Enable Todos", | 7113 | "defaultMessage": "!!!Enable Todos", |
7000 | "end": { | 7114 | "end": { |
7001 | "column": 3, | 7115 | "column": 3, |
7002 | "line": 284 | 7116 | "line": 288 |
7003 | }, | 7117 | }, |
7004 | "file": "src/lib/Menu.js", | 7118 | "file": "src/lib/Menu.js", |
7005 | "id": "menu.todos.enableTodos", | 7119 | "id": "menu.todos.enableTodos", |
7006 | "start": { | 7120 | "start": { |
7007 | "column": 15, | 7121 | "column": 15, |
7008 | "line": 281 | 7122 | "line": 285 |
7009 | } | 7123 | } |
7010 | }, | 7124 | }, |
7011 | { | 7125 | { |
7012 | "defaultMessage": "!!!Home", | 7126 | "defaultMessage": "!!!Home", |
7013 | "end": { | 7127 | "end": { |
7014 | "column": 3, | 7128 | "column": 3, |
7015 | "line": 288 | 7129 | "line": 292 |
7016 | }, | 7130 | }, |
7017 | "file": "src/lib/Menu.js", | 7131 | "file": "src/lib/Menu.js", |
7018 | "id": "menu.services.goHome", | 7132 | "id": "menu.services.goHome", |
7019 | "start": { | 7133 | "start": { |
7020 | "column": 17, | 7134 | "column": 17, |
7021 | "line": 285 | 7135 | "line": 289 |
7022 | } | 7136 | } |
7023 | } | 7137 | } |
7024 | ], | 7138 | ], |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 1a8e9f743..f523bc380 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -2,6 +2,7 @@ | |||
2 | "app.errorHandler.action": "Reload", | 2 | "app.errorHandler.action": "Reload", |
3 | "app.errorHandler.headline": "Something went wrong", | 3 | "app.errorHandler.headline": "Something went wrong", |
4 | "feature.announcements.changelog.headline": "Changes in Ferdi {version}", | 4 | "feature.announcements.changelog.headline": "Changes in Ferdi {version}", |
5 | "feature.debugger.title": "Publish debugging information", | ||
5 | "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting", | 6 | "feature.delayApp.headline": "Please purchase a Ferdi Supporter License to skip waiting", |
6 | "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.", | 7 | "feature.delayApp.text": "Ferdi will continue in {seconds} seconds.", |
7 | "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional", | 8 | "feature.delayApp.trial.action": "Yes, I want the free 14 day trial of Ferdi Professional", |
@@ -25,6 +26,12 @@ | |||
25 | "feature.planSelection.personal.text": "More services, no waiting - ideal for personal use.", | 26 | "feature.planSelection.personal.text": "More services, no waiting - ideal for personal use.", |
26 | "feature.planSelection.pricesBasedOnAnnualPayment": "All prices based on yearly payment", | 27 | "feature.planSelection.pricesBasedOnAnnualPayment": "All prices based on yearly payment", |
27 | "feature.planSelection.pro.text": "Unlimited services and professional features for you - and your team.", | 28 | "feature.planSelection.pro.text": "Unlimited services and professional features for you - and your team.", |
29 | "feature.publishDebugInfo.info": "Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", | ||
30 | "feature.publishDebugInfo.privacy": "Privacy policy", | ||
31 | "feature.publishDebugInfo.publish": "Accept and publish", | ||
32 | "feature.publishDebugInfo.published": "Your debug log was published and is now availible at", | ||
33 | "feature.publishDebugInfo.terms": "Terms of service", | ||
34 | "feature.publishDebugInfo.title": "Publish debug information", | ||
28 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 35 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
29 | "feature.quickSwitch.search": "Search...", | 36 | "feature.quickSwitch.search": "Search...", |
30 | "feature.quickSwitch.title": "QuickSwitch", | 37 | "feature.quickSwitch.title": "QuickSwitch", |
@@ -122,6 +129,7 @@ | |||
122 | "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information", | 129 | "menu.help.debugInfoCopiedHeadline": "Ferdi Debug Information", |
123 | "menu.help.learnMore": "Learn More", | 130 | "menu.help.learnMore": "Learn More", |
124 | "menu.help.privacy": "Privacy Statement", | 131 | "menu.help.privacy": "Privacy Statement", |
132 | "menu.help.publishDebugInfo": "Publish Debug Information", | ||
125 | "menu.help.support": "Support", | 133 | "menu.help.support": "Support", |
126 | "menu.help.tos": "Terms of Service", | 134 | "menu.help.tos": "Terms of Service", |
127 | "menu.services": "Services", | 135 | "menu.services": "Services", |
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json index bca181d0f..5a8e082f2 100644 --- a/src/i18n/messages/src/components/layout/AppLayout.json +++ b/src/i18n/messages/src/components/layout/AppLayout.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Your services have been updated.", | 4 | "defaultMessage": "!!!Your services have been updated.", |
5 | "file": "src/components/layout/AppLayout.js", | 5 | "file": "src/components/layout/AppLayout.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 30, | 7 | "line": 31, |
8 | "column": 19 | 8 | "column": 19 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 33, | 11 | "line": 34, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!Reload services", | 17 | "defaultMessage": "!!!Reload services", |
18 | "file": "src/components/layout/AppLayout.js", | 18 | "file": "src/components/layout/AppLayout.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 34, | 20 | "line": 35, |
21 | "column": 24 | 21 | "column": 24 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 37, | 24 | "line": 38, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Could not load services and user information", | 30 | "defaultMessage": "!!!Could not load services and user information", |
31 | "file": "src/components/layout/AppLayout.js", | 31 | "file": "src/components/layout/AppLayout.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 38, | 33 | "line": 39, |
34 | "column": 26 | 34 | "column": 26 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 41, | 37 | "line": 42, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
44 | "file": "src/components/layout/AppLayout.js", | 44 | "file": "src/components/layout/AppLayout.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 42, | 46 | "line": 43, |
47 | "column": 21 | 47 | "column": 21 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 45, | 50 | "line": 46, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | } | 53 | } |
diff --git a/src/i18n/messages/src/features/debugger/Component.json b/src/i18n/messages/src/features/debugger/Component.json new file mode 100644 index 000000000..86a5a05f4 --- /dev/null +++ b/src/i18n/messages/src/features/debugger/Component.json | |||
@@ -0,0 +1,15 @@ | |||
1 | [ | ||
2 | { | ||
3 | "id": "feature.debugger.title", | ||
4 | "defaultMessage": "!!!Publish debugging information", | ||
5 | "file": "src/features/debugger/Component.js", | ||
6 | "start": { | ||
7 | "line": 16, | ||
8 | "column": 9 | ||
9 | }, | ||
10 | "end": { | ||
11 | "line": 19, | ||
12 | "column": 3 | ||
13 | } | ||
14 | } | ||
15 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/features/publishDebugInfo/Component.json b/src/i18n/messages/src/features/publishDebugInfo/Component.json new file mode 100644 index 000000000..500f2c01b --- /dev/null +++ b/src/i18n/messages/src/features/publishDebugInfo/Component.json | |||
@@ -0,0 +1,80 @@ | |||
1 | [ | ||
2 | { | ||
3 | "id": "feature.publishDebugInfo.title", | ||
4 | "defaultMessage": "!!!Publish debug information", | ||
5 | "file": "src/features/publishDebugInfo/Component.js", | ||
6 | "start": { | ||
7 | "line": 17, | ||
8 | "column": 9 | ||
9 | }, | ||
10 | "end": { | ||
11 | "line": 20, | ||
12 | "column": 3 | ||
13 | } | ||
14 | }, | ||
15 | { | ||
16 | "id": "feature.publishDebugInfo.info", | ||
17 | "defaultMessage": "!!!Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", | ||
18 | "file": "src/features/publishDebugInfo/Component.js", | ||
19 | "start": { | ||
20 | "line": 21, | ||
21 | "column": 8 | ||
22 | }, | ||
23 | "end": { | ||
24 | "line": 24, | ||
25 | "column": 3 | ||
26 | } | ||
27 | }, | ||
28 | { | ||
29 | "id": "feature.publishDebugInfo.privacy", | ||
30 | "defaultMessage": "!!!Privacy policy", | ||
31 | "file": "src/features/publishDebugInfo/Component.js", | ||
32 | "start": { | ||
33 | "line": 25, | ||
34 | "column": 11 | ||
35 | }, | ||
36 | "end": { | ||
37 | "line": 28, | ||
38 | "column": 3 | ||
39 | } | ||
40 | }, | ||
41 | { | ||
42 | "id": "feature.publishDebugInfo.terms", | ||
43 | "defaultMessage": "!!!Terms of service", | ||
44 | "file": "src/features/publishDebugInfo/Component.js", | ||
45 | "start": { | ||
46 | "line": 29, | ||
47 | "column": 9 | ||
48 | }, | ||
49 | "end": { | ||
50 | "line": 32, | ||
51 | "column": 3 | ||
52 | } | ||
53 | }, | ||
54 | { | ||
55 | "id": "feature.publishDebugInfo.publish", | ||
56 | "defaultMessage": "!!!Accept and publish", | ||
57 | "file": "src/features/publishDebugInfo/Component.js", | ||
58 | "start": { | ||
59 | "line": 33, | ||
60 | "column": 11 | ||
61 | }, | ||
62 | "end": { | ||
63 | "line": 36, | ||
64 | "column": 3 | ||
65 | } | ||
66 | }, | ||
67 | { | ||
68 | "id": "feature.publishDebugInfo.published", | ||
69 | "defaultMessage": "!!!Your debug log was published and is now availible at", | ||
70 | "file": "src/features/publishDebugInfo/Component.js", | ||
71 | "start": { | ||
72 | "line": 37, | ||
73 | "column": 13 | ||
74 | }, | ||
75 | "end": { | ||
76 | "line": 40, | ||
77 | "column": 3 | ||
78 | } | ||
79 | } | ||
80 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json index f69d951fd..e323d6174 100644 --- a/src/i18n/messages/src/lib/Menu.json +++ b/src/i18n/messages/src/lib/Menu.json | |||
@@ -455,15 +455,28 @@ | |||
455 | } | 455 | } |
456 | }, | 456 | }, |
457 | { | 457 | { |
458 | "id": "menu.help.publishDebugInfo", | ||
459 | "defaultMessage": "!!!Publish Debug Information", | ||
460 | "file": "src/lib/Menu.js", | ||
461 | "start": { | ||
462 | "line": 157, | ||
463 | "column": 20 | ||
464 | }, | ||
465 | "end": { | ||
466 | "line": 160, | ||
467 | "column": 3 | ||
468 | } | ||
469 | }, | ||
470 | { | ||
458 | "id": "menu.help.debugInfoCopiedHeadline", | 471 | "id": "menu.help.debugInfoCopiedHeadline", |
459 | "defaultMessage": "!!!Ferdi Debug Information", | 472 | "defaultMessage": "!!!Ferdi Debug Information", |
460 | "file": "src/lib/Menu.js", | 473 | "file": "src/lib/Menu.js", |
461 | "start": { | 474 | "start": { |
462 | "line": 157, | 475 | "line": 161, |
463 | "column": 27 | 476 | "column": 27 |
464 | }, | 477 | }, |
465 | "end": { | 478 | "end": { |
466 | "line": 160, | 479 | "line": 164, |
467 | "column": 3 | 480 | "column": 3 |
468 | } | 481 | } |
469 | }, | 482 | }, |
@@ -472,11 +485,11 @@ | |||
472 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 485 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
473 | "file": "src/lib/Menu.js", | 486 | "file": "src/lib/Menu.js", |
474 | "start": { | 487 | "start": { |
475 | "line": 161, | 488 | "line": 165, |
476 | "column": 23 | 489 | "column": 23 |
477 | }, | 490 | }, |
478 | "end": { | 491 | "end": { |
479 | "line": 164, | 492 | "line": 168, |
480 | "column": 3 | 493 | "column": 3 |
481 | } | 494 | } |
482 | }, | 495 | }, |
@@ -485,11 +498,11 @@ | |||
485 | "defaultMessage": "!!!Terms of Service", | 498 | "defaultMessage": "!!!Terms of Service", |
486 | "file": "src/lib/Menu.js", | 499 | "file": "src/lib/Menu.js", |
487 | "start": { | 500 | "start": { |
488 | "line": 165, | 501 | "line": 169, |
489 | "column": 7 | 502 | "column": 7 |
490 | }, | 503 | }, |
491 | "end": { | 504 | "end": { |
492 | "line": 168, | 505 | "line": 172, |
493 | "column": 3 | 506 | "column": 3 |
494 | } | 507 | } |
495 | }, | 508 | }, |
@@ -498,11 +511,11 @@ | |||
498 | "defaultMessage": "!!!Privacy Statement", | 511 | "defaultMessage": "!!!Privacy Statement", |
499 | "file": "src/lib/Menu.js", | 512 | "file": "src/lib/Menu.js", |
500 | "start": { | 513 | "start": { |
501 | "line": 169, | 514 | "line": 173, |
502 | "column": 11 | 515 | "column": 11 |
503 | }, | 516 | }, |
504 | "end": { | 517 | "end": { |
505 | "line": 172, | 518 | "line": 176, |
506 | "column": 3 | 519 | "column": 3 |
507 | } | 520 | } |
508 | }, | 521 | }, |
@@ -511,11 +524,11 @@ | |||
511 | "defaultMessage": "!!!File", | 524 | "defaultMessage": "!!!File", |
512 | "file": "src/lib/Menu.js", | 525 | "file": "src/lib/Menu.js", |
513 | "start": { | 526 | "start": { |
514 | "line": 173, | 527 | "line": 177, |
515 | "column": 8 | 528 | "column": 8 |
516 | }, | 529 | }, |
517 | "end": { | 530 | "end": { |
518 | "line": 176, | 531 | "line": 180, |
519 | "column": 3 | 532 | "column": 3 |
520 | } | 533 | } |
521 | }, | 534 | }, |
@@ -524,11 +537,11 @@ | |||
524 | "defaultMessage": "!!!View", | 537 | "defaultMessage": "!!!View", |
525 | "file": "src/lib/Menu.js", | 538 | "file": "src/lib/Menu.js", |
526 | "start": { | 539 | "start": { |
527 | "line": 177, | 540 | "line": 181, |
528 | "column": 8 | 541 | "column": 8 |
529 | }, | 542 | }, |
530 | "end": { | 543 | "end": { |
531 | "line": 180, | 544 | "line": 184, |
532 | "column": 3 | 545 | "column": 3 |
533 | } | 546 | } |
534 | }, | 547 | }, |
@@ -537,11 +550,11 @@ | |||
537 | "defaultMessage": "!!!Services", | 550 | "defaultMessage": "!!!Services", |
538 | "file": "src/lib/Menu.js", | 551 | "file": "src/lib/Menu.js", |
539 | "start": { | 552 | "start": { |
540 | "line": 181, | 553 | "line": 185, |
541 | "column": 12 | 554 | "column": 12 |
542 | }, | 555 | }, |
543 | "end": { | 556 | "end": { |
544 | "line": 184, | 557 | "line": 188, |
545 | "column": 3 | 558 | "column": 3 |
546 | } | 559 | } |
547 | }, | 560 | }, |
@@ -550,11 +563,11 @@ | |||
550 | "defaultMessage": "!!!Window", | 563 | "defaultMessage": "!!!Window", |
551 | "file": "src/lib/Menu.js", | 564 | "file": "src/lib/Menu.js", |
552 | "start": { | 565 | "start": { |
553 | "line": 185, | 566 | "line": 189, |
554 | "column": 10 | 567 | "column": 10 |
555 | }, | 568 | }, |
556 | "end": { | 569 | "end": { |
557 | "line": 188, | 570 | "line": 192, |
558 | "column": 3 | 571 | "column": 3 |
559 | } | 572 | } |
560 | }, | 573 | }, |
@@ -563,11 +576,11 @@ | |||
563 | "defaultMessage": "!!!Help", | 576 | "defaultMessage": "!!!Help", |
564 | "file": "src/lib/Menu.js", | 577 | "file": "src/lib/Menu.js", |
565 | "start": { | 578 | "start": { |
566 | "line": 189, | 579 | "line": 193, |
567 | "column": 8 | 580 | "column": 8 |
568 | }, | 581 | }, |
569 | "end": { | 582 | "end": { |
570 | "line": 192, | 583 | "line": 196, |
571 | "column": 3 | 584 | "column": 3 |
572 | } | 585 | } |
573 | }, | 586 | }, |
@@ -576,11 +589,11 @@ | |||
576 | "defaultMessage": "!!!About Ferdi", | 589 | "defaultMessage": "!!!About Ferdi", |
577 | "file": "src/lib/Menu.js", | 590 | "file": "src/lib/Menu.js", |
578 | "start": { | 591 | "start": { |
579 | "line": 193, | 592 | "line": 197, |
580 | "column": 9 | 593 | "column": 9 |
581 | }, | 594 | }, |
582 | "end": { | 595 | "end": { |
583 | "line": 196, | 596 | "line": 200, |
584 | "column": 3 | 597 | "column": 3 |
585 | } | 598 | } |
586 | }, | 599 | }, |
@@ -589,11 +602,11 @@ | |||
589 | "defaultMessage": "!!!What's new?", | 602 | "defaultMessage": "!!!What's new?", |
590 | "file": "src/lib/Menu.js", | 603 | "file": "src/lib/Menu.js", |
591 | "start": { | 604 | "start": { |
592 | "line": 197, | 605 | "line": 201, |
593 | "column": 16 | 606 | "column": 16 |
594 | }, | 607 | }, |
595 | "end": { | 608 | "end": { |
596 | "line": 200, | 609 | "line": 204, |
597 | "column": 3 | 610 | "column": 3 |
598 | } | 611 | } |
599 | }, | 612 | }, |
@@ -602,11 +615,11 @@ | |||
602 | "defaultMessage": "!!!Settings", | 615 | "defaultMessage": "!!!Settings", |
603 | "file": "src/lib/Menu.js", | 616 | "file": "src/lib/Menu.js", |
604 | "start": { | 617 | "start": { |
605 | "line": 201, | 618 | "line": 205, |
606 | "column": 12 | 619 | "column": 12 |
607 | }, | 620 | }, |
608 | "end": { | 621 | "end": { |
609 | "line": 204, | 622 | "line": 208, |
610 | "column": 3 | 623 | "column": 3 |
611 | } | 624 | } |
612 | }, | 625 | }, |
@@ -615,11 +628,11 @@ | |||
615 | "defaultMessage": "!!!Check for updates", | 628 | "defaultMessage": "!!!Check for updates", |
616 | "file": "src/lib/Menu.js", | 629 | "file": "src/lib/Menu.js", |
617 | "start": { | 630 | "start": { |
618 | "line": 205, | 631 | "line": 209, |
619 | "column": 19 | 632 | "column": 19 |
620 | }, | 633 | }, |
621 | "end": { | 634 | "end": { |
622 | "line": 208, | 635 | "line": 212, |
623 | "column": 3 | 636 | "column": 3 |
624 | } | 637 | } |
625 | }, | 638 | }, |
@@ -628,11 +641,11 @@ | |||
628 | "defaultMessage": "!!!Hide", | 641 | "defaultMessage": "!!!Hide", |
629 | "file": "src/lib/Menu.js", | 642 | "file": "src/lib/Menu.js", |
630 | "start": { | 643 | "start": { |
631 | "line": 209, | 644 | "line": 213, |
632 | "column": 8 | 645 | "column": 8 |
633 | }, | 646 | }, |
634 | "end": { | 647 | "end": { |
635 | "line": 212, | 648 | "line": 216, |
636 | "column": 3 | 649 | "column": 3 |
637 | } | 650 | } |
638 | }, | 651 | }, |
@@ -641,11 +654,11 @@ | |||
641 | "defaultMessage": "!!!Hide Others", | 654 | "defaultMessage": "!!!Hide Others", |
642 | "file": "src/lib/Menu.js", | 655 | "file": "src/lib/Menu.js", |
643 | "start": { | 656 | "start": { |
644 | "line": 213, | 657 | "line": 217, |
645 | "column": 14 | 658 | "column": 14 |
646 | }, | 659 | }, |
647 | "end": { | 660 | "end": { |
648 | "line": 216, | 661 | "line": 220, |
649 | "column": 3 | 662 | "column": 3 |
650 | } | 663 | } |
651 | }, | 664 | }, |
@@ -654,11 +667,11 @@ | |||
654 | "defaultMessage": "!!!Unhide", | 667 | "defaultMessage": "!!!Unhide", |
655 | "file": "src/lib/Menu.js", | 668 | "file": "src/lib/Menu.js", |
656 | "start": { | 669 | "start": { |
657 | "line": 217, | 670 | "line": 221, |
658 | "column": 10 | 671 | "column": 10 |
659 | }, | 672 | }, |
660 | "end": { | 673 | "end": { |
661 | "line": 220, | 674 | "line": 224, |
662 | "column": 3 | 675 | "column": 3 |
663 | } | 676 | } |
664 | }, | 677 | }, |
@@ -667,11 +680,11 @@ | |||
667 | "defaultMessage": "!!!Auto-hide menu bar", | 680 | "defaultMessage": "!!!Auto-hide menu bar", |
668 | "file": "src/lib/Menu.js", | 681 | "file": "src/lib/Menu.js", |
669 | "start": { | 682 | "start": { |
670 | "line": 221, | 683 | "line": 225, |
671 | "column": 19 | 684 | "column": 19 |
672 | }, | 685 | }, |
673 | "end": { | 686 | "end": { |
674 | "line": 224, | 687 | "line": 228, |
675 | "column": 3 | 688 | "column": 3 |
676 | } | 689 | } |
677 | }, | 690 | }, |
@@ -680,11 +693,11 @@ | |||
680 | "defaultMessage": "!!!Quit", | 693 | "defaultMessage": "!!!Quit", |
681 | "file": "src/lib/Menu.js", | 694 | "file": "src/lib/Menu.js", |
682 | "start": { | 695 | "start": { |
683 | "line": 225, | 696 | "line": 229, |
684 | "column": 8 | 697 | "column": 8 |
685 | }, | 698 | }, |
686 | "end": { | 699 | "end": { |
687 | "line": 228, | 700 | "line": 232, |
688 | "column": 3 | 701 | "column": 3 |
689 | } | 702 | } |
690 | }, | 703 | }, |
@@ -693,11 +706,11 @@ | |||
693 | "defaultMessage": "!!!Add New Service...", | 706 | "defaultMessage": "!!!Add New Service...", |
694 | "file": "src/lib/Menu.js", | 707 | "file": "src/lib/Menu.js", |
695 | "start": { | 708 | "start": { |
696 | "line": 229, | 709 | "line": 233, |
697 | "column": 17 | 710 | "column": 17 |
698 | }, | 711 | }, |
699 | "end": { | 712 | "end": { |
700 | "line": 232, | 713 | "line": 236, |
701 | "column": 3 | 714 | "column": 3 |
702 | } | 715 | } |
703 | }, | 716 | }, |
@@ -706,11 +719,11 @@ | |||
706 | "defaultMessage": "!!!Add New Workspace...", | 719 | "defaultMessage": "!!!Add New Workspace...", |
707 | "file": "src/lib/Menu.js", | 720 | "file": "src/lib/Menu.js", |
708 | "start": { | 721 | "start": { |
709 | "line": 233, | 722 | "line": 237, |
710 | "column": 19 | 723 | "column": 19 |
711 | }, | 724 | }, |
712 | "end": { | 725 | "end": { |
713 | "line": 236, | 726 | "line": 240, |
714 | "column": 3 | 727 | "column": 3 |
715 | } | 728 | } |
716 | }, | 729 | }, |
@@ -719,11 +732,11 @@ | |||
719 | "defaultMessage": "!!!Open workspace drawer", | 732 | "defaultMessage": "!!!Open workspace drawer", |
720 | "file": "src/lib/Menu.js", | 733 | "file": "src/lib/Menu.js", |
721 | "start": { | 734 | "start": { |
722 | "line": 237, | 735 | "line": 241, |
723 | "column": 23 | 736 | "column": 23 |
724 | }, | 737 | }, |
725 | "end": { | 738 | "end": { |
726 | "line": 240, | 739 | "line": 244, |
727 | "column": 3 | 740 | "column": 3 |
728 | } | 741 | } |
729 | }, | 742 | }, |
@@ -732,11 +745,11 @@ | |||
732 | "defaultMessage": "!!!Close workspace drawer", | 745 | "defaultMessage": "!!!Close workspace drawer", |
733 | "file": "src/lib/Menu.js", | 746 | "file": "src/lib/Menu.js", |
734 | "start": { | 747 | "start": { |
735 | "line": 241, | 748 | "line": 245, |
736 | "column": 24 | 749 | "column": 24 |
737 | }, | 750 | }, |
738 | "end": { | 751 | "end": { |
739 | "line": 244, | 752 | "line": 248, |
740 | "column": 3 | 753 | "column": 3 |
741 | } | 754 | } |
742 | }, | 755 | }, |
@@ -745,11 +758,11 @@ | |||
745 | "defaultMessage": "!!!Activate next service...", | 758 | "defaultMessage": "!!!Activate next service...", |
746 | "file": "src/lib/Menu.js", | 759 | "file": "src/lib/Menu.js", |
747 | "start": { | 760 | "start": { |
748 | "line": 245, | 761 | "line": 249, |
749 | "column": 23 | 762 | "column": 23 |
750 | }, | 763 | }, |
751 | "end": { | 764 | "end": { |
752 | "line": 248, | 765 | "line": 252, |
753 | "column": 3 | 766 | "column": 3 |
754 | } | 767 | } |
755 | }, | 768 | }, |
@@ -758,11 +771,11 @@ | |||
758 | "defaultMessage": "!!!Activate previous service...", | 771 | "defaultMessage": "!!!Activate previous service...", |
759 | "file": "src/lib/Menu.js", | 772 | "file": "src/lib/Menu.js", |
760 | "start": { | 773 | "start": { |
761 | "line": 249, | 774 | "line": 253, |
762 | "column": 27 | 775 | "column": 27 |
763 | }, | 776 | }, |
764 | "end": { | 777 | "end": { |
765 | "line": 252, | 778 | "line": 256, |
766 | "column": 3 | 779 | "column": 3 |
767 | } | 780 | } |
768 | }, | 781 | }, |
@@ -771,11 +784,11 @@ | |||
771 | "defaultMessage": "!!!Disable notifications & audio", | 784 | "defaultMessage": "!!!Disable notifications & audio", |
772 | "file": "src/lib/Menu.js", | 785 | "file": "src/lib/Menu.js", |
773 | "start": { | 786 | "start": { |
774 | "line": 253, | 787 | "line": 257, |
775 | "column": 11 | 788 | "column": 11 |
776 | }, | 789 | }, |
777 | "end": { | 790 | "end": { |
778 | "line": 256, | 791 | "line": 260, |
779 | "column": 3 | 792 | "column": 3 |
780 | } | 793 | } |
781 | }, | 794 | }, |
@@ -784,11 +797,11 @@ | |||
784 | "defaultMessage": "!!!Enable notifications & audio", | 797 | "defaultMessage": "!!!Enable notifications & audio", |
785 | "file": "src/lib/Menu.js", | 798 | "file": "src/lib/Menu.js", |
786 | "start": { | 799 | "start": { |
787 | "line": 257, | 800 | "line": 261, |
788 | "column": 13 | 801 | "column": 13 |
789 | }, | 802 | }, |
790 | "end": { | 803 | "end": { |
791 | "line": 260, | 804 | "line": 264, |
792 | "column": 3 | 805 | "column": 3 |
793 | } | 806 | } |
794 | }, | 807 | }, |
@@ -797,11 +810,11 @@ | |||
797 | "defaultMessage": "!!!Workspaces", | 810 | "defaultMessage": "!!!Workspaces", |
798 | "file": "src/lib/Menu.js", | 811 | "file": "src/lib/Menu.js", |
799 | "start": { | 812 | "start": { |
800 | "line": 261, | 813 | "line": 265, |
801 | "column": 14 | 814 | "column": 14 |
802 | }, | 815 | }, |
803 | "end": { | 816 | "end": { |
804 | "line": 264, | 817 | "line": 268, |
805 | "column": 3 | 818 | "column": 3 |
806 | } | 819 | } |
807 | }, | 820 | }, |
@@ -810,11 +823,11 @@ | |||
810 | "defaultMessage": "!!!Default", | 823 | "defaultMessage": "!!!Default", |
811 | "file": "src/lib/Menu.js", | 824 | "file": "src/lib/Menu.js", |
812 | "start": { | 825 | "start": { |
813 | "line": 265, | 826 | "line": 269, |
814 | "column": 20 | 827 | "column": 20 |
815 | }, | 828 | }, |
816 | "end": { | 829 | "end": { |
817 | "line": 268, | 830 | "line": 272, |
818 | "column": 3 | 831 | "column": 3 |
819 | } | 832 | } |
820 | }, | 833 | }, |
@@ -823,11 +836,11 @@ | |||
823 | "defaultMessage": "!!!Todos", | 836 | "defaultMessage": "!!!Todos", |
824 | "file": "src/lib/Menu.js", | 837 | "file": "src/lib/Menu.js", |
825 | "start": { | 838 | "start": { |
826 | "line": 269, | 839 | "line": 273, |
827 | "column": 9 | 840 | "column": 9 |
828 | }, | 841 | }, |
829 | "end": { | 842 | "end": { |
830 | "line": 272, | 843 | "line": 276, |
831 | "column": 3 | 844 | "column": 3 |
832 | } | 845 | } |
833 | }, | 846 | }, |
@@ -836,11 +849,11 @@ | |||
836 | "defaultMessage": "!!!Open Todos drawer", | 849 | "defaultMessage": "!!!Open Todos drawer", |
837 | "file": "src/lib/Menu.js", | 850 | "file": "src/lib/Menu.js", |
838 | "start": { | 851 | "start": { |
839 | "line": 273, | 852 | "line": 277, |
840 | "column": 19 | 853 | "column": 19 |
841 | }, | 854 | }, |
842 | "end": { | 855 | "end": { |
843 | "line": 276, | 856 | "line": 280, |
844 | "column": 3 | 857 | "column": 3 |
845 | } | 858 | } |
846 | }, | 859 | }, |
@@ -849,11 +862,11 @@ | |||
849 | "defaultMessage": "!!!Close Todos drawer", | 862 | "defaultMessage": "!!!Close Todos drawer", |
850 | "file": "src/lib/Menu.js", | 863 | "file": "src/lib/Menu.js", |
851 | "start": { | 864 | "start": { |
852 | "line": 277, | 865 | "line": 281, |
853 | "column": 20 | 866 | "column": 20 |
854 | }, | 867 | }, |
855 | "end": { | 868 | "end": { |
856 | "line": 280, | 869 | "line": 284, |
857 | "column": 3 | 870 | "column": 3 |
858 | } | 871 | } |
859 | }, | 872 | }, |
@@ -862,11 +875,11 @@ | |||
862 | "defaultMessage": "!!!Enable Todos", | 875 | "defaultMessage": "!!!Enable Todos", |
863 | "file": "src/lib/Menu.js", | 876 | "file": "src/lib/Menu.js", |
864 | "start": { | 877 | "start": { |
865 | "line": 281, | 878 | "line": 285, |
866 | "column": 15 | 879 | "column": 15 |
867 | }, | 880 | }, |
868 | "end": { | 881 | "end": { |
869 | "line": 284, | 882 | "line": 288, |
870 | "column": 3 | 883 | "column": 3 |
871 | } | 884 | } |
872 | }, | 885 | }, |
@@ -875,11 +888,11 @@ | |||
875 | "defaultMessage": "!!!Home", | 888 | "defaultMessage": "!!!Home", |
876 | "file": "src/lib/Menu.js", | 889 | "file": "src/lib/Menu.js", |
877 | "start": { | 890 | "start": { |
878 | "line": 285, | 891 | "line": 289, |
879 | "column": 17 | 892 | "column": 17 |
880 | }, | 893 | }, |
881 | "end": { | 894 | "end": { |
882 | "line": 288, | 895 | "line": 292, |
883 | "column": 3 | 896 | "column": 3 |
884 | } | 897 | } |
885 | } | 898 | } |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index 303845e55..6167f1c59 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -154,6 +154,10 @@ const menuItems = defineMessages({ | |||
154 | id: 'menu.help.debugInfo', | 154 | id: 'menu.help.debugInfo', |
155 | defaultMessage: '!!!Copy Debug Information', | 155 | defaultMessage: '!!!Copy Debug Information', |
156 | }, | 156 | }, |
157 | publishDebugInfo: { | ||
158 | id: 'menu.help.publishDebugInfo', | ||
159 | defaultMessage: '!!!Publish Debug Information', | ||
160 | }, | ||
157 | debugInfoCopiedHeadline: { | 161 | debugInfoCopiedHeadline: { |
158 | id: 'menu.help.debugInfoCopiedHeadline', | 162 | id: 'menu.help.debugInfoCopiedHeadline', |
159 | defaultMessage: '!!!Ferdi Debug Information', | 163 | defaultMessage: '!!!Ferdi Debug Information', |
@@ -959,7 +963,7 @@ export default class FranzMenu { | |||
959 | 963 | ||
960 | tpl[tpl.length - 1].submenu.push({ | 964 | tpl[tpl.length - 1].submenu.push({ |
961 | type: 'separator', | 965 | type: 'separator', |
962 | }, this.debugMenu()); | 966 | }, ...this.debugMenu()); |
963 | 967 | ||
964 | this.currentTemplate = tpl; | 968 | this.currentTemplate = tpl; |
965 | const menu = Menu.buildFromTemplate(tpl); | 969 | const menu = Menu.buildFromTemplate(tpl); |
@@ -1117,7 +1121,7 @@ export default class FranzMenu { | |||
1117 | debugMenu() { | 1121 | debugMenu() { |
1118 | const { intl } = window.ferdi; | 1122 | const { intl } = window.ferdi; |
1119 | 1123 | ||
1120 | return { | 1124 | return [{ |
1121 | label: intl.formatMessage(menuItems.debugInfo), | 1125 | label: intl.formatMessage(menuItems.debugInfo), |
1122 | click: () => { | 1126 | click: () => { |
1123 | const { debugInfo } = this.stores.app; | 1127 | const { debugInfo } = this.stores.app; |
@@ -1133,7 +1137,12 @@ export default class FranzMenu { | |||
1133 | }, | 1137 | }, |
1134 | }); | 1138 | }); |
1135 | }, | 1139 | }, |
1136 | }; | 1140 | }, { |
1141 | label: intl.formatMessage(menuItems.publishDebugInfo), | ||
1142 | click: () => { | ||
1143 | window.ferdi.features.publishDebugInfo.state.isModalVisible = true; | ||
1144 | }, | ||
1145 | }]; | ||
1137 | } | 1146 | } |
1138 | 1147 | ||
1139 | _getServiceName(service) { | 1148 | _getServiceName(service) { |
diff --git a/src/stores/FeaturesStore.js b/src/stores/FeaturesStore.js index eec4678b9..8a279bc8a 100644 --- a/src/stores/FeaturesStore.js +++ b/src/stores/FeaturesStore.js | |||
@@ -14,6 +14,7 @@ import serviceProxy from '../features/serviceProxy'; | |||
14 | import basicAuth from '../features/basicAuth'; | 14 | import basicAuth from '../features/basicAuth'; |
15 | import workspaces from '../features/workspaces'; | 15 | import workspaces from '../features/workspaces'; |
16 | import quickSwitch from '../features/quickSwitch'; | 16 | import quickSwitch from '../features/quickSwitch'; |
17 | import publishDebugInfo from '../features/publishDebugInfo'; | ||
17 | import shareFranz from '../features/shareFranz'; | 18 | import shareFranz from '../features/shareFranz'; |
18 | import announcements from '../features/announcements'; | 19 | import announcements from '../features/announcements'; |
19 | import settingsWS from '../features/settingsWS'; | 20 | import settingsWS from '../features/settingsWS'; |
@@ -84,6 +85,7 @@ export default class FeaturesStore extends Store { | |||
84 | basicAuth(this.stores, this.actions); | 85 | basicAuth(this.stores, this.actions); |
85 | workspaces(this.stores, this.actions); | 86 | workspaces(this.stores, this.actions); |
86 | quickSwitch(this.stores, this.actions); | 87 | quickSwitch(this.stores, this.actions); |
88 | publishDebugInfo(this.stores, this.actions); | ||
87 | shareFranz(this.stores, this.actions); | 89 | shareFranz(this.stores, this.actions); |
88 | announcements(this.stores, this.actions); | 90 | announcements(this.stores, this.actions); |
89 | settingsWS(this.stores, this.actions); | 91 | settingsWS(this.stores, this.actions); |