Spaces:
Sleeping
Sleeping
Update to select multi language
Browse files
layout.py
CHANGED
|
@@ -7,33 +7,40 @@ def init_session_state():
|
|
| 7 |
st.session_state.code = ""
|
| 8 |
if "stdin" not in st.session_state:
|
| 9 |
st.session_state.stdin = ""
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
def theme_toggle():
|
| 13 |
-
theme_choice = st.radio(
|
| 14 |
-
"🎨 Theme",
|
| 15 |
-
options=["☀️", "🌙"],
|
| 16 |
-
horizontal=True,
|
| 17 |
-
label_visibility="collapsed"
|
| 18 |
-
)
|
| 19 |
-
st.session_state.dark_mode = (theme_choice == "🌙")
|
| 20 |
-
return st.session_state.dark_mode
|
| 21 |
|
| 22 |
|
| 23 |
def apply_theme():
|
| 24 |
-
|
| 25 |
|
| 26 |
colors = {
|
| 27 |
-
"bg": "#0f1620" if
|
| 28 |
-
"panel_bg": "#1c2330" if
|
| 29 |
-
"text": "#e3e8f1" if
|
| 30 |
"accent": "#ff5252",
|
| 31 |
-
"border": "#2a3240" if
|
| 32 |
-
"shadow": "rgba(0,0,0,0.3)" if
|
| 33 |
}
|
| 34 |
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
|
|
|
| 37 |
st.markdown(
|
| 38 |
f"""
|
| 39 |
<style>
|
|
|
|
| 7 |
st.session_state.code = ""
|
| 8 |
if "stdin" not in st.session_state:
|
| 9 |
st.session_state.stdin = ""
|
| 10 |
+
if "language" not in st.session_state:
|
| 11 |
+
st.session_state.language = "Python" # Default
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
|
| 14 |
def apply_theme():
|
| 15 |
+
dark = st.session_state.dark_mode
|
| 16 |
|
| 17 |
colors = {
|
| 18 |
+
"bg": "#0f1620" if dark else "#f5f5f5",
|
| 19 |
+
"panel_bg": "#1c2330" if dark else "#ffffff",
|
| 20 |
+
"text": "#e3e8f1" if dark else "#1a1a1a",
|
| 21 |
"accent": "#ff5252",
|
| 22 |
+
"border": "#2a3240" if dark else "#dddddd",
|
| 23 |
+
"shadow": "rgba(0,0,0,0.3)" if dark else "rgba(0,0,0,0.1)",
|
| 24 |
}
|
| 25 |
|
| 26 |
+
# Map selected language to Ace supported values
|
| 27 |
+
language = st.session_state.get("language", "python").lower()
|
| 28 |
+
if language == "c++":
|
| 29 |
+
language = "c_cpp"
|
| 30 |
+
elif language == "c#":
|
| 31 |
+
language = "csharp"
|
| 32 |
+
elif language == "javascript":
|
| 33 |
+
language = "javascript"
|
| 34 |
+
elif language == "python":
|
| 35 |
+
language = "python"
|
| 36 |
+
elif language == "java":
|
| 37 |
+
language = "java"
|
| 38 |
+
elif language == "c":
|
| 39 |
+
language = "c"
|
| 40 |
+
|
| 41 |
+
ace_theme = "monokai" if dark else "chrome"
|
| 42 |
|
| 43 |
+
# Inject CSS styles
|
| 44 |
st.markdown(
|
| 45 |
f"""
|
| 46 |
<style>
|