|
@@ -1,11 +1,34 @@
|
|
|
+"use client";
|
|
|
import { FC, PropsWithChildren, ReactNode } from "react";
|
|
|
+
|
|
|
+/**
|
|
|
+ * @description HeaderProps
|
|
|
+ * @param {boolean} headerPlaceholder 是否展示展位元素
|
|
|
+ * @param {() => ReactNode} headerRender 自定义渲染
|
|
|
+ */
|
|
|
export interface HeaderProps {
|
|
|
headerPlaceholder?: boolean;
|
|
|
headerRender?: () => ReactNode;
|
|
|
}
|
|
|
|
|
|
+import { useRouter } from "@/i18n";
|
|
|
import clsx from "clsx";
|
|
|
import styles from "./style.module.scss";
|
|
|
+const DefaultHeader: FC = () => {
|
|
|
+ const router = useRouter();
|
|
|
+ return (
|
|
|
+ <div className={styles.headerMain}>
|
|
|
+ <div className={styles.headerLeft}>
|
|
|
+ <div
|
|
|
+ className="iconfont icon-gengduo"
|
|
|
+ onClick={() => router.push("/project")}
|
|
|
+ ></div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.headerTitle}></div>
|
|
|
+ <div className={styles.headerRight}></div>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+};
|
|
|
|
|
|
const Header: FC<PropsWithChildren<HeaderProps>> = (props) => {
|
|
|
const { headerPlaceholder = true, headerRender } = props;
|
|
@@ -15,7 +38,7 @@ const Header: FC<PropsWithChildren<HeaderProps>> = (props) => {
|
|
|
return (
|
|
|
<div className={cs}>
|
|
|
<div className={styles.headerWrap}>
|
|
|
- {headerRender ? headerRender() : <div>defaultHeader</div>}
|
|
|
+ {headerRender ? headerRender() : <DefaultHeader />}
|
|
|
</div>
|
|
|
</div>
|
|
|
);
|