import dash
from dash import Dash, html, dcc
from .pages import home, config, stage, schema, table
from .datalake import stages
external_scripts = [
{'src': 'https://cdn.tailwindcss.com'}
]
# external_script = ["https://tailwindcss.com/", {"src": "https://cdn.tailwindcss.com"}]
app = Dash(__name__,
use_pages=True,
external_scripts=external_scripts,
suppress_callback_exceptions=True,
)
app.scripts.config.serve_locally = True
dash.register_page(
home.__name__,
path='/',
layout=home.layout,
)
dash.register_page(
config.__name__,
path='/config',
layout=config.layout
)
dash.register_page(
stage.__name__,
path_template='/stage/',
layout=stage.layout
)
dash.register_page(
schema.__name__,
path_template='/stg//schema/',
layout=schema.layout
)
dash.register_page(
table.__name__,
path_template='/stg//schm//table/',
layout=table.layout_factory(stages)
)
table.callback_factory(app)
app.layout = html.Div([
html.Div([
dcc.Link(
html.H1('Plesna', ),
href="/",
className="text-4xl p-4 text-center grow align-baseline"
),
dcc.Link("Config",
href="/config",
className="flex-none hover:bg-amber-100 p-4 align-middle"
)
],
className="bg-amber-300 flex flex-row shadow"
),
dash.page_container
])
if __name__ == '__main__':
app.run(debug=True)