File size: 1,618 Bytes
7da22ca
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import dash
from dash import html
import dash_mantine_components as dmc
from dash_iconify import DashIconify
from components.card import create_card
from components.sidebar import nav_structure

dash.register_page(__name__, path='/', name='Accueil')

def create_home_cards():
    cards = []
    for category in nav_structure.values():
        for link in category['links']:
            cards.append(
                create_card(
                    title=link['label'],
                    description=link['description'],
                    href=link['href'],
                    icon=category['icon']
                )
            )
    return cards

layout = dmc.Container(
    [
        dmc.Group(
            [
                DashIconify(icon="simple-icons:aiohttp", width=40),
                dmc.Title("Gustave AI", order=1),
            ],
            justify="center",
            my="lg"
        ),
        dmc.Grid(
            children=[
                dmc.GridCol(
                    create_card(
                        title=link['label'],
                        description=link['description'],
                        href=link['href'],
                        icon=category['icon']
                    ),
                    span={"base": 12, "sm": 6, "md": 3},
                    style={"display": "flex", "flexDirection": "column"}
                )
                for category in nav_structure.values()
                for link in category['links']
            ],
            gutter="lg",
        ),
    ],
    fluid=True,
    p="xl",
)