import streamlit as st # 페이지 설정 st.set_page_config(layout="wide") # 사이드바 타이틀 설정 st.sidebar.title("ViDraft") # 메뉴 항목과 하위 항목 정의 menus = { "Free Stock": ["Template Video", "Template Image", "Search Video", "Search Image"], "Image": ["Generation", "Face ID", "Inpainting", "Remove Background", "Studio"], "Video": ["Generation", "Talking Face", "Remove Background", "Studio"], "Sound": ["Video SFX", "Video Music", "TTS(Voice)", "Voice Clone", "Image SFX", "Image Music"], "Scripts": ["Script"] } # 선택된 메뉴 및 하부 메뉴 초기화 selected_menu = None selected_sub_menu = None # 각 메뉴별 하부 메뉴를 펼침 for menu_name, sub_menus in menus.items(): with st.sidebar.expander(menu_name): # 하부 메뉴를 선택할 수 있는 selectbox 생성 selected = st.selectbox(f"Select {menu_name} option", [""] + sub_menus, key=menu_name) if selected: selected_menu = menu_name selected_sub_menu = selected # 선택된 메뉴와 하부 메뉴에 따른 내용 표시 if selected_menu and selected_sub_menu: st.subheader(f"{selected_menu} > {selected_sub_menu}") # 여기에 선택된 메뉴에 따른 콘텐츠 표시 로직 추가 # 'Template Video'가 선택되었을 때 비디오 갤러리를 표시 if selected_menu == "Free Stock" and selected_sub_menu == "Template Video": st.subheader("Template Videos") # 비디오 파일 경로 설정 video_files = ["ex1.mp4", "ex2.mp4", "ex3.mp4", "ex4.mp4", "ex5.mp4", "ex6.mp4"] # 갤러리 형태로 비디오 표시 cols = st.columns(2) # 2개의 열로 넓게 배치 for index, video_file in enumerate(video_files): with cols[index % 2]: st.video(video_file)