50 lines
No EOL
1.4 KiB
Python
50 lines
No EOL
1.4 KiB
Python
import streamlit as st
|
|
from datetime import datetime
|
|
import os
|
|
|
|
st.set_page_config(page_title="LMB Suite Alpha v1", layout="centered")
|
|
|
|
st.title("LMB Suite — Alpha v1")
|
|
st.markdown("""
|
|
LMB Suite is an experimental frontend for cosmetic ingredient data tooling.
|
|
Use this simple home page to see the changelog, current feature status,
|
|
and to report bugs or request features.
|
|
""")
|
|
|
|
st.header("Changelog")
|
|
with st.expander("Latest changes"):
|
|
st.write("""
|
|
- 2025-11-23: Alpha front page created with changelog and features list.
|
|
- 2025-11-20: Initial scaffolding and basic feature flags added.
|
|
""")
|
|
|
|
st.header("Features")
|
|
features = [
|
|
("ECHA (European Chemicals Agency)", "In Progress"),
|
|
("CoSIng (Cosmetic Ingredients)", "In Progress"),
|
|
("PubChem", "In Progress"),
|
|
("Ingredient Parsing", "Planned"),
|
|
("SED automatic AI calculation", "Planned"),
|
|
("Complete PIF generation", "Planned")
|
|
]
|
|
|
|
cols = st.columns([3,1])
|
|
with cols[0]:
|
|
st.subheader("Feature")
|
|
with cols[1]:
|
|
st.subheader("Status")
|
|
|
|
for name, status in features:
|
|
cols = st.columns([3,1])
|
|
with cols[0]:
|
|
st.write(name)
|
|
with cols[1]:
|
|
if status.lower() == "complete":
|
|
st.success(status)
|
|
elif status.lower() == "in progress":
|
|
st.warning(status)
|
|
else:
|
|
st.info(status)
|
|
|
|
st.markdown("---")
|
|
st.caption("LMB Suite Alpha v1 — Experimental.") |