From c84fba2d0e47c3f1085d3bbb9e4156ee56fa449d Mon Sep 17 00:00:00 2001 From: chinmay17 Date: Fri, 4 Oct 2019 13:58:38 +0530 Subject: [PATCH] Refactor /Sandbox/Editor/Header/Header.tsx to replace Cerebral with Overmind --- .../pages/Sandbox/Editor/Header/Header.tsx | 95 ++++++++++--------- .../app/pages/Sandbox/Editor/Header/types.ts | 5 +- 2 files changed, 53 insertions(+), 47 deletions(-) diff --git a/packages/app/src/app/pages/Sandbox/Editor/Header/Header.tsx b/packages/app/src/app/pages/Sandbox/Editor/Header/Header.tsx index fe9fda2bc8d..beb3113f86b 100644 --- a/packages/app/src/app/pages/Sandbox/Editor/Header/Header.tsx +++ b/packages/app/src/app/pages/Sandbox/Editor/Header/Header.tsx @@ -1,5 +1,5 @@ import { dashboardUrl } from '@codesandbox/common/lib/utils/url-generator'; -import { inject, hooksObserver } from 'app/componentConnectors'; +import { useOvermind } from 'app/overmind'; import React from 'react'; import { UserMenu } from 'app/pages/common/UserMenu'; @@ -29,50 +29,59 @@ import { import { Logo } from './Logo'; import { MenuBar } from './MenuBar'; import { SandboxName } from './SandboxName'; -import { HeaderProps } from './types'; +import { IHeaderProps } from './types'; -export const Header = inject('store')( - hooksObserver(({ zenMode, store }: HeaderProps & { store: any }) => { - const vscode = store.preferences.settings.experimentVSCode; +export const Header: React.FC = ({ zenMode }) => { + const { + state: { + preferences: { + settings: { experimentVSCode: vscode }, + }, + isPatron, + updateStatus, + hasLogIn, + isLoggedIn, + user, + }, + } = useOvermind(); - return ( - - - {store.hasLogIn ? ( - - - - ) : ( - - )} + return ( + + + {hasLogIn ? ( + + + + ) : ( + + )} - {vscode ? : } - + {vscode ? : } + - - - + + + - - {store.updateStatus === 'available' && } - {!store.isLoggedIn || (!store.isPatron && )} - {!store.isLoggedIn && } - - {store.isLoggedIn && } - {store.user && store.user.curatorAt && } - - - - {store.isLoggedIn ? ( - - - - ) : ( - - )} - - - - ); - }) -); + + {updateStatus === 'available' && } + {!isLoggedIn || (!isPatron && )} + {!isLoggedIn && } + + {isLoggedIn && } + {user && user.curatorAt && } + + + + {isLoggedIn ? ( + + + + ) : ( + + )} + + + + ); +}; diff --git a/packages/app/src/app/pages/Sandbox/Editor/Header/types.ts b/packages/app/src/app/pages/Sandbox/Editor/Header/types.ts index bd6ff971ee1..eef59015dca 100644 --- a/packages/app/src/app/pages/Sandbox/Editor/Header/types.ts +++ b/packages/app/src/app/pages/Sandbox/Editor/Header/types.ts @@ -1,6 +1,3 @@ -import React from 'react'; - -export interface HeaderProps extends React.FunctionComponent { +export interface IHeaderProps { zenMode: boolean; - store: any; }