mirror of
https://github.com/SomboChea/ui
synced 2024-11-05 06:04:28 +07:00
b56e43846b
* refactor(162): added forwardRef Card * refactor(162): introduced forwardRefDivider * refactor(162): introduced forwardRef MuiComponents * refactor(162): introducing forwardRef * refactor(162): introduced forwardRef * refactor(162): introduced forwardRef * fix(162): fixed link * fix: fixed port number * fix: fixed duplicated id * fix: fixed ref iconbutton * fix: updated snaps * fix: fixed port * fix: fixed eslint errors * fix: the item should be a button * fix: fixed eslint errors
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import React, { useCallback, useState, ChangeEvent, useContext } from 'react';
|
|
|
|
import { DetailContext } from '../../pages/Version';
|
|
import Box from '../../muiComponents/Box';
|
|
|
|
import DetailContainerTabs from './DetailContainerTabs';
|
|
import DetailContainerContent from './DetailContainerContent';
|
|
import { TabPosition } from './tabs';
|
|
|
|
const DetailContainer: React.FC = () => {
|
|
const [tabPosition, setTabPosition] = useState(TabPosition.README);
|
|
const detailContext = useContext(DetailContext);
|
|
const { readMe } = detailContext;
|
|
|
|
const handleChangeTabPosition = useCallback(
|
|
(event: ChangeEvent<{}>) => {
|
|
event.preventDefault();
|
|
const eventTarget = event.target as HTMLSpanElement;
|
|
const chosentab = eventTarget.innerText as TabPosition;
|
|
setTabPosition(TabPosition[chosentab]);
|
|
},
|
|
[setTabPosition]
|
|
);
|
|
|
|
return (
|
|
<Box component="div" display="flex" flexDirection="column" padding={2}>
|
|
<DetailContainerTabs onChangeTabPosition={handleChangeTabPosition} tabPosition={tabPosition} />
|
|
<DetailContainerContent readDescription={readMe} tabPosition={tabPosition} />
|
|
</Box>
|
|
);
|
|
};
|
|
|
|
export default DetailContainer;
|