File size: 1,113 Bytes
ef78361
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""๊ณ„์ธต ๋ถ„์„ Feature Plugin.

API: /api/v1/hierarchy
ADR-017: Hierarchy Generator Python Migration
"""
import streamlit as st

from . import request, monitor

FEATURE_CONFIG = {
    "key": "hierarchy",
    "name": "๊ณ„์ธต ๋ถ„์„",
    "icon": "๐Ÿ”—",
    "description": "ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์†Œ๋น„์ž ์—ฌ์ • ๊ณ„์ธต ๋ถ„์„ ๋ฐ ์งˆ๋ฌธ ์ƒ์„ฑ",
    "api_base": "/api/v1/hierarchy",
    "order": 5,
}


def render(base_ctx):
    """๊ณ„์ธต ๋ถ„์„ feature ๋ Œ๋”๋ง."""
    st.caption("ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์†Œ๋น„์ž ์—ฌ์ •(CEJ) ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์งˆ๋ฌธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค")

    tabs = st.tabs([
        "๐Ÿ“ ๋ถ„์„ ์š”์ฒญ",
        "โณ ์ง„ํ–‰ ํ˜„ํ™ฉ",
        "๐Ÿ“‹ ๋ถ„์„ ๊ฒฐ๊ณผ",
    ])

    tab_renderers = [
        ("๋ถ„์„ ์š”์ฒญ", request.render),
        ("์ง„ํ–‰ ํ˜„ํ™ฉ", monitor.render_active),
        ("๋ถ„์„ ๊ฒฐ๊ณผ", monitor.render_history),
    ]

    for tab, (label, renderer) in zip(tabs, tab_renderers):
        with tab:
            try:
                renderer(base_ctx)
            except Exception as e:
                st.error(f"{label} ๋กœ๋”ฉ ์‹คํŒจ: {e}")