pixelplanet/src/components/Modtools.jsx
2022-08-08 15:23:48 +02:00

56 lines
1.3 KiB
JavaScript

/*
* Modtools
*/
import React, { useState } from 'react';
import { useSelector } from 'react-redux';
import Canvastools from './ModCanvastools';
import Admintools from './Admintools';
import Watchtools from './ModWatchtools';
import IIDTools from './ModIIDtools';
const CONTENT = {
Canvas: Canvastools,
Admin: Admintools,
Watch: Watchtools,
IID: IIDTools,
};
function Modtools() {
const [selectedPart, selectPart] = useState('Canvas');
const userlvl = useSelector((state) => state.user.userlvl);
const Content = CONTENT[selectedPart];
const parts = Object.keys(CONTENT)
.filter((part) => part !== 'Admin' || userlvl === 1);
return (
<>
<div style={{ textAlign: 'center' }}>
{parts.map((part, ind) => (
<React.Fragment key={part}>
<span
role="button"
tabIndex={-1}
className={
(selectedPart === part) ? 'modallink selected' : 'modallink'
}
onClick={() => selectPart(part)}
>{part}</span>
{(ind !== parts.length - 1)
&& <span className="hdivider" />}
</React.Fragment>
))}
</div>
<div className="modaldivider" />
{Content && <Content />}
</>
);
}
export default React.memo(Modtools);