Replicate the app from the image.
To upload files, please first save the app
import streamlit as st
import pandas as pd
import numpy as np
# Configure page layout
st.set_page_config(page_title="SiSuite", layout="wide")
# Custom CSS for styling
st.markdown("""
<style>
.sidebar .sidebar-content {
background-color: #2E3B4E;
color: white;
}
.metric-card {
background-color: white;
padding: 1rem;
border-radius: 0.5rem;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
margin-bottom: 1rem;
}
.status-new {
background-color: #28a745;
color: white;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.8rem;
}
.status-active {
background-color: #007bff;
color: white;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.8rem;
}
.status-pending {
background-color: #ffc107;
color: black;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.8rem;
}
.status-archived {
background-color: #6c757d;
color: white;
padding: 2px 8px;
border-radius: 12px;
font-size: 0.8rem;
}
</style>
""", unsafe_allow_html=True)
# Sidebar
with st.sidebar:
st.markdown("### 🔍 SiSuite")
st.markdown("---")
st.markdown("**Quick links**")
st.markdown("📊 Dashboard")
st.markdown("📋 Activity")
st.markdown("📈 Documents")
st.markdown("📁 Instruction manual")
st.markdown("---")
st.markdown("**Toolkits**")
st.markdown("📊 Analytics")
st.markdown("📄 Documents")
st.markdown("🏷️ Tags")
st.markdown("💾 Element database")
st.markdown("---")
st.markdown("**Account settings**")
st.markdown("⚙️ Preferences")
st.markdown("📊 Proprietary")
st.markdown("📧 Alerts")
# Main content
st.title("Dashboard")
# Create two columns for the main content
col1, col2 = st.columns(2)
with col1:
st.subheader("Element records (non-Current revisions)")
# Create sample data for element records
element_data = {
'Tag/Name': ['Amine Recovery-01-EBC-Baruya', 'Alternating Valves-TA01', 'DL', 'TaH', 'Hydraulic system 942-502', 'Approx-nal'],
'Revisions number': [2.0, 1.0, 0.0, 0.0, 2.0, 0.0],
'Current status': ['New', 'New', 'New', 'New', 'New', 'New'],
'Actions': ['⚙️', '⚙️', '⚙️', '⚙️', '⚙️', '⚙️']
}
df_elements = pd.DataFrame(element_data)
st.dataframe(df_elements, use_container_width=True, hide_index=True)
st.subheader("FMEA documents (non-Current revisions)")
# Create sample data for FMEA documents
fmea_data = {
'Tag/Name': ['Amine plant system', 'Downcast FSMA'],
'Revisions number': [2.0, 1.0],
'Current status': ['Pending', 'New'],
'Actions': ['⚙️', '⚙️']
}
df_fmea = pd.DataFrame(fmea_data)
st.dataframe(df_fmea, use_container_width=True, hide_index=True)
with col2:
st.subheader("Evaluation records (non-Current revisions)")
# Create sample data for evaluation records
eval_data = {
'Tag/Name': ['Amine-XDS-05-Valve', 'Server for Element Demo Model-Gener'],
'Revisions number': [0.0, 1.0],
'Current status': ['New', 'New'],
'Actions': ['⚙️', '⚙️']
}
df_eval = pd.DataFrame(eval_data)
st.dataframe(df_eval, use_container_width=True, hide_index=True)
st.subheader("LIDPAs (non-Current revisions)")
# Create sample data for LIDPAs
lidpa_data = {
'Tag/Name': [
'LAST REQUEST 12932',
'Clean 23',
'LMC',
'Auto-Cleanup',
'Mild Discharge Gas Release Protection',
'FD01',
'Jorom Rach Safre Spring',
'Safeguard for FH-01 DABA FI/HI/23ACFS',
'Jorom Disc 12'
],
'Revisions number': [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
'Current status': ['Active', 'New', 'New', 'New', 'New', 'Active', 'Active', 'Active', 'New'],
'Actions': ['⚙️', '⚙️', '⚙️', '⚙️', '⚙️', '⚙️', '⚙️', '⚙️', '⚙️']
}
df_lidpa = pd.DataFrame(lidpa_data)
st.dataframe(df_lidpa, use_container_width=True, hide_index=True)
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?