From 610ce4a0f46fcbff220bc46c13a24712eaaebde7 Mon Sep 17 00:00:00 2001 From: Nilesh Patel Date: Sun, 13 Oct 2019 09:57:36 +0530 Subject: [PATCH] Refactor|Overmind: Refactor CodeFormatting/Prettier to useOvermind --- .../Prettier/{index.js => index.tsx} | 30 +++++++++++++------ .../PreferencesModal/CodeFormatting/index.js | 25 ---------------- .../PreferencesModal/CodeFormatting/index.tsx | 23 ++++++++++++++ 3 files changed, 44 insertions(+), 34 deletions(-) rename packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/Prettier/{index.js => index.tsx} (86%) delete mode 100644 packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.js create mode 100644 packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.tsx diff --git a/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/Prettier/index.js b/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/Prettier/index.tsx similarity index 86% rename from packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/Prettier/index.js rename to packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/Prettier/index.tsx index 45b83b9e626..7b332ad33a6 100644 --- a/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/Prettier/index.js +++ b/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/Prettier/index.tsx @@ -1,5 +1,5 @@ -import React from 'react'; -import { inject, observer } from 'app/componentConnectors'; +import React, { FunctionComponent } from 'react'; +import { useOvermind } from 'app/overmind'; import { SubContainer, @@ -9,16 +9,28 @@ import { Rule, } from '../../elements'; -function PrettierComponent({ store, signals }) { +const PrettierComponent: FunctionComponent = () => { + const { + state: { + preferences: { + settings: { prettierConfig }, + }, + }, + actions: { + preferences: { settingChanged }, + }, + } = useOvermind(); + const bindValue = name => ({ - value: store.preferences.settings.prettierConfig[name], + value: prettierConfig[name], setValue: value => - signals.preferences.settingChanged({ + settingChanged({ name: `prettierConfig.${name}`, value, }), }); + const { fluid } = prettierConfig; return ( @@ -45,7 +57,7 @@ function PrettierComponent({ store, signals }) { Specify the line length that the printer will wrap on. @@ -143,6 +155,6 @@ function PrettierComponent({ store, signals }) { ); -} +}; -export const Prettier = inject('store', 'signals')(observer(PrettierComponent)); +export const Prettier = PrettierComponent; diff --git a/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.js b/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.js deleted file mode 100644 index b609e4e79fb..00000000000 --- a/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; - -import Question from 'react-icons/lib/go/question'; - -import { Prettier } from './Prettier'; -import { Title } from '../elements'; - -export function CodeFormatting() { - return ( -
- - Prettier Settings{' '} - <a - href="https://prettier.io/docs/en/options.html" - target="_blank" - rel="noopener noreferrer" - > - <Question style={{ marginBottom: '3px' }} /> - </a> - - - -
- ); -} diff --git a/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.tsx b/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.tsx new file mode 100644 index 00000000000..f772626680d --- /dev/null +++ b/packages/app/src/app/pages/common/Modals/PreferencesModal/CodeFormatting/index.tsx @@ -0,0 +1,23 @@ +import React, { FunctionComponent } from 'react'; + +import Question from 'react-icons/lib/go/question'; + +import { Prettier } from './Prettier'; +import { Title } from '../elements'; + +export const CodeFormatting: FunctionComponent = () => ( +
+ + Prettier Settings{' '} + <a + href="https://prettier.io/docs/en/options.html" + target="_blank" + rel="noopener noreferrer" + > + <Question style={{ marginBottom: '3px' }} /> + </a> + + + +
+);