diff --git a/src/components/boris/BorisSuperpowers/index.tsx b/src/components/boris/BorisSuperpowers/index.tsx new file mode 100644 index 00000000..513e36be --- /dev/null +++ b/src/components/boris/BorisSuperpowers/index.tsx @@ -0,0 +1,27 @@ +import React, { FC } from 'react'; +import styles from './styles.module.scss'; +import { Toggle } from '~/components/input/Toggle'; + +interface IProps { + active?: boolean; + onChange?: (val: boolean) => void; +} + +const BorisSuperpowers: FC = ({ active, onChange }) => ( +
+
+ +
+ +
+
Суперспособности
+ {active ? ( +
Включи, чтобы видеть будущее
+ ) : ( +
Ты видишь всё, что скрыто
+ )} +
+
+); + +export { BorisSuperpowers }; diff --git a/src/components/boris/BorisSuperpowers/styles.module.scss b/src/components/boris/BorisSuperpowers/styles.module.scss new file mode 100644 index 00000000..5ad51e85 --- /dev/null +++ b/src/components/boris/BorisSuperpowers/styles.module.scss @@ -0,0 +1,19 @@ +@import "~/styles/variables"; + +.wrap { + display: grid; + grid-template-columns: auto 1fr; + column-gap: $gap; + align-items: center; +} + +.title { + font: $font_14_semibold; + color: white; + text-transform: uppercase; +} + +.subtitle { + font: $font_12_regular; + color: transparentize(white, 0.5); +} diff --git a/src/components/boris/Superpower/index.tsx b/src/components/boris/Superpower/index.tsx new file mode 100644 index 00000000..97d97c96 --- /dev/null +++ b/src/components/boris/Superpower/index.tsx @@ -0,0 +1,16 @@ +import React, { FC, memo } from 'react'; +import { useShallowSelect } from '~/utils/hooks/useShallowSelect'; +import { selectAuthIsTester, selectUser } from '~/redux/auth/selectors'; + +interface IProps {} + +const Superpower: FC = memo(({ children }) => { + const user = useShallowSelect(selectUser); + const is_tester = useShallowSelect(selectAuthIsTester); + + if (!user || !is_tester) return null; + + return <>{children}; +}); + +export { Superpower }; diff --git a/src/components/editors/EditorPublicSwitch/index.tsx b/src/components/editors/EditorPublicSwitch/index.tsx index c654a559..3cb59e81 100644 --- a/src/components/editors/EditorPublicSwitch/index.tsx +++ b/src/components/editors/EditorPublicSwitch/index.tsx @@ -2,6 +2,7 @@ import React, { FC, useCallback, useEffect, useRef } from 'react'; import { IEditorComponentProps } from '~/redux/node/types'; import { usePopper } from 'react-popper'; import { Button } from '~/components/input/Button'; +import { Superpower } from '~/components/boris/Superpower'; interface IProps extends IEditorComponentProps {} @@ -11,24 +12,22 @@ const EditorPublicSwitch: FC = ({ data, setData }) => { setData, ]); - if (process.env.REACT_APP_LAB_ENABLED !== '1') { - return null; - } - return ( -