aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/components/tab/Tabs.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-08-31 19:18:48 +0800
committercrupest <crupest@outlook.com>2023-08-31 19:18:48 +0800
commita1f69d978426c6a4cb7e8f3116e087553dbbffd5 (patch)
tree506eb8fc76336ea2941c373aad570c73ede577e3 /FrontEnd/src/components/tab/Tabs.tsx
parent1a543da5a018d1a99b51bfe5d7d90edff0502a11 (diff)
downloadtimeline-a1f69d978426c6a4cb7e8f3116e087553dbbffd5.tar.gz
timeline-a1f69d978426c6a4cb7e8f3116e087553dbbffd5.tar.bz2
timeline-a1f69d978426c6a4cb7e8f3116e087553dbbffd5.zip
...
Diffstat (limited to 'FrontEnd/src/components/tab/Tabs.tsx')
-rw-r--r--FrontEnd/src/components/tab/Tabs.tsx62
1 files changed, 0 insertions, 62 deletions
diff --git a/FrontEnd/src/components/tab/Tabs.tsx b/FrontEnd/src/components/tab/Tabs.tsx
deleted file mode 100644
index dc8d9c01..00000000
--- a/FrontEnd/src/components/tab/Tabs.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import * as React from "react";
-import { Link } from "react-router-dom";
-import { useTranslation } from "react-i18next";
-import classnames from "classnames";
-
-import { convertI18nText, I18nText } from "~src/common";
-
-import "./Tabs.css";
-
-export interface Tab {
- name: string;
- text: I18nText;
- link?: string;
- onClick?: () => void;
-}
-
-export interface TabsProps {
- activeTabName?: string;
- actions?: React.ReactNode;
- dense?: boolean;
- tabs: Tab[];
- className?: string;
- style?: React.CSSProperties;
-}
-
-export default function Tabs(props: TabsProps): React.ReactElement | null {
- const { tabs, activeTabName, className, style, dense, actions } = props;
-
- const { t } = useTranslation();
-
- return (
- <div
- className={classnames("cru-nav", dense && "dense", className)}
- style={style}
- >
- {tabs.map((tab) => {
- const active = activeTabName === tab.name;
- const className = classnames("cru-nav-item", active && "active");
-
- if (tab.link != null) {
- return (
- <Link
- key={tab.name}
- to={tab.link}
- onClick={tab.onClick}
- className={className}
- >
- {convertI18nText(tab.text, t)}
- </Link>
- );
- } else {
- return (
- <span key={tab.name} onClick={tab.onClick} className={className}>
- {convertI18nText(tab.text, t)}
- </span>
- );
- }
- })}
- <div className="cru-nav-action-area">{actions}</div>
- </div>
- );
-}