File size: 1,785 Bytes
f3739d7
 
34d0ca6
5fefff9
 
 
 
34d0ca6
 
5fefff9
34d0ca6
5fefff9
 
34d0ca6
f3739d7
34d0ca6
5fefff9
 
 
 
 
 
 
34d0ca6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import streamlit as st

def quick_controls():
    idea = st.text_area("Your idea", key="qd_idea", placeholder="Describe the idea for your LinkedIn post…")
    tone = st.selectbox("Tone", ["Professional","Friendly","Contrarian","Technical","Inspirational"], index=0, key="qd_tone")
    words = st.slider("Words", 80, 300, 160, 10, key="qd_words")
    variations = st.radio("Variations", [1,2,3], index=0, horizontal=True, key="qd_vars")
    col1, col2 = st.columns(2)
    with col1:
        include_emoji = st.toggle("Include emojis", value=True, key="qd_emoji")
    with col2:
        add_hashtags = st.toggle("Add hashtags", value=False, key="qd_tags")
    language = st.selectbox("Language", ["English","Urdu","Arabic","French","Spanish"], index=0, key="qd_lang")
    return idea, tone, words, variations, include_emoji, add_hashtags, language

def pro_controls(defaults):
    topic = st.text_input("Topic", value=defaults.get("topic",""), key="pro_topic")
    purpose = st.selectbox("Purpose", ["awareness","lead-gen","hiring","product launch","opinion","lesson learned"], index=0, key="pro_purpose")
    audience = st.text_input("Audience", value=defaults.get("audience",""), key="pro_audience")
    tone = st.selectbox("Tone", ["Professional","Friendly","Contrarian","Technical","Inspirational"], index=0, key="pro_tone")
    language = st.selectbox("Language", ["English","Urdu","Arabic","French","Spanish"], index=0, key="pro_lang")
    evidence = st.text_area("Evidence (metric/anecdote/quote)", value="", key="pro_evidence")
    style_text = st.text_area("Style cues (max 4, one per line)", value="Short punchy hooks\nActionable bullets\nOne metric per paragraph\nQuestion-led CTA", key="pro_style")
    return topic, purpose, audience, tone, language, evidence, style_text