@@ -343,9 +343,7 @@ def tableau_states(res, states):
343343
344344# App layout
345345
346- logout = pn .widgets .Button (name = "Log out" )
347- logout .js_on_click (code = """window.location.href = './logout'""" )
348-
346+ # Sidebar
349347pn_params = pn .layout .WidgetBox (
350348 pn .pane .Markdown ("## Data" , styles = {"color" : blue_color }),
351349 text_fname ,
@@ -359,12 +357,11 @@ def tableau_states(res, states):
359357 selector_n_bins ,
360358 dummy_color_pickers_bind ,
361359 color_pickers ,
362- # pn.Row(logout),
363360 max_width = 350 ,
364361 sizing_mode = "stretch_width" ,
365362).servable (area = "sidebar" )
366363
367-
364+ # Main window
368365gstack = GridStack (sizing_mode = "stretch_both" , min_height = 600 )
369366
370367gstack [0 :3 , 0 :3 ] = pn .pane .Matplotlib (
@@ -389,3 +386,26 @@ def tableau_states(res, states):
389386)
390387
391388gstack .servable (title = "Simulation Decomposition Dashboard" )
389+
390+ # Header
391+ info_button = pn .widgets .Button (
392+ icon = "info-circle" , button_type = "light" , name = "More info" , width = 150
393+ )
394+ info_button .js_on_click (code = """window.location.href = 'https://www.simdec.fi/'""" )
395+
396+ issue_button = pn .widgets .Button (
397+ icon = "bug" , button_type = "danger" , name = "Report an issue" , width = 200
398+ )
399+ issue_button .js_on_click (
400+ code = """window.location.href = 'https://github.com/Simulation-Decomposition/simdec-python/issues'"""
401+ )
402+
403+ logout_button = pn .widgets .Button (name = "Log out" , width = 100 )
404+ logout_button .js_on_click (code = """window.location.href = './logout'""" )
405+
406+ pn .Row (
407+ pn .HSpacer (),
408+ info_button ,
409+ issue_button ,
410+ # logout_button,
411+ ).servable (area = "header" )
0 commit comments