File size: 1,632 Bytes
f73929c | 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 | # =============================================================================
# app.py (main entry point)
# =============================================================================
import gradio as gr
from data_handler import DataHandler
from gradio_callbacks import GradioCallbacks
from gradio_components import (
create_header, create_qa_tab, create_overview_tab,
create_methodology_tab, create_filters_tab, create_about_tab
)
def main():
# Initialize data
data_handler = DataHandler()
callbacks = GradioCallbacks(data_handler)
data = data_handler.get_data()
# Create Gradio app
with gr.Blocks(
theme=gr.themes.Monochrome(),
title="FCAS Research Methods Evidence Mapping",
css="""
.gradio-container {
max-width: 1200px !important;
}
.main-header {
text-align: center;
background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 2rem;
border-radius: 10px;
margin-bottom: 2rem;
}
"""
) as app:
# Header
create_header()
with gr.Tabs():
create_qa_tab(callbacks)
create_overview_tab(callbacks)
create_methodology_tab(callbacks)
create_filters_tab(callbacks, data['countries_list'], data['sectors_list'])
create_about_tab()
return app
if __name__ == "__main__":
app = main()
app.launch(
share=True,
server_name="0.0.0.0",
server_port=7860,
show_error=True
) |