import streamlit as st # 사이드바 타이틀 설정 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"] } # 메뉴 생성 for menu, sub_menus in menus.items(): with st.sidebar.expander(menu): for sub_menu in sub_menus: # 고유한 key 생성을 위해 menu와 sub_menu 값을 결합 button_key = f"{menu}_{sub_menu}" if st.button(sub_menu, key=button_key): selected_menu = menu selected_sub_menu = sub_menu # 선택된 메뉴와 서브 메뉴에 대한 처리 로직을 여기에 추가 # 선택된 메뉴 및 서브메뉴에 따라 내용 표시 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"] thumbnails = ["thum1.png", "thum2.png", "thum3.png", "thum4.png", "thum5.png", "thum6.png"] # 갤러리 형태로 썸네일 표시 cols = st.columns(3) for index, thumbnail in enumerate(thumbnails): with cols[index % 3]: st.image(thumbnail, width=200, caption=f"Video {index+1}") # 'Play Video' 버튼 추가 if st.button(f"Play Video {index+1}", key=f"play_{index}"): # 선택된 비디오 재생 st.video(video_files[index])