import streamlit as st # 페이지 설정 st.set_page_config(layout="wide") # 사이드바 타이틀 설정 st.sidebar.title("ViDraft") # 'Home' 버튼을 사이드바에 추가 if st.sidebar.button('Home'): selected_menu = 'Home' selected_sub_menu = None else: selected_menu = None selected_sub_menu = None # 메뉴 항목과 하위 항목 정의, 'Home' 메뉴는 버튼으로 처리되므로 여기에는 포함시키지 않음 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_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}") # 여기에 선택된 메뉴에 따른 콘텐츠 표시 로직 추가 # 'Home' 메뉴가 선택되었을 때 또는 앱이 초기 상태일 때 화면에 "ViDraft" 출력 if selected_menu == 'Home' or (selected_menu is None and selected_sub_menu is None): st.title("ViDraft") st.write("Welcome to ViDraft! Your ultimate platform for video editing, image processing, and sound engineering.") # '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", "ex7.mp4","ex8.mp4", "ex9.mp4", "ex10.mp4", "ex11.mp4", "ex12.mp4", "ex13.mp4", "ex14.mp4","ex15.mp4", "ex16.mp4", "ex17.mp4", "ex18.mp4"] # 갤러리 형태로 비디오 표시 cols = st.columns(2) # 2개의 열로 넓게 배치 for index, video_file in enumerate(video_files): with cols[index % 2]: st.video(video_file)