feat(memory): Notizen-Inbox + Settings-Editor (Etappen 4+5)
Etappe 4 — 🗂️ Notizen-Inbox-Button neben der Lupe: - Statusleiste hat jetzt zwei Icons: 🗂️ Inbox + 🔍 Suche - Tap auf Inbox-Icon oeffnet ein Vollbild-Modal mit MemoryBrowser- Komponente. User sieht alle Memories aus der DB, kann suchen, filtern, neu anlegen, und in den Detail/Edit-Modus springen. Etappe 5 — Memory-Editor in App-Settings: - SETTINGS_SECTIONS um Eintrag 🧠 "Gedächtnis" erweitert - Sektion rendert MemoryBrowser (selbe Komponente wie Inbox) in einer 600px-Box — vom Diagnostic-Gehirn-Tab inspiriert, aber fuer's Handy optimiert - Beide Stellen recyclen MemoryBrowser+MemoryDetailModal aus Etappe 2/3 — kein doppelter Code MemoryBrowser (neue Komponente components/MemoryBrowser.tsx): - Lazy-Load aller Memories via brainApi.listMemories - Client-side Filter: Volltext-Suche (Title+Content+Category+Tags), Type-Dropdown, Pinned/Cold/Alle-Toggle - "+ Neu" Knopf mit Alert.prompt fuer Titel, automatisch type=fact, oeffnet danach den DetailModal zum Editieren des Contents - Item-Render mit Pinned-Marker, Anhang-Badge 📎N, Type-Label, Category, 2-Zeilen-Content-Preview - Tap auf Item oeffnet MemoryDetailModal → CRUD weiter dort Damit sind alle 5 Etappen aus Stefans Wunsch-Trio durch: - Bubble-Header dynamic (Etappe 1, committed gestern) - Tap-Modal mit Detail (Etappe 2) - Edit + Anhang-Upload im Modal (Etappe 3) - Notizen-Inbox-Button (Etappe 4) - Memory-Editor in Settings (Etappe 5) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,7 @@ import {
|
||||
} from '../services/audio';
|
||||
import audioService from '../services/audio';
|
||||
import gpsTrackingService from '../services/gpsTracking';
|
||||
import MemoryBrowser from '../components/MemoryBrowser';
|
||||
import { isVerboseLogging, setVerboseLogging } from '../services/logger';
|
||||
import {
|
||||
isWakeReadySoundEnabled,
|
||||
@@ -100,6 +101,7 @@ const SETTINGS_SECTIONS = [
|
||||
{ id: 'voice_output', icon: '🔊', label: 'Sprachausgabe', desc: 'Stimmen, Pre-Roll, Geschwindigkeit' },
|
||||
{ id: 'storage', icon: '📁', label: 'Speicher', desc: 'Anhang-Speicherort, Auto-Download' },
|
||||
{ id: 'files', icon: '📂', label: 'Dateien', desc: 'ARIA- und User-Dateien — anzeigen, löschen' },
|
||||
{ id: 'memory', icon: '🧠', label: 'Gedächtnis', desc: 'ARIA-Memories durchsuchen, anlegen, bearbeiten, löschen' },
|
||||
{ id: 'protocol', icon: '📜', label: 'Protokoll', desc: 'Privatsphaere, Backup' },
|
||||
{ id: 'about', icon: 'ℹ️', label: 'Ueber', desc: 'App-Version, Update' },
|
||||
] as const;
|
||||
@@ -1673,6 +1675,18 @@ const SettingsScreen: React.FC = () => {
|
||||
</View>
|
||||
</>)}
|
||||
|
||||
{/* === Gedaechtnis === */}
|
||||
{currentSection === 'memory' && (<>
|
||||
<Text style={styles.sectionTitle}>Gedächtnis</Text>
|
||||
<Text style={{color: '#8888AA', fontSize: 12, marginBottom: 8, paddingHorizontal: 4}}>
|
||||
Alle Memory-Einträge aus ARIAs Vector-DB. Tippen zum Bearbeiten — mit Anhängen, pinned-Status,
|
||||
Tags. Neue Einträge anlegen via "+ Neu".
|
||||
</Text>
|
||||
<View style={{height: 600, marginBottom: 8}}>
|
||||
<MemoryBrowser />
|
||||
</View>
|
||||
</>)}
|
||||
|
||||
{/* === Logs === */}
|
||||
{currentSection === 'protocol' && (<>
|
||||
<Text style={styles.sectionTitle}>Protokoll</Text>
|
||||
|
||||
Reference in New Issue
Block a user