|
|
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 |
|
|
|
5642b34061
|
phase-8: complete + claude-fix documents.name + User type
|
2026-05-23 06:01:36 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
d659bf5d44
|
gemma: generate apps/web/tailwind.config.ts
|
2026-05-23 04:28:45 +02:00 |
|
|
|
32f47173b4
|
gemma: generate apps/web/postcss.config.cjs
|
2026-05-23 04:28:42 +02:00 |
|
|
|
fdd3acccbc
|
gemma: generate apps/web/src/index.css
|
2026-05-23 04:28:41 +02:00 |
|
|
|
547e04531d
|
gemma: generate apps/web/src/App.tsx
|
2026-05-23 04:28:39 +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 |
|
|
|
54b2032348
|
gemma: generate apps/web/src/lib/api.ts
|
2026-05-23 04:26:54 +02:00 |
|
|
|
188ecb990c
|
gemma: generate apps/web/src/main.tsx
|
2026-05-23 04:26:39 +02:00 |
|
|
|
bb7e19c3e0
|
gemma: generate apps/api/src/index.ts
|
2026-05-23 04:26:32 +02:00 |
|
|
|
1025675f4f
|
gemma: generate apps/api/src/routes/index.ts
|
2026-05-23 04:26:24 +02:00 |
|
|
|
82a9f14341
|
gemma: generate apps/api/src/routes/time-entries.ts
|
2026-05-23 04:26:21 +02:00 |
|
|
|
3a52c4a230
|
gemma: generate apps/api/src/routes/auth.ts
|
2026-05-23 04:25:45 +02:00 |
|
|
|
a639a1522b
|
gemma: generate apps/api/src/db/migrate.ts
|
2026-05-23 04:25:28 +02:00 |
|
|
|
d322b721bb
|
gemma: generate apps/api/src/db/index.ts
|
2026-05-23 04:25:19 +02:00 |
|
|
|
7a5409b98c
|
gemma: generate apps/api/src/db/schema.ts
|
2026-05-23 04:25:16 +02:00 |
|
|
|
940e492359
|
scaffold: pnpm-monorepo (apps/api+web, packages/shared) + docker-compose + codegen-orchestrator
|
2026-05-23 04:24:44 +02:00 |
|