Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -2054,7 +2054,6 @@ def launch_main_app():
|
|
| 2054 |
text-align: center;
|
| 2055 |
width: 100%
|
| 2056 |
}
|
| 2057 |
-
|
| 2058 |
/* Style for footer text */
|
| 2059 |
#footer-text {
|
| 2060 |
text-align: center;
|
|
@@ -2065,7 +2064,6 @@ def launch_main_app():
|
|
| 2065 |
border-top: 1px solid #ddd;
|
| 2066 |
line-height: 1.6
|
| 2067 |
}
|
| 2068 |
-
|
| 2069 |
/* Custom styling for textarea input (monospace box) */
|
| 2070 |
#pretty-box textarea {
|
| 2071 |
font-size: 16px;
|
|
@@ -2080,80 +2078,46 @@ def launch_main_app():
|
|
| 2080 |
min-width: 300px;
|
| 2081 |
max-width: 150%;
|
| 2082 |
}
|
| 2083 |
-
|
| 2084 |
-
/* Sticky footer that stays at bottom of page */
|
| 2085 |
-
#custom_footer {
|
| 2086 |
-
position: fixed;
|
| 2087 |
-
bottom: 0;
|
| 2088 |
-
left: 0;
|
| 2089 |
-
right: 0;
|
| 2090 |
-
padding: 10px 20px;
|
| 2091 |
-
font-size: 14px;
|
| 2092 |
-
display: flex;
|
| 2093 |
-
justify-content: space-between;
|
| 2094 |
-
align-items: center;
|
| 2095 |
-
z-index: 9999; /* Ensure itβs on top of Gradio footer */
|
| 2096 |
-
box-shadow: 0 -1px 5px rgba(0,0,0,0.1);
|
| 2097 |
-
}
|
| 2098 |
-
|
| 2099 |
/* Label styling inside the pretty-box */
|
| 2100 |
#pretty-box label {
|
| 2101 |
text-align: center;
|
| 2102 |
font-size: 18px;
|
| 2103 |
}
|
| 2104 |
-
|
| 2105 |
/* Utility box for fitting controls */
|
| 2106 |
#fit-box {
|
| 2107 |
min-width: 200px;
|
| 2108 |
margin: auto;
|
| 2109 |
}
|
| 2110 |
-
|
| 2111 |
/* Override Gradio block styling to make background transparent */
|
| 2112 |
.gr-block.gr-group {
|
| 2113 |
background-color: inherit !important;
|
| 2114 |
padding: 16px;
|
| 2115 |
}
|
| 2116 |
-
|
| 2117 |
-
|
| 2118 |
-
|
| 2119 |
-
|
| 2120 |
-
|
| 2121 |
-
|
| 2122 |
-
padding
|
| 2123 |
-
display: flex;
|
| 2124 |
-
align-items: center;
|
| 2125 |
}
|
| 2126 |
|
| 2127 |
-
|
| 2128 |
-
|
| 2129 |
font-size: 14px;
|
| 2130 |
-
line-height: 1.
|
| 2131 |
-
color: #555;
|
| 2132 |
-
text-align: right;
|
| 2133 |
}
|
| 2134 |
|
| 2135 |
-
|
| 2136 |
#footer-right a {
|
| 2137 |
-
color: #
|
| 2138 |
text-decoration: none;
|
| 2139 |
}
|
| 2140 |
|
| 2141 |
-
|
| 2142 |
#footer-right a:hover {
|
| 2143 |
text-decoration: underline;
|
| 2144 |
}
|
| 2145 |
-
|
| 2146 |
-
/* Footer row container for spacing and border */
|
| 2147 |
-
#footer-row {
|
| 2148 |
-
border-top: 1px solid #ccc;
|
| 2149 |
-
margin-top: 20px;
|
| 2150 |
-
padding-top: 10px;
|
| 2151 |
-
padding-bottom: 5px;
|
| 2152 |
-
display: flex;
|
| 2153 |
-
align-items: center;
|
| 2154 |
-
justify-content: space-between;
|
| 2155 |
-
}
|
| 2156 |
-
|
| 2157 |
/* Logout row positioned to the right */
|
| 2158 |
#logout-row {
|
| 2159 |
display: flex;
|
|
@@ -3827,40 +3791,30 @@ with gr.Blocks(title="π§ͺ Toilet Segmentation & Measurement App") as full_app_i
|
|
| 3827 |
# π» FOOTER SECTION
|
| 3828 |
# ================================
|
| 3829 |
with gr.Row(elem_id='custom_footer'):
|
| 3830 |
-
with gr.
|
| 3831 |
-
|
| 3832 |
-
|
| 3833 |
-
|
| 3834 |
-
|
| 3835 |
-
|
| 3836 |
-
|
| 3837 |
-
|
| 3838 |
-
|
| 3839 |
-
with gr.
|
| 3840 |
-
# Horizontal rule
|
| 3841 |
-
gr.Markdown("""---""")
|
| 3842 |
-
|
| 3843 |
-
with gr.Row():
|
| 3844 |
-
# Left side footer: company name
|
| 3845 |
-
with gr.Column(scale=1, min_width=300):
|
| 3846 |
-
with gr.Row():
|
| 3847 |
gr.Markdown(
|
| 3848 |
-
"Β© 2025 HapiHygi Innovations Pvt. Ltd. All rights reserved.",
|
| 3849 |
-
elem_id="footer-left"
|
| 3850 |
)
|
| 3851 |
-
|
| 3852 |
-
# Right side footer: creator info and links
|
| 3853 |
-
with gr.Column(scale=1, min_width=300):
|
| 3854 |
-
with gr.Row():
|
| 3855 |
gr.Markdown(
|
| 3856 |
"""
|
| 3857 |
-
<div style='text-align:right'>
|
| 3858 |
-
|
| 3859 |
-
|
| 3860 |
-
|
| 3861 |
</div>
|
| 3862 |
""",
|
| 3863 |
-
elem_id="footer-right"
|
| 3864 |
)
|
| 3865 |
|
| 3866 |
# π Launch the full app
|
|
|
|
| 2054 |
text-align: center;
|
| 2055 |
width: 100%
|
| 2056 |
}
|
|
|
|
| 2057 |
/* Style for footer text */
|
| 2058 |
#footer-text {
|
| 2059 |
text-align: center;
|
|
|
|
| 2064 |
border-top: 1px solid #ddd;
|
| 2065 |
line-height: 1.6
|
| 2066 |
}
|
|
|
|
| 2067 |
/* Custom styling for textarea input (monospace box) */
|
| 2068 |
#pretty-box textarea {
|
| 2069 |
font-size: 16px;
|
|
|
|
| 2078 |
min-width: 300px;
|
| 2079 |
max-width: 150%;
|
| 2080 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2081 |
/* Label styling inside the pretty-box */
|
| 2082 |
#pretty-box label {
|
| 2083 |
text-align: center;
|
| 2084 |
font-size: 18px;
|
| 2085 |
}
|
|
|
|
| 2086 |
/* Utility box for fitting controls */
|
| 2087 |
#fit-box {
|
| 2088 |
min-width: 200px;
|
| 2089 |
margin: auto;
|
| 2090 |
}
|
|
|
|
| 2091 |
/* Override Gradio block styling to make background transparent */
|
| 2092 |
.gr-block.gr-group {
|
| 2093 |
background-color: inherit !important;
|
| 2094 |
padding: 16px;
|
| 2095 |
}
|
| 2096 |
+
#custom_footer {
|
| 2097 |
+
position: absolute;
|
| 2098 |
+
bottom: 0;
|
| 2099 |
+
width: 100%;
|
| 2100 |
+
background-color: #0b0b0b; /* Optional: match Gradio theme */
|
| 2101 |
+
z-index: 9999;
|
| 2102 |
+
padding: 10px 20px;
|
|
|
|
|
|
|
| 2103 |
}
|
| 2104 |
|
| 2105 |
+
#footer-contact, #footer-left, #footer-right {
|
| 2106 |
+
color: white;
|
| 2107 |
font-size: 14px;
|
| 2108 |
+
line-height: 1.5;
|
|
|
|
|
|
|
| 2109 |
}
|
| 2110 |
|
| 2111 |
+
#footer-contact a,
|
| 2112 |
#footer-right a {
|
| 2113 |
+
color: #61dafb; /* Stylish light-blue link color */
|
| 2114 |
text-decoration: none;
|
| 2115 |
}
|
| 2116 |
|
| 2117 |
+
#footer-contact a:hover,
|
| 2118 |
#footer-right a:hover {
|
| 2119 |
text-decoration: underline;
|
| 2120 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2121 |
/* Logout row positioned to the right */
|
| 2122 |
#logout-row {
|
| 2123 |
display: flex;
|
|
|
|
| 3791 |
# π» FOOTER SECTION
|
| 3792 |
# ================================
|
| 3793 |
with gr.Row(elem_id='custom_footer'):
|
| 3794 |
+
with gr.Column():
|
| 3795 |
+
# Line 1 - Centered contact info
|
| 3796 |
+
gr.Markdown(
|
| 3797 |
+
"<div style='text-align:center;'>For any queries, feel free to contact π§ <a href='mailto:core.atsc@gmail.com'>core.atsc@gmail.com</a></div>",
|
| 3798 |
+
elem_id="footer-contact"
|
| 3799 |
+
)
|
| 3800 |
+
|
| 3801 |
+
# Line 2 - Left company info, Right creator info
|
| 3802 |
+
with gr.Row():
|
| 3803 |
+
with gr.Column(scale=1, min_width=300):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3804 |
gr.Markdown(
|
| 3805 |
+
"<div style='text-align:left;'>Β© 2025 HapiHygi Innovations Pvt. Ltd. All rights reserved.</div>",
|
| 3806 |
+
elem_id="footer-left"
|
| 3807 |
)
|
| 3808 |
+
with gr.Column(scale=1, min_width=300):
|
|
|
|
|
|
|
|
|
|
| 3809 |
gr.Markdown(
|
| 3810 |
"""
|
| 3811 |
+
<div style='text-align:right;'>
|
| 3812 |
+
<a href="mailto:savaliyaheet19@gmail.com">π¨βπ»</a>
|
| 3813 |
+
<a href="https://github.com/heetsavaliya" target="_blank"><i>Created by:</i></a>
|
| 3814 |
+
<a href="https://www.linkedin.com/in/heet-savaliya-03b863252/" target="_blank"><i>Heet Savaliya, PDEU</i></a>
|
| 3815 |
</div>
|
| 3816 |
""",
|
| 3817 |
+
elem_id="footer-right"
|
| 3818 |
)
|
| 3819 |
|
| 3820 |
# π Launch the full app
|