mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-04-24 20:36:40 +07:00
added boris tabs
This commit is contained in:
parent
da510e346a
commit
832386d39a
3 changed files with 33 additions and 5 deletions
|
@ -4,6 +4,7 @@ import styles from './styles.module.scss';
|
|||
import markdown from '~/styles/common/markdown.module.scss';
|
||||
import { Group } from '~/components/containers/Group';
|
||||
import { Button } from '~/components/input/Button';
|
||||
import { InputText } from '~/components/input/InputText';
|
||||
|
||||
interface IProps {}
|
||||
|
||||
|
@ -16,6 +17,14 @@ const BorisUIDemo: FC<IProps> = () => (
|
|||
разработке
|
||||
</p>
|
||||
|
||||
<h2>Инпуты</h2>
|
||||
|
||||
<form autoComplete="off">
|
||||
<InputText title="Обычный инпут" />
|
||||
<InputText title="Инпут с ошибкой" error="Ошибка" />
|
||||
<InputText title="Пароль" type="password" />
|
||||
</form>
|
||||
|
||||
<h2>Кнопки</h2>
|
||||
|
||||
<h4>Цвета</h4>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React, { createContext, FC, VFC, useContext, useState } from 'react';
|
||||
import React, { createContext, FC, VFC, useContext, useState, useMemo } from 'react';
|
||||
import styles from './styles.module.scss';
|
||||
import classNames from 'classnames';
|
||||
|
||||
|
@ -31,12 +31,19 @@ const List: VFC<TabProps> = ({ items }) => {
|
|||
|
||||
const Content: FC<any> = ({ children }) => {
|
||||
const { activeTab } = useContext(TabContext);
|
||||
|
||||
if (!Array.isArray(children) && activeTab > 0) {
|
||||
return null;
|
||||
const notEmptyChildren = useMemo(() => {
|
||||
if (!Array.isArray(children)) {
|
||||
return [children];
|
||||
}
|
||||
|
||||
return Array.isArray(children) ? children[activeTab] : children;
|
||||
return children.filter(it => it);
|
||||
}, [children]);
|
||||
|
||||
if (Array.isArray(notEmptyChildren) && notEmptyChildren.length - 1 < activeTab) {
|
||||
return notEmptyChildren[notEmptyChildren.length - 1];
|
||||
}
|
||||
|
||||
return notEmptyChildren[activeTab];
|
||||
};
|
||||
|
||||
const Tabs = function({ children }) {
|
||||
|
|
|
@ -12,6 +12,7 @@ import { useUserContext } from '~/utils/context/UserContextProvider';
|
|||
import { BorisUsageStats } from '~/redux/boris/reducer';
|
||||
import { Tabs } from '~/components/dialogs/Tabs';
|
||||
import { Superpower } from '~/components/boris/Superpower';
|
||||
import { BorisUIDemo } from '~/components/boris/BorisUIDemo';
|
||||
|
||||
type IProps = {
|
||||
title: string;
|
||||
|
@ -38,7 +39,18 @@ const BorisLayout: FC<IProps> = ({ title, setIsBetaTester, isTester, stats }) =>
|
|||
|
||||
<div className={styles.container}>
|
||||
<Card className={styles.content}>
|
||||
<Tabs>
|
||||
<Superpower>
|
||||
<Tabs.List items={['Комментарии', 'ЮАЙ ПЛЭЙГРАУНД']} />
|
||||
</Superpower>
|
||||
|
||||
<Tabs.Content>
|
||||
<BorisComments />
|
||||
<Superpower>
|
||||
<BorisUIDemo />
|
||||
</Superpower>
|
||||
</Tabs.Content>
|
||||
</Tabs>
|
||||
</Card>
|
||||
|
||||
<Group className={styles.stats}>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue