Premier jet navbar #63
This commit is contained in:
+61
-24
@@ -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)
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user