1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-09 05:15:02 +00:00
mon-entreprise/source/components/RuleLink.tsx
Maxime Quandalle d73983e0b9 Nouveau simulateur artiste-auteur
On utilise pas tout à fait les même composants que sur les simulateurs
salarié et indépendants, mais il sera certainement possible de les faire
converger.
2019-12-10 20:13:14 +01:00

37 lines
927 B
TypeScript

import { ThemeColoursContext } from 'Components/utils/withColours'
import { SitePathsContext } from 'Components/utils/withSitePaths'
import { encodeRuleName, nameLeaf } from 'Engine/rules'
import React, { useContext } from 'react'
import { Link } from 'react-router-dom'
import { Rule } from 'Types/rule'
import './RuleLink.css'
type RuleLinkProps = {
dottedName: Rule['dottedName']
title?: Rule['title']
style?: React.CSSProperties
children: React.ReactNode
}
export default function RuleLink({
dottedName,
title,
style,
children
}: RuleLinkProps) {
const sitePaths = useContext(SitePathsContext)
const { colour } = useContext(ThemeColoursContext)
const newPath =
sitePaths.documentation.index + '/' + encodeRuleName(dottedName)
return (
<Link
to={newPath}
className="rule-link"
title={title}
style={{ color: colour, ...style }}
>
{children || title || nameLeaf(dottedName)}
</Link>
)
}