Commit Graph

154 Commits

Author SHA1 Message Date
9a6cb779ee feat(time-entry-quick-edit): Inline-Edit für TimeEntry-Description (Klick auf Description [tsc:fail] 2026-05-23 07:28:08 +02:00
738acb36a6 feat(smart-filter-suggestions): Saved-Views-Vorschläge basierend auf häufig benutzten Filter [tsc:fail] 2026-05-23 07:26:25 +02:00
90a66efc76 feat(customer-merge): Merge zwei Customers: source-Projects auf target umhängen, d [tsc:fail] 2026-05-23 07:24:24 +02:00
7d65d8bdab feat(batch-rename-projects): Bulk-Select + rename Projects via Mutation [tsc:fail] 2026-05-23 07:21:57 +02:00
fb6adcf85a feat(calendar-month-view): Monatsansicht für TimeEntries (Grid 6 weeks × 7 days) [tsc:fail] 2026-05-23 07:19:49 +02:00
a3452bda75 feat(router-phase16): Mount time-entry-templates route [tsc:fail] 2026-05-23 07:17:23 +02:00
fb3441cb5a feat(api-client-phase16): API um time-entry-templates erweitert [tsc:fail] 2026-05-23 07:17:07 +02:00
c067da74f9 feat(dark-mode-improvements): Dark-Mode CSS-Polish (bessere Kontraste in Tables, Forms) [tsc:fail] 2026-05-23 07:16:21 +02:00
44ffc813c7 feat(time-entry-templates): Wiederverwendbare TimeEntry-Templates (gespeicherte descript [tsc:fail] 2026-05-23 07:16:15 +02:00
ce80e5d637 feat(recent-projects-quick-access): Recent-Projects-Widget für schnellen Project-Select [tsc:fail] 2026-05-23 07:15:09 +02:00
6f5c19e929 feat(smart-suggestions): Auto-suggest Description basierend auf letzten Einträgen [tsc:fail] 2026-05-23 07:12:53 +02:00
ace589baee feat(pinned-customers): Star/Pin Customers an die Top der Liste [tsc:fail] 2026-05-23 07:10:42 +02:00
939d72a593 feat(router-phase15): Mount neue routes [tsc:fail] 2026-05-23 07:07:13 +02:00
2c1bb126b4 feat(api-client-phase15): API um phase15 endpoints erweitert [tsc:fail] 2026-05-23 07:05:41 +02:00
43c191695b feat(weekly-summary-email-stub): Cron-stub für weekly-summary-email (Endpoint manuell trigger [tsc:fail] 2026-05-23 07:04:57 +02:00
df033a7b84 feat(password-reset): Password-Reset-Flow (Request + Set new via token) [tsc:fail] 2026-05-23 07:04:26 +02:00
d8bb1b2c38 feat(webhook-trigger-events): Echter Webhook-Send bei TimeEntry-Create/Update/Delete [tsc:fail] 2026-05-23 07:02:07 +02:00
d7a4c1ff85 feat(saved-views): Saved-Filter-Views für TimeEntries (named presets) [tsc:fail] 2026-05-23 07:00:45 +02:00
c497c966ea feat(file-attach-to-entry): TimeEntries kann Anhänge haben (Multi-Documents-Link) [tsc:fail] 2026-05-23 06:55:44 +02:00
f2c38740b3 feat(dashboard-customization): Dashboard-Widget-Order via drag (oder simpler: visibility-to [tsc:fail] 2026-05-23 06:54:03 +02:00
5a3619b2ed feat(time-spent-widget): Time-Spent-Summary-Widget (Today/Week/Month total) sidebar [tsc:fail] 2026-05-23 06:52:08 +02:00
237166bff4 feat(quick-add-popover): Quick-Add Popover (TimeEntry) im Nav-Bar via 'N'-Taste [tsc:fail] 2026-05-23 06:51:43 +02:00
b1e58fd030 feat(markdown-editor): Markdown-Editor mit Live-Preview für notes [tsc:fail] 2026-05-23 06:50:18 +02:00
09c7c6a6de feat(kpi-comparison): Dashboard KPI-Karten mit Vergleich zur Vorwoche [tsc:fail] 2026-05-23 06:47:56 +02:00
9c1256e131 feat(aria-improvements): Accessibility-Improvements (ARIA labels) in Nav + Forms [tsc:fail] 2026-05-23 06:46:21 +02:00
5b51057d2a feat(in-app-changelog): Changelog-Modal mit Versions-History [tsc:fail] 2026-05-23 06:45:30 +02:00
c04a8de450 feat(breadcrumb-navigation): Breadcrumb-Komponente, top der Detail-Pages [tsc:fail] 2026-05-23 06:44:46 +02:00
419fcb2732 feat(undo-toast): Toast mit Undo-Action für deletes [tsc:fail] 2026-05-23 06:43:08 +02:00
d03cb2491b feat(router-phase12): App + routes/index für /invoices [tsc:fail] 2026-05-23 06:41:11 +02:00
b829f10a41 feat(api-client-phase12): API um invoices erweitern [tsc:fail] 2026-05-23 06:39:11 +02:00
b9ac449153 feat(app-version-display): Version-Badge im Footer (aus package.json) [tsc:fail] 2026-05-23 06:38:32 +02:00
985f914260 feat(user-avatars): Avatar-Component (Initialen-Badge) + überall einsetzen [tsc:fail] 2026-05-23 06:37:40 +02:00
68158b7cb7 feat(time-rounding-rules): Settings-Option: Rundung für Time-Entries (5/15/30 min) [tsc:fail] 2026-05-23 06:36:29 +02:00
c0e8e3611e feat(invoicing-stub): Invoices-Page (read-only stub generated from billable time-e [tsc:fail] 2026-05-23 06:35:10 +02:00
6c8743dcdb feat(router-phase11): routes/index.ts mount reports [tsc:fail] 2026-05-23 06:31:34 +02:00
7486e687da feat(api-client-phase11): API um phase11 endpoints erweitern [tsc:fail] 2026-05-23 06:31:22 +02:00
2a43f370b5 feat(pdf-export-stub): PDF-Export-Endpoint für Reports (Stub — generiert text mit . [tsc:fail] 2026-05-23 06:30:37 +02:00
c3bdf1e5f4 feat(project-cloning): Project-Clone Endpoint + UI-Button [tsc:fail] 2026-05-23 06:29:04 +02:00
785b16b924 feat(customer-archive): Soft-archive von Customers (toggle active=false) + Filter [tsc:fail] 2026-05-23 06:27:29 +02:00
864ef03ca4 feat(time-entry-csv-import): TimeEntries-CSV-Import (multipart) [tsc:fail] 2026-05-23 06:26:17 +02:00
e1ddeee598 feat(onboarding-tour): Onboarding-Tour-Component (intro.js-Style overlay) [tsc:fail] 2026-05-23 06:23:13 +02:00
54fa5ccc3b feat(router-phase10): App + routes/index für /project-templates [tsc:fail] 2026-05-23 06:20:28 +02:00
5b1f87e2b9 feat(api-client-phase10): API um project-templates erweitern [tsc:fail] 2026-05-23 06:19:32 +02:00
5b48d79516 feat(keyboard-help-modal): Help-Modal mit Keyboard-Shortcuts (?-Hotkey) [tsc:fail] 2026-05-23 06:18:47 +02:00
1d68925198 feat(language-toggle): i18n-Stub mit DE/EN-Toggle (localStorage) [tsc:fail] 2026-05-23 06:17:36 +02:00
087ee2c83a feat(project-templates): Wiederverwendbare Project-Templates (admin) [tsc:fail] 2026-05-23 06:16:21 +02:00
42f57beb08 feat(customer-tags): Tags-Feld bei Customers + Filter-by-Tag [tsc:fail] 2026-05-23 06:14:38 +02:00
ff82a45c65 feat(markdown-notes-time-entry): Markdown-Notes-Feld pro Time-Entry + Render in Liste [tsc:fail] 2026-05-23 06:13:06 +02:00
c438b8c95e feat(router-phase9): App + routes/index für phase9 Routes [tsc:fail] 2026-05-23 06:08:29 +02:00
738dab80d5 feat(api-client-phase9): API um Webhooks endpoints erweitert [tsc:fail] 2026-05-23 06:06:54 +02:00
43ad957b4b feat(integrations-page): Integrations-Page mit Slack/Discord/Webhook-Cards [tsc:fail] 2026-05-23 06:06:07 +02:00
584801185a feat(billing-stub): Plans-Page mit Pricing-Tiers (UI only, kein Stripe) [tsc:fail] 2026-05-23 06:05:31 +02:00
c795bca6ed feat(two-factor-auth-stub): 2FA-Setup-Page (TOTP-Stub, kein realer verify yet) [tsc:fail] 2026-05-23 06:04:42 +02:00
791e6069d6 feat(webhooks-config): Outgoing-Webhooks Tabelle + CRUD + UI [tsc:fail] 2026-05-23 06:04:08 +02:00
7c6ab0c4d7 phase-8: complete 2026-05-23 06:01:18 +02:00
4deb4d35e9 feat(api-client-phase8): API um Phase-8 endpoints [tsc:fail] 2026-05-23 05:59:48 +02:00
23c95940e6 feat(project-stats-page): Project-Stats: Stunden total, monthly chart, top contributor [tsc:fail] 2026-05-23 05:59:05 +02:00
454b85b4e2 feat(account-deletion): User kann eigenes Account löschen (Profile-Page) [tsc:fail] 2026-05-23 05:57:27 +02:00
ffd838fd49 feat(customer-csv-import): CSV-Import für Customers (admin) + Upload-UI [tsc:fail] 2026-05-23 05:55:08 +02:00
3b631b2aed feat(time-entry-bulk-actions): Bulk-Select + bulk-delete in TimeEntries-Page [tsc:fail] 2026-05-23 05:53:42 +02:00
38bdd1555d feat(recent-activity-widget): Recent-Activity-Feed im Dashboard (letzte 10 Audit-Log-Eintr [tsc:fail] 2026-05-23 05:51:29 +02:00
a3c24339ae feat(router-phase7): App + routes/index für phase7 Routes [tsc:fail] 2026-05-23 05:45:54 +02:00
47a34e49d2 feat(api-client-phase7): API um docs + search erweitert [tsc:fail] 2026-05-23 05:45:00 +02:00
475d910f8a feat(mobile-responsive-polish): Nav + Pages mobile-friendly (Hamburger, stacking) [tsc:fail] 2026-05-23 05:44:17 +02:00
0b33877c70 feat(email-notification-stub): Email-Service-Stub für Notifications (console-log only, kein [tsc:fail] 2026-05-23 05:43:30 +02:00
39bdd9d62c feat(search-everywhere): Global Search API + Search-Bar component [tsc:fail] 2026-05-23 05:42:39 +02:00
26805dca90 feat(documents-upload): File-Upload via @fastify/multipart + Documents-Page [tsc:fail] 2026-05-23 05:41:42 +02:00
c99263ad4e claude-fix: auditLog import, theme.ts typo, date-fns dep 2026-05-23 05:39:20 +02:00
01635d6e7c feat(router-phase6): App.tsx + Nav + routes/index für phase6 [tsc:ok] 2026-05-23 05:36:48 +02:00
40d4683419 feat(api-client-phase6): API um password + audit-log erweitert [tsc:fail] 2026-05-23 05:35:12 +02:00
8cf2f8ca29 feat(keyboard-shortcuts): Cmd/Ctrl-K Command-Palette für Navigation [tsc:fail] 2026-05-23 05:34:31 +02:00
276ed8c798 feat(calendar-week-view): Wochen-Kalender für Time-Entries [tsc:fail] 2026-05-23 05:33:40 +02:00
d146a68174 feat(audit-log): Audit-Log Tabelle + Page (admin-only) [tsc:fail] 2026-05-23 05:33:03 +02:00
1e1f47023c feat(password-change): Change-Password Endpoint + Form in Profile [tsc:ok] 2026-05-23 05:32:02 +02:00
573e2c9680 claude-fix: settings.ts rewrite (appSettings + fields match), Nav theme path, mount settings route 2026-05-23 05:27:54 +02:00
a2ce92f0db feat(router-phase5): App.tsx + Nav um neue Routen erweitern + db-migrate nicht ve [tsc:fail] 2026-05-23 05:26:14 +02:00
6bc539533a feat(api-client-phase5): API um customer-detail, project-detail, settings, theme erwe [tsc:fail] 2026-05-23 05:24:51 +02:00
6131788183 feat(settings-page): App-Settings (workspace name, default-billable, etc.) [tsc:fail] 2026-05-23 05:24:10 +02:00
ea89138e71 feat(project-detail-page): Project-Detail: zeigt Customer + alle TimeEntries des Projek [tsc:ok] 2026-05-23 05:22:52 +02:00
c0f04315bb feat(customer-detail-page): Customer-Detail: zeigt Projekte + letzte Time-Entries des Ku [tsc:ok] 2026-05-23 05:22:18 +02:00
596e035a00 feat(dark-mode-toggle): Dark-Mode mit System-Preference + localStorage + toggle [tsc:ok] 2026-05-23 05:21:08 +02:00
38d9258912 feat(router-with-admin): App.tsx +/admin route + Nav admin-link bei admin-role [tsc:ok] 2026-05-23 05:18:21 +02:00
0a3b293c62 feat(api-client-phase4): API-Client um Admin-User + Export-URL ergänzt [tsc:ok] 2026-05-23 05:17:26 +02:00
bbf058acbe feat(dashboard-charts): Dashboard mit Stunden-Chart (recharts) [tsc:ok] 2026-05-23 05:16:50 +02:00
ec7476f23d feat(error-boundary): React ErrorBoundary + global wrapping in App.tsx [tsc:ok] 2026-05-23 05:15:46 +02:00
c3ae8a1d1d feat(csv-export-time-entries): CSV-Export-Endpoint + Button in TimeEntries-Page [tsc:ok] 2026-05-23 05:15:04 +02:00
6d4213a31c feat(admin-user-management): Admin-only CRUD /api/users + Settings-Page für User-Verwaltu [tsc:ok] 2026-05-23 05:12:48 +02:00
1980d6b9ed claude-fix: jwt cookie config + users.ts sub-cast + mount users route 2026-05-23 05:09:55 +02:00
0303704c02 feat(router-with-profile): App.tsx erweitert um /profile-Route + ToastProvider + active [tsc:fail] 2026-05-23 05:01:13 +02:00
dac8bfafda feat(api-client-final): API-Client mit allen Phase-3 Endpoints + Logout-fix [tsc:fail] 2026-05-23 05:00:29 +02:00
93eeba9134 feat(user-profile-page): User-Profile-Page mit Name/Email/Theme [tsc:fail] 2026-05-23 04:59:58 +02:00
6e349b7a56 feat(time-entries-search-filter): Search + Date-Range-Filter in TimeEntries-Liste [tsc:ok] 2026-05-23 04:59:10 +02:00
4190aa07e4 feat(empty-loading-states): Bessere Loading- und Empty-States in allen List-Pages [tsc:ok] 2026-05-23 04:58:01 +02:00
48af59fe54 feat(logout-everywhere): Logout-Button in Nav + funktionierender Flow [tsc:ok] 2026-05-23 04:57:47 +02:00
5f6bf2e718 feat(toast-notifications): Toast-System für Success/Error-Feedback nach Mutations [tsc:ok] 2026-05-23 04:57:29 +02:00
8a8a873286 claude-fix: FastifyInstance type, routes/index mount, lucide upgrade, projects where-filter 2026-05-23 04:55:59 +02:00
8f2320a104 feat(active-timer-widget): Aktiver Timer (start/stop) im Header sichtbar [tsc:fail] 2026-05-23 04:48:33 +02:00
e4e1d693e1 feat(dashboard-stats): Dashboard mit echten Statistiken statt Placeholder [tsc:fail] 2026-05-23 04:47:04 +02:00
6358b511f4 feat(router-with-new-pages): Erweitere App.tsx Routes um /customers, /projects + Navigati [tsc:fail] 2026-05-23 04:46:07 +02:00
1b0260dc91 feat(api-client-extensions): Erweitere lib/api.ts um Customer + Project Endpoints + Logou [tsc:fail] 2026-05-23 04:45:33 +02:00