import streamlit as st import base64 import os # 1. 이미지 경로 설정 (app.py와 같은 위치에 img 폴더가 있어야 함) IMG_PATH = "src/img/mic.png" # 2. 이미지를 Base64 문자열로 변환하는 함수 def get_image_base64(path): if os.path.exists(path): with open(path, "rb") as f: data = f.read() return base64.b64encode(data).decode() return None # 이미지 로드 시도 mic_icon_base64 = get_image_base64(IMG_PATH) # 이미지가 없을 경우를 대비한 대체 텍스트 혹은 빈 값 if mic_icon_base64: img_src = f"data:image/png;base64,{mic_icon_base64}" else: # 이미지가 없으면 깨진 이미지 아이콘 대신 투명하게 처리하거나 경고 표시 img_src = "" # ============ # 페이지 설정 st.set_page_config( page_title="건강 관리 앱", page_icon="💪", layout="centered", initial_sidebar_state="collapsed" ) # CSS 스타일링 (f-string으로 변경하여 변수 주입 가능하게 함) st.markdown(f""" """, unsafe_allow_html=True) # 헤더 (햄버거 메뉴) st.markdown("""
""", unsafe_allow_html=True) # 중간 카드 영역 (가로 스크롤) st.markdown("""
이번주의 건강 분석 리포트를 써줘
나에게 맞는 식단 추천해줘
새롭게 해볼만한 운동 추천해줘
""", unsafe_allow_html=True) # 하단 입력 영역 (이미지 경로가 주입됨) st.markdown(f"""
무엇이든 부탁하세요
마이크
""", unsafe_allow_html=True) # 디버깅용: 이미지가 로드되지 않았을 때만 에러 메시지 표시 if not mic_icon_base64: st.error(f"이미지를 찾을 수 없습니다. 경로를 확인해주세요: {os.path.abspath(IMG_PATH)}")