Merge branch 'dev' into staging

This commit is contained in:
Maxime Lalo 2024-04-09 16:12:21 +02:00
commit fb991005e1

View File

@ -8,6 +8,7 @@ import classes from "./classes.module.scss";
import useHoverable from "@Front/Hooks/useHoverable"; import useHoverable from "@Front/Hooks/useHoverable";
import HeaderSubmenuLink from "./HeaderSubmenuLink"; import HeaderSubmenuLink from "./HeaderSubmenuLink";
import { IAppRule } from "@Front/Api/Entities/rule"; import { IAppRule } from "@Front/Api/Entities/rule";
import Rules, { RulesMode } from "@Front/Components/Elements/Rules";
type IProps = { type IProps = {
text: string | JSX.Element; text: string | JSX.Element;
@ -29,6 +30,7 @@ export default function HeaderSubmenu(props: IProps) {
}, [isActive, pathname, props.links]); }, [isActive, pathname, props.links]);
return ( return (
<Rules mode={RulesMode.OPTIONAL} rules={props.links.flatMap((link) => link.rules ?? [])}>
<div className={classes["container"]} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}> <div className={classes["container"]} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>
<div className={classNames(classes["root"], (isActive || isHovered) && classes["active"])}> <div className={classNames(classes["root"], (isActive || isHovered) && classes["active"])}>
<div className={classes["content"]}> <div className={classes["content"]}>
@ -38,11 +40,14 @@ export default function HeaderSubmenu(props: IProps) {
{isHovered && ( {isHovered && (
<div className={classes["sub-menu"]}> <div className={classes["sub-menu"]}>
{props.links.map((link) => ( {props.links.map((link) => (
<HeaderSubmenuLink key={link.path} {...link} /> <Rules mode={RulesMode.NECESSARY} rules={link.rules ?? []} key={link.path}>
<HeaderSubmenuLink {...link} />
</Rules>
))} ))}
</div> </div>
)} )}
</div> </div>
</div> </div>
</Rules>
); );
} }