feat(frontend): settings window, i18n, admin UI, books, tasks, calendar, timer
ci / backend (push) Canceled after 0s
ci / frontend (push) Canceled after 0s

- Settings window with tabs: profile (name, email, avatar, password),
  appearance (light/dark/system), language (de/en/zh), background
  (gradient presets, custom URL, blur toggle); persisted server-side
- i18n dictionaries (de/en/zh) applied across nav, sidebar, tasks,
  calendar, time tracking, admin, invites and comments
- Greeting header with time-of-day message, live clock and date; cooler
  theme, cards, kanban, calendar grid and data-table styling
- Shared sidebar: nav, collapsible books with per-book pages, top-level
  pages, search; user chip opens settings
- Tasks kanban with priorities, overdue flags and book/page links;
  calendar month view fed by task deadlines; time view with entries,
  durations and totals; top-right live timer with optional book link
- User discovery autocomplete in the invite card; editor gains tables
  and checklists; standalone theme buttons removed
This commit is contained in:
x3
2026-09-22 13:56:26 +02:00
parent b852583499
commit fb396d313a
30 changed files with 1698 additions and 190 deletions
+10 -2
View File
@@ -12,8 +12,16 @@ light/dark mode. Self-hostable via Node.js or Docker Compose.
- **Auth** — Register / login with JWT (access token), bcrypt password hashing.
- **Workspaces** — Create workspaces, invite members by email (`owner` / `admin` /
`member` / `viewer`), change roles, remove members.
- **Pages** — Nested pages (`parent_id`), icon + cover, ordering, TipTap rich-text
content stored as JSON + rendered HTML.
- **Pages** — Nested pages (`parent_id`) in workspaces or **books**, icon + cover,
ordering, TipTap rich-text with **tables + checklists**, stored as JSON + HTML.
- **Books** 📚 — Independent containers for pages, collapsible in the sidebar.
- **Tasks** ✅ — Kanban (todo/doing/done), priorities, deadlines, links to books/pages.
- **Calendar** 🗓️ — Deadlines from tasks appear automatically.
- **Time tracking** ⏱️ — Top-right timer, entries linkable to books, history list.
- **Settings window** ⚙️ — Profile (name, email, avatar, password), appearance
(light/dark/system), language (**Deutsch, English, 中文**), background image + blur.
- **Admin dashboard** 🛡️ — Stats, user management (admin flag, delete).
- **User discovery** 🔎 — Fuzzy search to find and invite collaborators.
- **Real-time collaboration** — Socket.IO rooms per page: live content broadcast,
presence (who is viewing), typing indicators.
- **Comments** — Threaded comments per page.