File size: 1,540 Bytes
e27700b
 
c81bd13
e27700b
4bd143f
 
c81bd13
4bd143f
23cd914
 
 
 
 
 
 
 
 
 
c81bd13
e27700b
4bd143f
c81bd13
23cd914
4bd143f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e27700b
c81bd13
23cd914
4bd143f
 
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
import warnings
warnings.filterwarnings("ignore")

import gradio as gr
from tabs.leaderboard_v1_kr import create_leaderboard_v2_interface as leaderboard_kr
from tabs.leaderboard_v1_en import create_leaderboard_v2_interface as leaderboard_en

# ๋‹คํฌ ๋ชจ๋“œ ํ…์ŠคํŠธ ์ƒ‰์ƒ ๋ณด์ •
FIX_DARK_TEXT_CSS = """
html.dark .gr-prose, 
html.dark .gr-prose p, 
html.dark .gr-prose strong, 
html.dark .gr-prose code,
html.dark .gr-markdown, 
html.dark .gr-markdown * {
  color: #ffffff !important;
}
"""

def create_app():
    theme = gr.themes.Default()

    with gr.Blocks(theme=theme, css=FIX_DARK_TEXT_CSS) as app:
        # ๐Ÿ”น ์™ผ์ชฝ ์ƒ๋‹จ์— ์–ธ์–ด ์ „ํ™˜ ๋ฒ„ํŠผ
        with gr.Row():
            lang_btn = gr.Button("๐ŸŒ English", scale=0, elem_id="lang-toggle-btn")

        # ๐Ÿ”น ๊ธฐ๋ณธ์€ ํ•œ๊ตญ์–ด UI
        with gr.Column(visible=True) as kr_view:
            leaderboard_kr()

        # ๐Ÿ”น ์˜์–ด UI๋Š” ์ˆจ๊น€
        with gr.Column(visible=False) as en_view:
            leaderboard_en()

        # ๐Ÿ”น ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํ† ๊ธ€
        def toggle_language(current_label):
            if "English" in current_label:
                return "๐Ÿ‡ฐ๐Ÿ‡ท Korean", gr.update(visible=False), gr.update(visible=True)
            else:
                return "๐ŸŒ English", gr.update(visible=True), gr.update(visible=False)

        lang_btn.click(
            toggle_language,
            inputs=[lang_btn],
            outputs=[lang_btn, kr_view, en_view],
        )

    return app


demo = create_app()
demo.launch(ssr_mode=False)