feat: add theme system, branding, and task logging

- Add light/dark/system theme toggle in settings
- Add DearDiary.io branding in navbar
- Add task logging for journal generation with request/response
- Rename project from TotalRecall to DearDiary
- Update Docker configuration
This commit is contained in:
lotherk
2026-03-26 20:03:52 +00:00
parent 3f9bc1f484
commit a4e7132244
28 changed files with 487 additions and 47 deletions

View File

@@ -126,13 +126,21 @@ class ApiClient {
}
async generateJournal(date: string) {
return this.request<Journal>('POST', `/journal/generate/${date}`);
return this.request<{ journal: Journal; task: Task }>('POST', `/journal/generate/${date}`);
}
async getJournal(date: string) {
return this.request<Journal>('GET', `/journal/${date}`);
}
async getJournalTasks(date: string) {
return this.request<Task[]>('GET', `/journal/${date}/tasks`);
}
async getTask(taskId: string) {
return this.request<Task>('GET', `/tasks/${taskId}`);
}
async getSettings() {
return this.request<Settings>('GET', '/settings');
}
@@ -160,6 +168,21 @@ export interface Journal {
generatedAt: string;
}
export interface Task {
id: string;
journalId: string;
type: string;
status: 'pending' | 'completed' | 'failed';
provider: string;
model?: string;
prompt?: string;
request?: string;
response?: string;
error?: string;
createdAt: string;
completedAt?: string;
}
export interface Settings {
aiProvider: 'openai' | 'anthropic' | 'ollama' | 'lmstudio';
aiApiKey?: string;