Spaces:
Running
Running
File size: 3,525 Bytes
86b351a c55ccab 86b351a |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# 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;
}
""" |