feat: weather precip/wind, dashboard mic, remove global voice overlay
- WeatherCard: show precipitation (mm) and max wind speed per forecast day - DashboardChatInput: add PTT mic button (transcribe-to-input, voice-gated) - Remove global VoiceOverlay floating button and Space PTT shortcut from App.vue — inline mic buttons in chat/briefing/dashboard are the right UX; global overlay had focus/latency/context issues Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,8 @@ interface ForecastDay {
|
||||
condition: string
|
||||
high: number
|
||||
low: number
|
||||
precip_mm: number
|
||||
windspeed_max: number
|
||||
}
|
||||
|
||||
interface WeatherData {
|
||||
@@ -86,6 +88,9 @@ const fetchedAtLabel = computed(() => {
|
||||
<span class="forecast-day-name">{{ day.day }}</span>
|
||||
<span class="forecast-icon">{{ weatherIcon(day.condition) }}</span>
|
||||
<span class="forecast-temps">{{ day.high }}° / {{ day.low }}°</span>
|
||||
<span v-if="day.precip_mm > 0" class="forecast-precip">💧 {{ day.precip_mm }}mm</span>
|
||||
<span v-else class="forecast-precip forecast-precip--dry">—</span>
|
||||
<span class="forecast-wind">💨 {{ day.windspeed_max }}km/h</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -185,6 +190,17 @@ const fetchedAtLabel = computed(() => {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.forecast-precip,
|
||||
.forecast-wind {
|
||||
font-size: 0.72rem;
|
||||
white-space: nowrap;
|
||||
color: var(--color-text-muted);
|
||||
}
|
||||
|
||||
.forecast-precip--dry {
|
||||
opacity: 0.35;
|
||||
}
|
||||
|
||||
.weather-unavailable {
|
||||
color: var(--color-text-muted);
|
||||
font-style: italic;
|
||||
|
||||
Reference in New Issue
Block a user