diff --git a/packages/account/build/webpack.config.js b/packages/account/build/webpack.config.js
index e61df5fe3fb2..d03aa1c7051b 100644
--- a/packages/account/build/webpack.config.js
+++ b/packages/account/build/webpack.config.js
@@ -8,7 +8,7 @@ module.exports = function (env) {
context: path.resolve(__dirname, '../src'),
devtool: IS_RELEASE ? undefined : 'eval-cheap-module-source-map',
entry: {
- account: path.resolve(__dirname, '../src', 'index.tsx'),
+ account: path.resolve(__dirname, '../src', 'index.js'),
'accept-risk-config': 'Configs/accept-risk-config',
'account-limits': 'Components/account-limits',
'address-details': 'Components/address-details',
diff --git a/packages/account/src/App.jsx b/packages/account/src/App.jsx
new file mode 100644
index 000000000000..122431d67976
--- /dev/null
+++ b/packages/account/src/App.jsx
@@ -0,0 +1,28 @@
+import React from 'react';
+import { setWebsocket } from '@deriv/shared';
+import Routes from 'Containers/routes.jsx';
+import ResetTradingPassword from 'Containers/reset-trading-password.jsx';
+import { MobxContentProvider } from 'Stores/connect';
+import initStore from 'Stores/init-store';
+
+class App extends React.Component {
+ constructor(props) {
+ super(props);
+ const {
+ passthrough: { WS, root_store },
+ } = props;
+ this.root_store = initStore(root_store, WS);
+ setWebsocket(WS);
+ }
+
+ render() {
+ return (
+
+
+
+
+ );
+ }
+}
+
+export default App;
diff --git a/packages/account/src/App.tsx b/packages/account/src/App.tsx
deleted file mode 100644
index c697fbc7aaa8..000000000000
--- a/packages/account/src/App.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import React from 'react';
-import Routes from 'Containers/routes.jsx';
-import ResetTradingPassword from 'Containers/reset-trading-password.jsx';
-import { MobxContentProvider } from 'Stores/connect';
-import initStore from 'Stores/init-store';
-import { TCoreStore } from 'Stores/index';
-
-// TODO: add correct types for stores and WS after implementing them
-type TAppProps = {
- passthrough: {
- root_store: TCoreStore;
- WS: Record;
- };
-};
-
-const App = ({ passthrough }: TAppProps) => {
- const { root_store, WS } = passthrough;
- initStore(root_store, WS);
-
- return (
-
-
-
-
- );
-};
-
-export default App;
diff --git a/packages/account/src/Stores/index.js b/packages/account/src/Stores/index.js
new file mode 100644
index 000000000000..4e3c2e333bdd
--- /dev/null
+++ b/packages/account/src/Stores/index.js
@@ -0,0 +1,10 @@
+export default class RootStore {
+ constructor(core_store) {
+ this.client = core_store.client;
+ this.common = core_store.common;
+ this.ui = core_store.ui;
+ this.gtm = core_store.gtm;
+ this.rudderstack = core_store.rudderstack;
+ this.pushwoosh = core_store.pushwoosh;
+ }
+}
diff --git a/packages/account/src/Stores/index.ts b/packages/account/src/Stores/index.ts
deleted file mode 100644
index 9797a63b3b03..000000000000
--- a/packages/account/src/Stores/index.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-export type TCoreStore = {
- client: Record;
- common: Record;
- ui: Record;
- gtm: Record;
- rudderstack: Record;
- pushwoosh: Record;
-};
-
-export default class RootStore {
- public client: Record;
- public common: Record;
- public ui: Record;
- public gtm: Record;
- public rudderstack: Record;
- public pushwoosh: Record;
-
- constructor(core_store: TCoreStore) {
- this.client = core_store.client;
- this.common = core_store.common;
- this.ui = core_store.ui;
- this.gtm = core_store.gtm;
- this.rudderstack = core_store.rudderstack;
- this.pushwoosh = core_store.pushwoosh;
- }
-}
diff --git a/packages/account/src/index.tsx b/packages/account/src/index.js
similarity index 85%
rename from packages/account/src/index.tsx
rename to packages/account/src/index.js
index 784223d7f9af..459167f21d91 100644
--- a/packages/account/src/index.tsx
+++ b/packages/account/src/index.js
@@ -3,7 +3,7 @@ import { makeLazyLoader, moduleLoader } from '@deriv/shared';
import { Loading } from '@deriv/components';
const App = makeLazyLoader(
- () => moduleLoader(() => import(/* webpackChunkName: "account-app", webpackPreload: true */ './App')),
+ () => moduleLoader(() => import(/* webpackChunkName: "account-app", webpackPreload: true */ './App.jsx')),
() =>
)();