Zum Hauptinhalt springen

Zurรผck zum Devlog

Sonntag, 15. Februar 2026

Update

7 Commits

5 min Lesezeit

Onboarding Modal Polish & Calendar ViewsBar

Onboarding Modal als kompaktes Design mit korrekten Layer-Farben, STT API Key Support und neue Calendar ViewsBar Komponente.

T

Till Schneider

Autor

Fokussierter Tag mit 7 Commits fรผr UI-Polish und kleinere Features:

  • Onboarding Modal - Kompaktes Design statt Fullscreen
  • Calendar ViewsBar - Unified View Switcher Komponente
  • STT API Key - Support fรผr alle Matrix Bots
  • Gift Code Fixes - Debug-Logging entfernt

Onboarding Modal Polish

Das Onboarding-Modal wurde von Fullscreen auf kompaktes Modal umgestellt.

Vorher vs. Nachher

AspektFullscreenKompakt
Bildschirmabdeckung100%~60%
Hintergrund sichtbarโŒโœ…
Mobile UXOkayBesser
Escape-GefรผhlBedrรคngendEinladend

Elevation Layer Colors

Korrektur der Layer-Farben fรผr das Design-System:

/* Vorher: Falsche Elevation */
.modal-content {
	background: var(--surface-0);
}

/* Nachher: Korrekte Elevation */
.modal-content {
	background: var(--surface-1); /* Erhรถht */
}

.modal-overlay {
	background: rgba(0, 0, 0, 0.5);
}

Design-System Referenz

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Elevation Layers                                    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                      โ”‚
โ”‚  surface-0  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  Base (Page Background)        โ”‚
โ”‚  surface-1  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  Raised (Cards, Modals)        โ”‚
โ”‚  surface-2  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  Higher (Dropdowns, Tooltips)  โ”‚
โ”‚  surface-3  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  Highest (Floating Elements)   โ”‚
โ”‚                                                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Calendar ViewsBar

Neue unified Komponente fรผr den View-Wechsel im Calendar.

Features

FeatureBeschreibung
Day/Week/MonthStandard-Ansichten
Year OverviewJahresรผbersicht
AgendaListen-Ansicht
Keyboard ShortcutsD, W, M, Y, A

Component API

<script lang="ts">
	import { ViewsBar } from '$lib/components/ViewsBar.svelte';

	let currentView = $state<'day' | 'week' | 'month' | 'year' | 'agenda'>('week');
</script>

<ViewsBar bind:view={currentView} />

Implementation

<!-- apps/calendar/apps/web/src/lib/components/ViewsBar.svelte -->
<div class="views-bar">
	{#each views as view}
		<button
			class:active={currentView === view.id}
			on:click={() => (currentView = view.id)}
			title="{view.label} ({view.shortcut})"
		>
			<Icon name={view.icon} />
			<span class="label">{view.label}</span>
		</button>
	{/each}
</div>

<style>
	.views-bar {
		display: flex;
		gap: 4px;
		padding: 4px;
		background: var(--surface-1);
		border-radius: 8px;
	}

	button.active {
		background: var(--primary);
		color: var(--on-primary);
	}
</style>

STT API Key Support

API Key Authentication fรผr den Transcription Service.

Motivation

  • Externer Zugriff auf mana-stt
  • Rate Limiting pro API Key
  • Usage Tracking

Implementation

// packages/bot-services/src/transcription.service.ts
export class TranscriptionService {
	private apiKey?: string;

	constructor(config: { apiKey?: string }) {
		this.apiKey = config.apiKey;
	}

	async transcribe(audioBuffer: Buffer): Promise<string> {
		const headers: Record<string, string> = {
			'Content-Type': 'audio/wav',
		};

		if (this.apiKey) {
			headers['X-API-Key'] = this.apiKey;
		}

		const response = await fetch(`${this.baseUrl}/transcribe`, {
			method: 'POST',
			headers,
			body: audioBuffer,
		});

		return response.json();
	}
}

Betroffene Bots

Alle Matrix Bots mit STT-Funktionalitรคt:

  • matrix-stt-bot
  • matrix-nutriphi-bot
  • matrix-chat-bot (Voice Messages)

Environment Variable

STT_API_KEY=your-api-key-here

Gift Code Fixes

Debug Logging entfernt

Nach erfolgreichem Fix des userId undefined Problems wurde das Debug-Logging entfernt:

- console.log('Gift redemption debug:', {
-   userId,
-   giftCode,
-   giftType,
- });

Cleanup

  • Produktions-ready ohne Debug-Output
  • Cleaner Logs fรผr Monitoring

Zusammenfassung

BereichCommitsHighlights
Onboarding2Modal โ†’ Kompakt, Layer Colors
Calendar1ViewsBar Komponente
STT2API Key fรผr Bots
Gift Codes1Debug Cleanup
Fixes1userId Guard

Nรคchste Schritte

  1. Onboarding Steps - Weitere Steps implementieren
  2. Calendar Sync - CalDAV Integration
  3. STT Streaming - Real-time Transkription
  4. Gift Admin Panel - Code-Erstellung im UI

Tags

#onboarding #ui-polish #calendar #views-bar #stt #api-key #gift-codes