|
|
939d72a593
|
feat(router-phase15): Mount neue routes [tsc:fail]
|
2026-05-23 07:07:13 +02:00 |
|
|
|
df033a7b84
|
feat(password-reset): Password-Reset-Flow (Request + Set new via token) [tsc:fail]
|
2026-05-23 07:04:26 +02:00 |
|
|
|
d7a4c1ff85
|
feat(saved-views): Saved-Filter-Views für TimeEntries (named presets) [tsc:fail]
|
2026-05-23 07:00:45 +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 |
|
|
|
09c7c6a6de
|
feat(kpi-comparison): Dashboard KPI-Karten mit Vergleich zur Vorwoche [tsc:fail]
|
2026-05-23 06:47:56 +02:00 |
|
|
|
c04a8de450
|
feat(breadcrumb-navigation): Breadcrumb-Komponente, top der Detail-Pages [tsc:fail]
|
2026-05-23 06:44:46 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
26805dca90
|
feat(documents-upload): File-Upload via @fastify/multipart + Documents-Page [tsc:fail]
|
2026-05-23 05:41:42 +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 |
|
|
|
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 |
|
|
|
bbf058acbe
|
feat(dashboard-charts): Dashboard mit Stunden-Chart (recharts) [tsc:ok]
|
2026-05-23 05:16:50 +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 |
|
|
|
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 |
|
|
|
e4e1d693e1
|
feat(dashboard-stats): Dashboard mit echten Statistiken statt Placeholder [tsc:fail]
|
2026-05-23 04:47:04 +02:00 |
|
|
|
4610ff24b8
|
feat(projects-crud): Projects-CRUD: API + Web-Page mit Customer-Picker [tsc:fail]
|
2026-05-23 04:45:09 +02:00 |
|
|
|
45056632c4
|
feat(customers-crud): Customers-CRUD: API-Routes + Web-Page mit List + Create-Form [tsc:fail]
|
2026-05-23 04:43:56 +02:00 |
|
|
|
f61fd26662
|
claude-fix: schema bug, wrong package import, dotenv removal, workspace deps, route mount
|
2026-05-23 04:36:10 +02:00 |
|
|
|
39e974d7a5
|
gemma: generate apps/web/src/pages/TimeEntries.tsx
|
2026-05-23 04:28:26 +02:00 |
|
|
|
0a2d3042e8
|
gemma: generate apps/web/src/pages/Dashboard.tsx
|
2026-05-23 04:27:37 +02:00 |
|
|
|
b0d8ed8577
|
gemma: generate apps/web/src/pages/Login.tsx
|
2026-05-23 04:27:17 +02:00 |
|