/
SOFG1
/
generic
Обзор
Документация
Войти
/
SOFG1
/
generic
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/components/RawDataComponents/TableComponent.tsx
49 строк
2 KB
Eddy
reafactoring, dispose useUserStateHook
24 июл 2024, 15:22
24 июл 2024, 15:22
c1a396e
Код
Авторство
О чём код?
import React, {useState} from "react"; import DatabaseTable from "./DatabaseTable"; import styled from "styled-components"; import Tab from "../../UI/Tabs/Tab"; import Tabs from "../../UI/Tabs/Tabs"; import {useTranslation} from "react-i18next"; import {desktopBp} from "../../styles/variables"; import {DigitalCampaignView, OfflineCampaignView} from "../../views/RawDataViews"; import { useSelector } from "react-redux"; import { userUserInfoSelector } from "../../store/user/selectors"; const TableComponent = React.memo(() => { const {t} = useTranslation(); const [tab, setTab] = useState(0); const userInfo = useSelector(userUserInfoSelector); return ( <Container> <StyledTabs value={tab} onChange={setTab}> <Tab>{t("raw-data_tab-database")}</Tab> {!!userInfo?.permissions.Volunteer.access ? <Tab>{t("raw-data_tab-task-volunteers")}</Tab> : <></>} {!!userInfo?.permissions.CallCenter.access ? <Tab>{t("raw-data_tab-campaigns")}</Tab> : <></>} </StyledTabs> {tab === 0 && <DatabaseTable/>} {tab === 2 && ( <> <DigitalCampaignView/> <OfflineCampaignView/> </> )} </Container> ) }); export default TableComponent; const Container = styled.div` display: flex; flex-direction: column; ` const StyledTabs = styled(Tabs)` margin-bottom: 0.88vw; gap: 2.34vw; @media screen and (max-width: ${desktopBp}) { margin-bottom: 20px; gap: 25px; } `