File size: 1,733 Bytes
aa2d45f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr

from mcp_servers.mcp_manager import start_mcp_servers
start_mcp_servers()

from support.log_manager import logger
from support.settings import SERVER_PORT
from pages import home, play, stats
from support.style.css import final_css
from support.game_settings import JS


# Custom header HTML
custom_header = """
<div class="custom-navbar">
    <div class="navbar-title">๐Ÿ•ต๏ธ Agentic Codenames</div>
    <div class="navbar-links">
        <a href="#" class="nav-link active" data-tab-id="home_id">Home</a>
        <a href="#" class="nav-link" data-tab-id="play_id">Play</a>
        <a href="#" class="nav-link" data-tab-id="stats_id">Stats</a>
    </div>
</div>
"""

# Create main application
with gr.Blocks(fill_width=True, title="Agentic Codenames", css=final_css, js=JS) as demo:
    gr.HTML(custom_header)

    with gr.Tabs(elem_classes="hidden-tabs"):
        with gr.Tab("๐Ÿ  Home", id="home_id_tab", elem_classes="tab_btn"):
            home.demo.render()

        with gr.Tab("๐ŸŽฎ Play", id="play_id_tab", elem_classes="tab_btn"):
            play.demo.render()

        with gr.Tab("๐Ÿ“Š Stats", id="stats_id_tab", elem_classes="tab_btn"):
            stats.demo.render()

    # Render home page (default/main page)
    # home.demo.render()

# Add additional pages using route method
# with demo.route("Play", "/play"):
#     gr.HTML(custom_header)
#     play.demo.render()

# with demo.route("Stats", "/stats"):
#     gr.HTML(custom_header)
#     stats.demo.render()

if __name__ == "__main__":
    demo.launch(
        share=False,
        inline=True,
        server_name='0.0.0.0',
        server_port=SERVER_PORT,
        allowed_paths=["assets"],
        favicon_path='assets/favicon.ico'
    )