Nischal Subedi
commited on
Commit
·
3e20ea0
1
Parent(s):
b9d91ef
updated UI_v37
Browse files
app.py
CHANGED
@@ -416,17 +416,17 @@ Answer:"""
|
|
416 |
border-bottom: 2px solid var(--border-dark) !important; width: 100%;
|
417 |
transition: color var(--transition-speed), border-color var(--transition-speed);
|
418 |
}
|
419 |
-
.sub-section-title {
|
420 |
font-family: var(--font-family-header) !important;
|
421 |
-
font-size: 2.
|
422 |
-
font-weight:
|
423 |
color: var(--text-primary-dark) !important;
|
424 |
text-align: center !important;
|
425 |
margin-top: 1.5rem !important;
|
426 |
margin-bottom: 0.8rem !important;
|
427 |
transition: color var(--transition-speed);
|
428 |
-
display: block !important; /*
|
429 |
-
width: 100% !important; /*
|
430 |
}
|
431 |
@media (prefers-color-scheme: light) {
|
432 |
.section-title, .sub-section-title { color: var(--text-primary-light) !important; border-bottom-color: var(--border-light) !important; }
|
@@ -472,7 +472,7 @@ Answer:"""
|
|
472 |
.gradio-textbox textarea::placeholder, .gradio-textbox input[type=password]::placeholder { color: #808090 !important; }
|
473 |
.gradio-textbox textarea:focus, .gradio-dropdown select:focus, .gradio-textbox input[type=password]:focus {
|
474 |
border-color: var(--accent-main-dark) !important;
|
475 |
-
box-shadow: 0 0 0 6px var(--focus-ring-dark) !important, inset
|
476 |
outline: none !important;
|
477 |
}
|
478 |
@media (prefers-color-scheme: light) {
|
@@ -662,7 +662,7 @@ Answer:"""
|
|
662 |
.main-dashboard-container { padding: var(--padding-md) !important; margin-bottom: 0.6rem; border-radius: var(--radius-md); gap: 2rem; }
|
663 |
.dashboard-card-section { padding: var(--padding-sm); border-radius: var(--radius-sm); }
|
664 |
.section-title { font-size: 2.2rem !important; margin-bottom: 1.5rem !important; }
|
665 |
-
.sub-section-title { font-size:
|
666 |
.section-divider { margin: 1.8rem 0; } .input-row { gap: 1.5rem; } .input-field { min-width: 280px; }
|
667 |
.gradio-textbox textarea { min-height: 160px; } .output-card .response-header { font-size: 1.7rem; }
|
668 |
.examples-section { padding-top: 1.2rem; }
|
@@ -678,7 +678,7 @@ Answer:"""
|
|
678 |
.main-dashboard-container { padding: var(--padding-sm) !important; margin-bottom: 0.5rem; border-radius: var(--radius-md); gap: 1.8rem; }
|
679 |
.dashboard-card-section { padding: 1.5rem; border-radius: var(--radius-sm); }
|
680 |
.section-title { font-size: 2rem !important; margin-bottom: 1.2rem !important; }
|
681 |
-
.sub-section-title { font-size: 1.
|
682 |
.section-divider { margin: 1.5rem 0; } .input-row { flex-direction: column; gap: 1rem; } .input-field { min-width: 100%; }
|
683 |
.gradio-textbox textarea { min-height: 140px; } .button-row { justify-content: stretch; gap: 1rem; }
|
684 |
.gradio-button { width: 100%; padding: 1.1rem 2rem !important; font-size: 1.1rem !important; }
|
@@ -697,7 +697,7 @@ Answer:"""
|
|
697 |
.main-dashboard-container { padding: 1.2rem !important; margin-bottom: 0.4rem; border-radius: var(--radius-sm); gap: 1.5rem; }
|
698 |
.dashboard-card-section { padding: 1rem; border-radius: var(--radius-xs); }
|
699 |
.section-title { font-size: 1.8rem !important; margin-bottom: 1rem !important; }
|
700 |
-
.sub-section-title { font-size: 1.
|
701 |
.section-divider { margin: 1rem 0; }
|
702 |
.gradio-textbox textarea, .gradio-dropdown select, .gradio-textbox input[type=password] { font-size: 1.05rem !important; padding: 1rem 1.2rem !important; }
|
703 |
.gradio-textbox textarea { min-height: 120px; }
|
@@ -729,7 +729,7 @@ Answer:"""
|
|
729 |
|
730 |
# --- Section 1: Introduction and Disclaimer Card ---
|
731 |
with gr.Group(elem_classes="dashboard-card-section"):
|
732 |
-
gr.Markdown("<h3 class='sub-section-title'>Welcome & Disclaimer</h3>") #
|
733 |
gr.Markdown(
|
734 |
"""
|
735 |
<p>Navigate landlord-tenant laws with ease. This assistant provides detailed, state-specific answers grounded in legal authority.</p>
|
@@ -739,7 +739,7 @@ Answer:"""
|
|
739 |
|
740 |
# --- Section 2: OpenAI API Key Input Card ---
|
741 |
with gr.Group(elem_classes="dashboard-card-section"):
|
742 |
-
gr.Markdown("<h3 class='sub-section-title'>OpenAI API Key</h3>") #
|
743 |
api_key_input = gr.Textbox(
|
744 |
label="",
|
745 |
type="password", placeholder="Enter your API key (e.g., sk-...)",
|
@@ -748,7 +748,7 @@ Answer:"""
|
|
748 |
|
749 |
# --- Section 3: Query Input and State Selection Card ---
|
750 |
with gr.Group(elem_classes="dashboard-card-section"):
|
751 |
-
gr.Markdown("<h3 class='sub-section-title'>Ask Your Question</h3>") #
|
752 |
with gr.Row(elem_classes="input-row"):
|
753 |
with gr.Column(elem_classes="input-field", scale=3):
|
754 |
query_input = gr.Textbox(
|
@@ -766,7 +766,7 @@ Answer:"""
|
|
766 |
|
767 |
# --- Section 4: Output Display Card ---
|
768 |
with gr.Group(elem_classes="dashboard-card-section"):
|
769 |
-
gr.Markdown("<h3 class='sub-section-title'>Legal Assistant's Response</h3>") #
|
770 |
output = gr.Markdown(
|
771 |
value="<div class='placeholder output-card'>The answer will appear here after submitting your query.</div>",
|
772 |
elem_classes="output-content-wrapper output-card"
|
@@ -774,7 +774,7 @@ Answer:"""
|
|
774 |
|
775 |
# --- Section 5: Example Questions Section (NO ACCORDION, direct display) ---
|
776 |
with gr.Group(elem_classes="dashboard-card-section examples-section"):
|
777 |
-
gr.Markdown("<h3 class='sub-section-title'>Example Questions to Ask</h3>") #
|
778 |
if example_queries:
|
779 |
gr.Examples(
|
780 |
examples=example_queries, inputs=[query_input, state_input],
|
|
|
416 |
border-bottom: 2px solid var(--border-dark) !important; width: 100%;
|
417 |
transition: color var(--transition-speed), border-color var(--transition-speed);
|
418 |
}
|
419 |
+
.sub-section-title {
|
420 |
font-family: var(--font-family-header) !important;
|
421 |
+
font-size: 2.7rem !important; /* Slightly increased for more prominence */
|
422 |
+
font-weight: 800 !important; /* Increased font weight for more visual emphasis */
|
423 |
color: var(--text-primary-dark) !important;
|
424 |
text-align: center !important;
|
425 |
margin-top: 1.5rem !important;
|
426 |
margin-bottom: 0.8rem !important;
|
427 |
transition: color var(--transition-speed);
|
428 |
+
display: block !important; /* Ensure it's a block element */
|
429 |
+
width: 100% !important; /* Ensure it takes full width for centering */
|
430 |
}
|
431 |
@media (prefers-color-scheme: light) {
|
432 |
.section-title, .sub-section-title { color: var(--text-primary-light) !important; border-bottom-color: var(--border-light) !important; }
|
|
|
472 |
.gradio-textbox textarea::placeholder, .gradio-textbox input[type=password]::placeholder { color: #808090 !important; }
|
473 |
.gradio-textbox textarea:focus, .gradio-dropdown select:focus, .gradio-textbox input[type=password]:focus {
|
474 |
border-color: var(--accent-main-dark) !important;
|
475 |
+
box-shadow: 0 0 0 6px var(--focus-ring-dark) !important, inset 0 1px 3px rgba(0,0,0,0.4);
|
476 |
outline: none !important;
|
477 |
}
|
478 |
@media (prefers-color-scheme: light) {
|
|
|
662 |
.main-dashboard-container { padding: var(--padding-md) !important; margin-bottom: 0.6rem; border-radius: var(--radius-md); gap: 2rem; }
|
663 |
.dashboard-card-section { padding: var(--padding-sm); border-radius: var(--radius-sm); }
|
664 |
.section-title { font-size: 2.2rem !important; margin-bottom: 1.5rem !important; }
|
665 |
+
.sub-section-title { font-size: 2.0rem !important; margin-bottom: 0.7rem !important; } /* Adjusted for responsiveness */
|
666 |
.section-divider { margin: 1.8rem 0; } .input-row { gap: 1.5rem; } .input-field { min-width: 280px; }
|
667 |
.gradio-textbox textarea { min-height: 160px; } .output-card .response-header { font-size: 1.7rem; }
|
668 |
.examples-section { padding-top: 1.2rem; }
|
|
|
678 |
.main-dashboard-container { padding: var(--padding-sm) !important; margin-bottom: 0.5rem; border-radius: var(--radius-md); gap: 1.8rem; }
|
679 |
.dashboard-card-section { padding: 1.5rem; border-radius: var(--radius-sm); }
|
680 |
.section-title { font-size: 2rem !important; margin-bottom: 1.2rem !important; }
|
681 |
+
.sub-section-title { font-size: 1.8rem !important; margin-top: 1rem !important; margin-bottom: 0.6rem !important; } /* Adjusted for responsiveness */
|
682 |
.section-divider { margin: 1.5rem 0; } .input-row { flex-direction: column; gap: 1rem; } .input-field { min-width: 100%; }
|
683 |
.gradio-textbox textarea { min-height: 140px; } .button-row { justify-content: stretch; gap: 1rem; }
|
684 |
.gradio-button { width: 100%; padding: 1.1rem 2rem !important; font-size: 1.1rem !important; }
|
|
|
697 |
.main-dashboard-container { padding: 1.2rem !important; margin-bottom: 0.4rem; border-radius: var(--radius-sm); gap: 1.5rem; }
|
698 |
.dashboard-card-section { padding: 1rem; border-radius: var(--radius-xs); }
|
699 |
.section-title { font-size: 1.8rem !important; margin-bottom: 1rem !important; }
|
700 |
+
.sub-section-title { font-size: 1.5rem !important; margin-top: 0.8rem !important; margin-bottom: 0.5rem !important; } /* Adjusted for responsiveness */
|
701 |
.section-divider { margin: 1rem 0; }
|
702 |
.gradio-textbox textarea, .gradio-dropdown select, .gradio-textbox input[type=password] { font-size: 1.05rem !important; padding: 1rem 1.2rem !important; }
|
703 |
.gradio-textbox textarea { min-height: 120px; }
|
|
|
729 |
|
730 |
# --- Section 1: Introduction and Disclaimer Card ---
|
731 |
with gr.Group(elem_classes="dashboard-card-section"):
|
732 |
+
gr.Markdown("<h3 class='sub-section-title'>Welcome & Disclaimer</h3>") # Centered by CSS
|
733 |
gr.Markdown(
|
734 |
"""
|
735 |
<p>Navigate landlord-tenant laws with ease. This assistant provides detailed, state-specific answers grounded in legal authority.</p>
|
|
|
739 |
|
740 |
# --- Section 2: OpenAI API Key Input Card ---
|
741 |
with gr.Group(elem_classes="dashboard-card-section"):
|
742 |
+
gr.Markdown("<h3 class='sub-section-title'>OpenAI API Key</h3>") # Centered by CSS
|
743 |
api_key_input = gr.Textbox(
|
744 |
label="",
|
745 |
type="password", placeholder="Enter your API key (e.g., sk-...)",
|
|
|
748 |
|
749 |
# --- Section 3: Query Input and State Selection Card ---
|
750 |
with gr.Group(elem_classes="dashboard-card-section"):
|
751 |
+
gr.Markdown("<h3 class='sub-section-title'>Ask Your Question</h3>") # Centered by CSS
|
752 |
with gr.Row(elem_classes="input-row"):
|
753 |
with gr.Column(elem_classes="input-field", scale=3):
|
754 |
query_input = gr.Textbox(
|
|
|
766 |
|
767 |
# --- Section 4: Output Display Card ---
|
768 |
with gr.Group(elem_classes="dashboard-card-section"):
|
769 |
+
gr.Markdown("<h3 class='sub-section-title'>Legal Assistant's Response</h3>") # Centered by CSS
|
770 |
output = gr.Markdown(
|
771 |
value="<div class='placeholder output-card'>The answer will appear here after submitting your query.</div>",
|
772 |
elem_classes="output-content-wrapper output-card"
|
|
|
774 |
|
775 |
# --- Section 5: Example Questions Section (NO ACCORDION, direct display) ---
|
776 |
with gr.Group(elem_classes="dashboard-card-section examples-section"):
|
777 |
+
gr.Markdown("<h3 class='sub-section-title'>Example Questions to Ask</h3>") # Centered by CSS
|
778 |
if example_queries:
|
779 |
gr.Examples(
|
780 |
examples=example_queries, inputs=[query_input, state_input],
|