LLMGameHub / src /css.py
gsavin's picture
fix: add proper loading screen and fix initial music generation
c55ccab
raw
history blame
3.53 kB
# Custom CSS for fullscreen image with overlay
custom_css = """
/* Make the image container fullscreen */
.image-container {
position: fixed !important;
top: 0 !important;
left: 0 !important;
width: 100vw !important;
height: 100vh !important;
z-index: 1 !important;
}
.image-container img {
width: 100vw !important;
height: 100vh !important;
object-fit: cover !important;
}
/* Style the overlay content */
.overlay-content {
position: fixed !important;
bottom: 0 !important;
left: 0 !important;
right: 0 !important;
background: linear-gradient(transparent, rgba(0,0,0,0.8)) !important;
padding: 40px 20px 20px !important;
z-index: 10 !important;
color: white !important;
}
/* Style the narrative text */
.narrative-text {
background: rgba(0,0,0,0.7) !important;
border: none !important;
color: white !important;
font-size: 18px !important;
line-height: 1.5 !important;
padding: 20px !important;
border-radius: 10px !important;
margin-bottom: 20px !important;
}
img {
pointer-events: none;
}
.narrative-text textarea {
background: transparent !important;
border: none !important;
color: white !important;
-webkit-text-fill-color: white !important;
font-size: 18px !important;
resize: none !important;
}
/* Style the choice buttons */
.choice-buttons {
background: rgba(0,0,0,0.7) !important;
border-radius: 10px !important;
padding: 15px !important;
}
.choice-buttons label {
color: white !important;
font-size: 16px !important;
margin-bottom: 10px !important;
}
/* Fix radio button backgrounds */
.choice-buttons input[type="radio"] {
background: transparent !important;
border: 2px solid white !important;
}
.choice-buttons input[type="radio"]:checked {
background: white !important;
}
.choice-buttons .form-radio {
background: transparent !important;
}
/* Style radio button containers */
.choice-buttons > div {
background: transparent !important;
}
.choice-buttons fieldset {
background: transparent !important;
border: none !important;
}
/* Remove any remaining white backgrounds */
.choice-buttons * {
background-color: transparent !important;
}
.choice-buttons input {
background-color: transparent !important;
border: 1px solid rgba(255,255,255,0.5) !important;
color: white !important;
}
.choice-buttons label span {
color: white !important;
}
/* Hide gradio header and footer */
.gradio-header, .gradio-footer {
display: none !important;
}
/* Hide image control buttons using correct DOM selector */
.image-container .icon-button-wrapper {
display: none !important;
}
.image-container .icon-buttons {
display: none !important;
}
/* Make form element transparent */
.overlay-content .form {
background: transparent !important;
}
"""
# CSS for the loading indicator
loading_css_styles = """
#loading-indicator {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8); /* Semi-transparent black */
/* When Gradio makes this gr.Column visible, it will set display:flex !important; (or similar). */
/* These properties will then apply to center the content of the Column: */
justify-content: center;
align-items: center;
z-index: 9999; /* Ensure it's on top */
}
#loading-indicator .loading-text { /* Style for the text inside */
color: white;
font-size: 2em;
text-align: center;
}
"""