move frontend stuff to its own directory

This commit is contained in:
2025-12-18 16:47:47 +01:00
parent 4d07dde87a
commit 45a842b6fe
34 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
import { Fragment, ReactNode, useState } from "react";
interface TabProps {
id: string;
label: string;
}
interface TabControllerProps {
tabs: TabProps[];
children: ReactNode[];
}
export default function TabController({ tabs, children }: TabControllerProps) {
const [currentIndex, setCurrentIndex] = useState(0);
const handleTabClick = (index: number) => {
setCurrentIndex(index);
};
return (
<div className="block">
<div className="tabs is-boxed is-centered">
<ul>
{tabs.map((tab, index) => (
<li className={currentIndex === index ? "is-active" : ""}>
<a onClick={() => handleTabClick(index)}>{tab.label}</a>
</li>
))}
</ul>
</div>
<div>
{children.map((child, index) => (
<Fragment key={index}>
<div style={{ display: currentIndex === index ? "block" : "none" }}>
{child}
</div>
</Fragment>
))}
</div>
</div>
);
}