diff --git a/packages/fakeyou.com/src/components/layout/PageHeaderModelView/PageHeaderModelView.tsx b/packages/fakeyou.com/src/components/layout/PageHeaderModelView/PageHeaderModelView.tsx index 3216c1e369..b35f429fa2 100644 --- a/packages/fakeyou.com/src/components/layout/PageHeaderModelView/PageHeaderModelView.tsx +++ b/packages/fakeyou.com/src/components/layout/PageHeaderModelView/PageHeaderModelView.tsx @@ -1,52 +1,84 @@ import React from "react"; import Panel from "../../common/Panel/Panel"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { IconDefinition } from "@fortawesome/fontawesome-svg-core"; interface PageHeaderModelViewProps { - titleIcon?: React.ReactNode; + titleIcon?: IconDefinition; title: string; subText: React.ReactNode; tags?: string[]; ratingBtn?: React.ReactNode; ratingStats?: React.ReactNode; extras?: React.ReactNode; + view?: "regular" | "edit" | "delete"; + modelType?: "TTS" | "V2V"; } -export default function PageHeaderModelView(props: PageHeaderModelViewProps) { +export default function PageHeaderModelView({ + titleIcon, + title, + subText, + tags, + ratingBtn, + ratingStats, + extras, + view = "regular", + modelType = "TTS", +}: PageHeaderModelViewProps) { + const icon = ( + <>{titleIcon && } + ); + return (
- -
-
-

- {props.titleIcon} - {props.title} -

-

{props.subText}

-
-
-
- {props.tags && - props.tags.map((tag, index) => ( -
- {tag} -
- ))} + {view === "regular" && ( + +
+
+

+ {icon} + {title} +

+

{subText}

+
+
+
+ {tags && + tags.map((tag, index) => ( +
+ {tag} +
+ ))} +
-
-
+
-
-
- {props.ratingBtn} -
{props.extras}
+
+
+ {ratingBtn} +
{extras}
+
+ {ratingStats} +
+ {extras} +
- {props.ratingStats} -
- {props.extras} + + )} + + {view === "edit" && ( + +
+
+

+ {icon}Edit {modelType} Model +

+
-
- + + )}
); }