from dash import html, dcc import dash_mantine_components as dmc from dash_iconify import DashIconify def create_card(title, description, href, icon=None): return dmc.Card( shadow="sm", padding="lg", radius="md", withBorder=True, style={ "height": "100%", "display": "flex", "flexDirection": "column", }, children=[ dmc.Group( justify="space-between", mt="md", mb="xs", children=[ dmc.Text( title, fw=500, lineClamp=2, style={"overflowWrap": "break-word", "wordBreak": "break-word"} ), DashIconify( icon=icon, width=30 ) if icon else dmc.Badge("Active", color="green", variant="light"), ], ), dmc.Text( description, size="sm", c="dimmed", lineClamp=4, style={"flexGrow": 1}, ), dcc.Link( dmc.Button( variant="light", color="blue", fullWidth=True, mt="md", radius="md", children="Ouvrir", leftSection=DashIconify(icon="material-symbols:open-in-new"), ), href=href, style={"textDecoration": "none"}, ), ], )