diff --git a/frontend/src/components/WeatherCard.vue b/frontend/src/components/WeatherCard.vue index 7e52c06..c25cebd 100644 --- a/frontend/src/components/WeatherCard.vue +++ b/frontend/src/components/WeatherCard.vue @@ -7,6 +7,7 @@ interface ForecastDay { high: number low: number precip_probability: number | null + precip_mm: number | null windspeed_max: number } @@ -90,7 +91,12 @@ const fetchedAtLabel = computed(() => { {{ weatherIcon(day.condition) }} {{ day.condition }} {{ day.high }}° / {{ day.low }}° - 💧 {{ day.precip_probability }}% + + 💧 {{ day.precip_probability }}% + + + 💧 {{ day.precip_mm.toFixed(1) }}mm + 💧 — 💨 {{ day.windspeed_max }} {{ weather.wind_unit ?? 'km/h' }} diff --git a/frontend/src/views/BriefingView.vue b/frontend/src/views/BriefingView.vue index aa39caa..674dec3 100644 --- a/frontend/src/views/BriefingView.vue +++ b/frontend/src/views/BriefingView.vue @@ -36,7 +36,7 @@ interface WeatherData { yesterday_high: number | null yesterday_low: number | null wind_unit?: string - forecast: { day: string; condition: string; high: number; low: number; precip_probability: number | null; windspeed_max: number }[] + forecast: { day: string; condition: string; high: number; low: number; precip_probability: number | null; precip_mm: number | null; windspeed_max: number }[] } const chatStore = useChatStore() diff --git a/frontend/src/views/KnowledgeView.vue b/frontend/src/views/KnowledgeView.vue index 906d1e6..8c8c65d 100644 --- a/frontend/src/views/KnowledgeView.vue +++ b/frontend/src/views/KnowledgeView.vue @@ -136,6 +136,7 @@ function toggleGraph() { const chatInput = ref(""); const chatOpen = ref(false); +const chatCollapsed = ref(false); const chatConvId = ref(null); const chatSending = ref(false); const chatMessages = computed(() => { @@ -437,8 +438,8 @@ onUnmounted(() => { - - + + Ask me anything about your notes, tasks, or ideas. @@ -495,6 +496,17 @@ onUnmounted(() => { title="Send" >↑ + + + + + + { flex-direction: column; overflow: hidden; min-width: 0; - padding-bottom: 64px; /* space for minichat input */ } /* ── Toolbar ─────────────────────────────────────────────── */ @@ -904,9 +915,10 @@ onUnmounted(() => { z-index: 20; display: flex; flex-direction: column; - border-top: 1px solid var(--color-border, rgba(255,255,255,0.06)); background: var(--color-bg-secondary); - transition: all 0.2s; + border-radius: 16px 16px 0 0; + box-shadow: 0 -8px 32px rgba(0,0,0,0.35), 0 -1px 0 rgba(255,255,255,0.05); + transition: box-shadow 0.2s; } .knowledge-root.graph-open .minichat { right: 420px; @@ -918,8 +930,9 @@ onUnmounted(() => { display: flex; flex-direction: column; gap: 8px; - background: var(--color-bg); - border-bottom: 1px solid var(--color-border, rgba(255,255,255,0.06)); + background: transparent; + border-bottom: 1px solid rgba(255,255,255,0.05); + border-radius: 16px 16px 0 0; } .minichat-welcome { color: var(--color-muted); diff --git a/src/fabledassistant/services/weather.py b/src/fabledassistant/services/weather.py index 0525693..638087b 100644 --- a/src/fabledassistant/services/weather.py +++ b/src/fabledassistant/services/weather.py @@ -155,6 +155,7 @@ def parse_weather_card_data( "high": to_temp(d["temp_max"]), "low": to_temp(d["temp_min"]), "precip_probability": d["precip_probability"], + "precip_mm": d["precip_mm"], "windspeed_max": to_wind(d["windspeed_max"]), } for d in future_days