lorn666's picture
Update app.py
93883c6 verified
raw
history blame
5.2 kB
import gradio as gr
import os
# CSS to change orange UI elements to blue
blue_ui_css = """
/* Change orange checkboxes and radio buttons to blue */
.gradio-container input[type="checkbox"]:checked,
.gradio-container .gr-checkbox input:checked + .checkmark,
.gradio-container .gr-checkboxgroup input:checked + .checkmark {
background-color: #667eea !important;
border-color: #667eea !important;
}
.gradio-container input[type="radio"]:checked,
.gradio-container .gr-radio input:checked + .checkmark,
.gradio-container .gr-radio input:checked::before {
background-color: #667eea !important;
border-color: #667eea !important;
}
/* Override any orange accent colors */
.gradio-container .gr-checkbox input:checked,
.gradio-container .gr-checkboxgroup input:checked,
.gradio-container .gr-radio input:checked {
accent-color: #667eea !important;
}
/* Target specific Gradio checkbox styling */
.gradio-container label input[type="checkbox"]:checked::before,
.gradio-container label input[type="radio"]:checked::before {
background-color: #667eea !important;
}
/* Comprehensive button styling to override orange buttons */
.gradio-container button,
.gradio-container .gr-button,
.gradio-container input[type="button"],
.gradio-container input[type="submit"],
.gradio-container .btn,
.gradio-container [role="button"] {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
background-color: #667eea !important;
border-color: #667eea !important;
color: white !important;
border: 1px solid #667eea !important;
}
.gradio-container button:hover,
.gradio-container .gr-button:hover,
.gradio-container input[type="button"]:hover,
.gradio-container input[type="submit"]:hover,
.gradio-container .btn:hover,
.gradio-container [role="button"]:hover {
background: linear-gradient(135deg, #5a6fd8 0%, #6b4190 100%) !important;
background-color: #5a6fd8 !important;
border-color: #5a6fd8 !important;
transform: translateY(-1px) !important;
box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}
.gradio-container button:active,
.gradio-container .gr-button:active,
.gradio-container input[type="button"]:active,
.gradio-container input[type="submit"]:active,
.gradio-container .btn:active,
.gradio-container [role="button"]:active {
background: linear-gradient(135deg, #4e5bc6 0%, #5e397e 100%) !important;
background-color: #4e5bc6 !important;
border-color: #4e5bc6 !important;
transform: translateY(0) !important;
}
/* Primary button variants */
.gradio-container button.primary,
.gradio-container .gr-button.primary,
.gradio-container button[data-variant="primary"],
.gradio-container .primary,
.gradio-container .btn-primary {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
background-color: #667eea !important;
border-color: #667eea !important;
color: white !important;
}
/* Secondary button variants */
.gradio-container button.secondary,
.gradio-container .gr-button.secondary,
.gradio-container button[data-variant="secondary"],
.gradio-container .secondary,
.gradio-container .btn-secondary {
background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%) !important;
background-color: #3b82f6 !important;
border-color: #3b82f6 !important;
color: white !important;
}
/* Stop/danger button variants */
.gradio-container button.stop,
.gradio-container .gr-button.stop,
.gradio-container button[data-variant="stop"],
.gradio-container .stop,
.gradio-container .btn-danger {
background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
background-color: #ef4444 !important;
border-color: #ef4444 !important;
color: white !important;
}
/* Override any remaining orange colors */
.gradio-container * {
--primary-color: #667eea !important;
--primary-600: #667eea !important;
--primary-500: #667eea !important;
--primary-400: #667eea !important;
--orange-500: #667eea !important;
--orange-600: #667eea !important;
}
/* Force override for stubborn orange buttons */
.gradio-container button[style*="background"],
.gradio-container .gr-button[style*="background"] {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
background-color: #667eea !important;
}
"""
SPACE_REPO_ID = "IneqMath/IneqMath_Judge_Private"
hf_token = os.environ.get("HF_TOKEN")
if not hf_token:
try:
import getpass
hf_token = getpass.getpass("Enter your Hugging Face token (input hidden): ")
except Exception:
hf_token = input("Enter your Hugging Face token: ")
if not hf_token:
print("[ERROR] Hugging Face token is required. Set HF_TOKEN env variable or enter it when prompted.")
exit(1)
remote_space = None
load_error = None
try:
remote_space = gr.load(f"spaces/{SPACE_REPO_ID}", hf_token=hf_token)
except Exception as e:
load_error = str(e)
print(f"[ERROR] Failed to load remote Space: {load_error}")
with gr.Blocks(css=blue_ui_css) as demo:
if remote_space is not None:
remote_space.render()
else:
gr.Markdown(f"**Failed to load remote Space.**\n\nError: {load_error}")
if __name__ == "__main__":
demo.launch()