import streamlit as st
import os
import sys
# Add current workspace directory to sys.path to allow absolute imports
sys.path.append(os.path.abspath(os.path.dirname(__file__)))
from frontend.home import render_sidebar_brand, render_home_dashboard
from frontend.bg_remover_ui import render_bg_remover_ui
from frontend.text_editor_ui import render_text_editor_ui
from frontend.dslr_blur_ui import render_dslr_blur_ui
# Set Streamlit page config
st.set_page_config(
page_title="Antigravity Studio - AI Image & Document Workspace",
page_icon="⚡",
layout="wide",
initial_sidebar_state="expanded"
)
# Custom CSS for Glassmorphic Dark Theme with glowing neon accents
st.markdown(
"""
""",
unsafe_allow_html=True
)
# ----------------- SESSION STATE INITIALIZATION -----------------
if "active_workspace" not in st.session_state:
st.session_state.active_workspace = "Home"
# ----------------- SIDEBAR BRANDING & ROUTING -----------------
render_sidebar_brand()
st.sidebar.markdown("### 🧭 NAVIGATION")
nav_choice = st.sidebar.selectbox(
"Active Workspace",
["Home Dashboard", "AI Background Remover", "AI DSLR Background Blur", "AI In-Image Text Editor"],
index=["Home Dashboard", "AI Background Remover", "AI DSLR Background Blur", "AI In-Image Text Editor"].index(
"Home Dashboard" if st.session_state.active_workspace == "Home" else st.session_state.active_workspace
),
key="nav_choice_select"
)
# Sync sidebar navigation selection with active session state
choice_mapped = "Home" if nav_choice == "Home Dashboard" else nav_choice
if choice_mapped != st.session_state.active_workspace:
st.session_state.active_workspace = choice_mapped
st.rerun()
# Quick nav back to Home from sidebar footer
st.sidebar.markdown("
", unsafe_allow_html=True)
if st.session_state.active_workspace != "Home":
if st.sidebar.button("← Back to Dashboard", use_container_width=True):
st.session_state.active_workspace = "Home"
st.rerun()
# ----------------- WORKSPACE RENDERING -----------------
if st.session_state.active_workspace == "Home":
render_home_dashboard()
elif st.session_state.active_workspace == "AI Background Remover":
render_bg_remover_ui()
elif st.session_state.active_workspace == "AI DSLR Background Blur":
render_dslr_blur_ui()
elif st.session_state.active_workspace == "AI In-Image Text Editor":
render_text_editor_ui()