diff --git a/hiking_assistant/app.py b/hiking_assistant/app.py index e373870..ce68a28 100644 --- a/hiking_assistant/app.py +++ b/hiking_assistant/app.py @@ -5,7 +5,6 @@ import base64 from datetime import datetime -from pathlib import Path import streamlit as st import yaml @@ -24,47 +23,45 @@ class HikingAssistant: with open('assets/config.yaml', 'r') as f: return yaml.safe_load(f) - def _set_background(self, image_path): + def _convert_image_to_base64(self, image_path): + with open(image_path, 'rb') as f: + return base64.b64encode(f.read()).decode() + + def _set_page_background(self, image_path, opacity=0.8): """Set background image for the application. Args: image_path: Path to the background image """ + image_data = self._convert_image_to_base64(image_path) + ext = image_path.split('.')[-1] + overlay = f'rgba(255, 255, 255, {1 - opacity})' + st.markdown( + f""" + + """, + unsafe_allow_html=True, + ) - image_path = Path(image_path) - if not image_path.exists(): - return - - with open(image_path, 'rb') as f: - image_data = base64.b64encode(f.read()).decode() - - # Use file modification time as cache buster - cache_buster = int(image_path.stat().st_mtime) - - background_css = f""" - - """ - st.markdown(background_css, unsafe_allow_html=True) + def _add_custom_title(self, title, image_path): + favicon_data = self._convert_image_to_base64(image_path) + ext = image_path.split('.')[-1] + st.markdown( + f""" +

+ + {title} +

+ """, + unsafe_allow_html=True, + ) def run(self): """Hiking Assistant application""" @@ -75,11 +72,11 @@ class HikingAssistant: layout='wide', initial_sidebar_state='collapsed', ) - self._set_background(self._config['app']['page_background_path']) + self._set_page_background(self._config['app']['page_background_path'], self._config['app']['page_background_opacity']) # [Block1] - # Title and description - st.title('⛰️ ' + self._config['app']['page_title']) + # Title with favicon + self._add_custom_title(self._config['app']['page_title'], self._config['app']['page_favicon_path']) # File uploader uploaded_file = st.file_uploader( diff --git a/hiking_assistant/assets/background_compressed.jpg b/hiking_assistant/assets/background_compressed.jpg new file mode 100644 index 0000000..7d6425e Binary files /dev/null and b/hiking_assistant/assets/background_compressed.jpg differ diff --git a/hiking_assistant/assets/background_op70.png b/hiking_assistant/assets/background_op70.png deleted file mode 100644 index 0819b59..0000000 Binary files a/hiking_assistant/assets/background_op70.png and /dev/null differ diff --git a/hiking_assistant/assets/config.yaml b/hiking_assistant/assets/config.yaml index 4c32fe8..f8797af 100644 --- a/hiking_assistant/assets/config.yaml +++ b/hiking_assistant/assets/config.yaml @@ -1,8 +1,9 @@ app: - page_title: 臺灣登山小幫手 - page_favicon_path: ./assets/favicon_compressed.jpg + page_title: 山山登山小助手 + page_favicon_path: ./assets/new_favicon.webp page_footer_text: ⚠️ 本服務提供之資訊僅供規劃參考,山區氣候瞬息萬變,請務必依據現場狀況與自身能力進行風險評估
Made with ❤️ by deng - page_background_path: ./assets/background_op70.png + page_background_path: ./assets/background_compressed.jpg + page_background_opacity: 0.8 altitude_sickness: elevation_threshold: 2100 warning_text: 此路線海拔較高,請留意[高山症](https://www.ysnp.gov.tw/StaticPage/MountainSickness)發生風險 diff --git a/hiking_assistant/assets/new_favicon.webp b/hiking_assistant/assets/new_favicon.webp new file mode 100644 index 0000000..1997c98 Binary files /dev/null and b/hiking_assistant/assets/new_favicon.webp differ