diff --git a/packages/app/src/app/overmind/namespaces/preferences/actions.ts b/packages/app/src/app/overmind/namespaces/preferences/actions.ts index 19abc0ddcf3..058073ec024 100755 --- a/packages/app/src/app/overmind/namespaces/preferences/actions.ts +++ b/packages/app/src/app/overmind/namespaces/preferences/actions.ts @@ -1,6 +1,8 @@ +import { Badge } from '@codesandbox/common/lib/types'; +import { json } from 'overmind'; + import { Action, AsyncAction } from 'app/overmind'; import { setVimExtensionEnabled } from 'app/vscode/initializers'; -import { json } from 'overmind'; export const viewModeChanged: Action<{ showEditor: boolean; @@ -59,13 +61,11 @@ export const settingChanged: Action<{ }); }; -export const setBadgeVisibility: AsyncAction<{ - id: string; - visible: boolean; -}> = async ({ state, effects }, { id, visible }) => { - const { badges } = state.user; - - badges.forEach((badge, index) => { +export const setBadgeVisibility: AsyncAction> = async ({ effects, state }, { id, visible }) => { + state.user.badges.forEach((badge, index) => { if (badge.id === id) { state.user.badges[index].visible = visible; } diff --git a/packages/app/src/app/pages/common/Modals/PreferencesModal/Badges/index.tsx b/packages/app/src/app/pages/common/Modals/PreferencesModal/Badges/index.tsx index 1d7179c06ba..eee1abcc310 100644 --- a/packages/app/src/app/pages/common/Modals/PreferencesModal/Badges/index.tsx +++ b/packages/app/src/app/pages/common/Modals/PreferencesModal/Badges/index.tsx @@ -8,37 +8,35 @@ import { Title } from '../elements'; export const Badges: FunctionComponent = () => { const { - state: { - user: { badges }, - }, actions: { preferences: { setBadgeVisibility }, }, + state: { + user: { badges }, + }, } = useOvermind(); - const badgesCount = badges.length; return (
Badges + - You currently have {badgesCount} badge - {badgesCount === 1 ? '' : 's'}. You can click on the badges to toggle + You currently have {badges.length} badge + {badges.length === 1 ? '' : 's'}. You can click on the badges to toggle visibility. + {badges.map(badge => ( + setBadgeVisibility({ id, visible: !visible }) + } key={badge.id} + size={128} tooltip={false} - onClick={b => - setBadgeVisibility({ - ...b, - visible: !b.visible, - }) - } - badge={badge} visible={badge.visible} - size={128} /> ))}