aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/settings/services
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2018-11-27 18:06:14 +0100
committerLibravatar Stefan Malzner <stefan@adlk.io>2018-11-27 18:06:14 +0100
commit62972747866740dae84fc7b519fcedd731572329 (patch)
tree3a74610caa47350ff6b3cc07482f8472f18c1764 /src/components/settings/services
parentFix listening key (diff)
downloadferdium-app-62972747866740dae84fc7b519fcedd731572329.tar.gz
ferdium-app-62972747866740dae84fc7b519fcedd731572329.tar.zst
ferdium-app-62972747866740dae84fc7b519fcedd731572329.zip
feat(App): Add proxy support for services
Diffstat (limited to 'src/components/settings/services')
-rw-r--r--src/components/settings/services/EditServiceForm.js45
1 files changed, 42 insertions, 3 deletions
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js
index 777a95fcf..47772efae 100644
--- a/src/components/settings/services/EditServiceForm.js
+++ b/src/components/settings/services/EditServiceForm.js
@@ -15,6 +15,8 @@ import Toggle from '../../ui/Toggle';
15import Button from '../../ui/Button'; 15import Button from '../../ui/Button';
16import ImageUpload from '../../ui/ImageUpload'; 16import ImageUpload from '../../ui/ImageUpload';
17 17
18import PremiumFeatureContainer from '../../ui/PremiumFeatureContainer';
19
18const messages = defineMessages({ 20const messages = defineMessages({
19 saveService: { 21 saveService: {
20 id: 'settings.service.form.saveButton', 22 id: 'settings.service.form.saveButton',
@@ -92,6 +94,14 @@ const messages = defineMessages({
92 id: 'settings.service.form.iconUpload', 94 id: 'settings.service.form.iconUpload',
93 defaultMessage: '!!!Drop your image, or click here', 95 defaultMessage: '!!!Drop your image, or click here',
94 }, 96 },
97 headlineProxy: {
98 id: 'settings.service.form.proxy.headline',
99 defaultMessage: '!!!Proxy Settings',
100 },
101 proxyInfo: {
102 id: 'settings.service.form.proxy.info',
103 defaultMessage: '!!!Proxy settings will not be synchronized with the Franz servers.',
104 },
95}); 105});
96 106
97export default @observer class EditServiceForm extends Component { 107export default @observer class EditServiceForm extends Component {
@@ -106,13 +116,14 @@ export default @observer class EditServiceForm extends Component {
106 return null; 116 return null;
107 }, 117 },
108 user: PropTypes.instanceOf(User).isRequired, 118 user: PropTypes.instanceOf(User).isRequired,
109 userCanManageServices: PropTypes.bool.isRequired,
110 action: PropTypes.string.isRequired, 119 action: PropTypes.string.isRequired,
111 form: PropTypes.instanceOf(Form).isRequired, 120 form: PropTypes.instanceOf(Form).isRequired,
112 onSubmit: PropTypes.func.isRequired, 121 onSubmit: PropTypes.func.isRequired,
113 onDelete: PropTypes.func.isRequired, 122 onDelete: PropTypes.func.isRequired,
114 isSaving: PropTypes.bool.isRequired, 123 isSaving: PropTypes.bool.isRequired,
115 isDeleting: PropTypes.bool.isRequired, 124 isDeleting: PropTypes.bool.isRequired,
125 isProxyFeatureEnabled: PropTypes.bool.isRequired,
126 isProxyFeaturePremiumFeature: PropTypes.bool.isRequired,
116 }; 127 };
117 128
118 static defaultProps = { 129 static defaultProps = {
@@ -169,11 +180,12 @@ export default @observer class EditServiceForm extends Component {
169 service, 180 service,
170 action, 181 action,
171 user, 182 user,
172 userCanManageServices,
173 form, 183 form,
174 isSaving, 184 isSaving,
175 isDeleting, 185 isDeleting,
176 onDelete, 186 onDelete,
187 isProxyFeatureEnabled,
188 isProxyFeaturePremiumFeature,
177 } = this.props; 189 } = this.props;
178 const { intl } = this.context; 190 const { intl } = this.context;
179 191
@@ -318,6 +330,33 @@ export default @observer class EditServiceForm extends Component {
318 /> 330 />
319 </div> 331 </div>
320 </div> 332 </div>
333
334 {isProxyFeatureEnabled && (
335 <PremiumFeatureContainer condition={isProxyFeaturePremiumFeature}>
336 <div className="settings__settings-group">
337 <h3>
338 {intl.formatMessage(messages.headlineProxy)}
339 <span className="badge badge--success">beta</span>
340 </h3>
341 <Toggle field={form.$('proxy.isEnabled')} />
342 {form.$('proxy.isEnabled').value && (
343 <div>
344 <Input field={form.$('proxy.host')} />
345 <Input field={form.$('proxy.user')} />
346 <Input
347 field={form.$('proxy.password')}
348 showPasswordToggle
349 />
350 <p>
351 <span className="mdi mdi-information" />
352 {intl.formatMessage(messages.proxyInfo)}
353 </p>
354 </div>
355 )}
356 </div>
357 </PremiumFeatureContainer>
358 )}
359
321 {recipe.message && ( 360 {recipe.message && (
322 <p className="settings__message"> 361 <p className="settings__message">
323 <span className="mdi mdi-information" /> 362 <span className="mdi mdi-information" />
@@ -328,7 +367,7 @@ export default @observer class EditServiceForm extends Component {
328 </div> 367 </div>
329 <div className="settings__controls"> 368 <div className="settings__controls">
330 {/* Delete Button */} 369 {/* Delete Button */}
331 {action === 'edit' && userCanManageServices && deleteButton} 370 {action === 'edit' && deleteButton}
332 371
333 {/* Save Button */} 372 {/* Save Button */}
334 {isSaving || isValidatingCustomUrl ? ( 373 {isSaving || isValidatingCustomUrl ? (