Premier jet navbar #63

This commit is contained in:
Colin Maudry
2026-01-20 17:31:42 +01:00
parent 3776b18ff5
commit 421eaa0772
2 changed files with 69 additions and 30 deletions
+61 -24
View File
@@ -3,7 +3,7 @@ import os
import dash_bootstrap_components as dbc import dash_bootstrap_components as dbc
import tomllib import tomllib
from dash import Dash, dcc, html, page_container, page_registry from dash import Dash, Input, Output, State, dcc, html, page_container, page_registry
from dotenv import load_dotenv from dotenv import load_dotenv
from flask import send_from_directory from flask import send_from_directory
@@ -76,43 +76,80 @@ app.index_string = """
</html> </html>
""" """
app.layout = html.Div( navbar = dbc.Navbar(
dbc.Container(
[ [
html.Div( dbc.NavbarBrand(
[ [
html.Div( html.H1("decp.info", className="d-inline-block align-top me-2"),
[ html.Span(version, className="fs-6 text-muted align-bottom"),
html.A(children=html.H1("decp.info"), href="/"),
html.P(
children=html.A(
version,
href="https://github.com/ColinMaudry/decp.info/blob/main/CHANGELOG.md",
target="_blank",
),
className="version",
),
], ],
className="logo", href="/",
), ),
html.Div( dbc.NavbarToggler(id="navbar-toggler"),
id="announcements", dbc.Collapse(
children=dcc.Markdown(os.getenv("ANNOUNCEMENTS")), dbc.Nav(
),
html.Div(
[ [
dcc.Link( dbc.NavItem(
page["name"], href=page["relative_path"], className="nav" dbc.NavLink(
page["name"],
href=page["relative_path"],
active="exact",
)
) )
for page in page_registry.values() for page in page_registry.values()
if page["name"] not in ["Acheteur", "Titulaire", "Marché"] if page["name"] not in ["Acheteur", "Titulaire", "Marché"]
],
className="ms-auto",
navbar=True,
),
id="navbar-collapse",
navbar=True,
),
] ]
), ),
], color="light",
className="navbar", dark=False,
className="mb-4",
)
app.layout = html.Div(
[
dcc.Location(id="url-tracker"),
navbar,
html.Div(
id="announcements",
children=dbc.Container(dcc.Markdown(os.getenv("ANNOUNCEMENTS"))),
), ),
dbc.Container(
page_container, page_container,
id="page-content-container",
className="mb-4",
),
] ]
) )
@app.callback(
Output("navbar-collapse", "is_open"),
[Input("navbar-toggler", "n_clicks")],
[State("navbar-collapse", "is_open")],
)
def toggle_navbar_collapse(n, is_open):
if n:
return not is_open
return is_open
@app.callback(
Output("page-content-container", "fluid"),
Input("url-tracker", "pathname"),
)
def toggle_container_fluid(pathname):
if pathname == "/tableau":
return True
return False
if __name__ == "__main__": if __name__ == "__main__":
app.run(debug=True) app.run(debug=True)
+2
View File
@@ -195,6 +195,7 @@ td[data-dash-column="objet"],td[data-dash-column="titulaire_nom"],td[data-dash-c
/* Menu de navigation */ /* Menu de navigation */
/*
.navbar { .navbar {
width: 100%; width: 100%;
height: 100px; height: 100px;
@@ -208,6 +209,7 @@ a.nav {
margin-right: 40px; margin-right: 40px;
font-size: 120%; font-size: 120%;
} }
*/
h3 { h3 {
margin: 36px 0 20px 0; margin: 36px 0 20px 0;