marcenacp's picture
Deploy.
6a31b9a
import os
import streamlit.components.v1 as components
from core.constants import OVERVIEW
# Create a _RELEASE constant. We'll set this to False while we're developing
# the component, and True when we're ready to package and distribute it.
_RELEASE = True
if not _RELEASE:
_component_func = components.declare_component(
"tabs_component",
url="http://localhost:3001",
)
else:
parent_dir = os.path.dirname(os.path.abspath(__file__))
build_dir = os.path.join(parent_dir, "frontend/build")
_component_func = components.declare_component("tabs_component", path=build_dir)
def render_tabs(tabs: list[str], selected_tab: int, json: str | None, key=None):
"""Create a new instance of "tabs_component".
Args:
tabs: The tabs to render in the component.
selected_tab: The selected tab.
key: An optional key that uniquely identifies this component. If this is
None, and the component's arguments are changed, the component will
be re-mounted in the Streamlit frontend and lose its current state.
Returns:
The number of times the component's "Click Me" button has been clicked.
(This is the value passed to `Streamlit.setComponentValue` on the
frontend.)
"""
component_value = _component_func(
tabs=tabs,
selected_tab=selected_tab,
json=json,
key=key,
default=OVERVIEW,
)
return component_value