|
|
import streamlit as st |
|
|
import os |
|
|
from dotenv import load_dotenv, set_key |
|
|
|
|
|
|
|
|
load_dotenv() |
|
|
|
|
|
st.set_page_config(layout='wide', page_icon='β¨') |
|
|
|
|
|
|
|
|
scriptgen = st.Page("scriptgen.py", title="Script Generator", icon='π') |
|
|
imggen = st.Page("imggen.py", title="Thumbnail Generator", icon='πΌοΈ') |
|
|
tweaker = st.Page("tweaker.py", title="Creative Consultant", icon='π¬') |
|
|
jsonbase = st.Page("secretary.py", title="Script Secretary", icon='π') |
|
|
manual = st.Page("manual.py", title="Manual", icon="π", default=True) |
|
|
docs = st.Page("docs.py", title="Documentation", icon='π') |
|
|
|
|
|
|
|
|
with st.sidebar: |
|
|
api_key_input = st.text_input('Enter your OpenAI API token:', type='password') |
|
|
|
|
|
if st.button("Save API Key"): |
|
|
if api_key_input.startswith("sk-"): |
|
|
|
|
|
st.session_state["OPENAI_API_KEY"] = api_key_input |
|
|
|
|
|
env_file = ".env" |
|
|
set_key(env_file, "OPENAI_API_KEY", api_key_input) |
|
|
st.success("API Key saved successfully!") |
|
|
else: |
|
|
st.error("Invalid API Key format!") |
|
|
|
|
|
|
|
|
api_key = st.session_state.get("OPENAI_API_KEY", None) |
|
|
|
|
|
if api_key: |
|
|
st.success("API Key loaded from session!") |
|
|
else: |
|
|
st.warning("No API Key found. Please enter one.") |
|
|
|
|
|
|
|
|
pg = st.navigation( |
|
|
{ |
|
|
"Others": [manual, docs], |
|
|
"Tools": [scriptgen, imggen, tweaker, jsonbase] |
|
|
} |
|
|
) |
|
|
|
|
|
pg.run() |
|
|
|