Commit Graph

32 Commits

Author SHA1 Message Date
42989b1437 style: format recurrence helpers 2026-04-10 15:40:56 -04:00
27492ee01f feat: add location autocomplete 2026-04-10 15:40:38 -04:00
12849b2362 feat: add AI settings controls 2026-04-10 15:40:29 -04:00
e01a7ed1ad feat: use friendly event date labels 2026-04-09 17:41:37 -04:00
12f2fd95dc refactor: centralize event dialog form state 2026-04-09 17:41:26 -04:00
911e5735a4 feat: add shared recurrence helpers 2026-04-09 17:41:04 -04:00
513aafcebc feat: support multiple image uploads for AI event generation 🖼️
- Updated OpenRouter integration to accept an array of image URLs
- Updated ImagePicker to use the `multiple` attribute natively
- Added `appendImagesDeduped` for handling client-side image deduplication
- Enhanced clipboard pasting to extract multiple images at once
- Rendered multiple images in a horizontal thumbnail strip in the AIToolbar
- Added tests to cover multi-image logic and AI request mapping
2026-04-08 20:46:43 -04:00
cac201a4d2 feat: add document-level paste and Ctrl/Cmd+V handler for image clipboard support 2026-04-08 19:58:40 -04:00
2d34bbebc4 feat: add extractImageFromClipboard utility with broad image/* MIME matching 2026-04-08 19:58:01 -04:00
722c0f0f7d 🚸 feat: redesign AI toolbar with two-zone layout and HoverCard shortcuts popover
- Split composer into AI zone (primary accent) and data actions zone (neutral)
- Move Attach/Generate to labeled footer bar below textarea (left/right aligned)
- Add info icon with HoverCard (hover preview) + Popover (pinned click) showing identical keyboard shortcuts content using shadcn HoverCard to fix theme inconsistency vs Tooltip
- Expose imperative triggerRef on ImagePicker for keyboard shortcut access
- Wire TooltipProvider in root layout; install shadcn kbd and hover-card
- Unauthenticated state shows locked CTA with real sign-in button weight
- Add behavioral contract tests for footer bar, info trigger, and zone layout
2026-04-08 13:08:36 -04:00
9dfd4ef326 feat: add Google and Apple OAuth via better-auth socialProviders 2026-04-08 09:12:50 -04:00
cbd2559169 🐛 fix: normalize AI-generated dates to valid ISO offset datetimes
- add normalizeAiDateString() to coerce bare ISO datetimes, date-only
  strings, and fractional-second variants into offset-aware format
- apply via z.preprocess in AiEventResponseItemSchema so Zod validation
  no longer rejects AI responses missing a timezone offset
- fix system prompt to use toISOString() (unambiguous UTC) and clarify
  expected datetime format for the AI model
- install bun-types and add to tsconfig so bun:test resolves cleanly
- add 8 behaviour-driven tests covering all normalizer edge cases
2026-04-07 23:01:42 -04:00
7bb4f2be9d refactor(types): strengthen Zod schemas with regex validation and derive CalendarEvent
Add regex-based data URL validation for images, compute binary size
from base64 for accurate 10MB limit, enforce datetime strings with
offset for start/end fields, and derive CalendarEvent from the AI
response item type to eliminate field duplication.
2026-04-07 13:11:05 -04:00
dc4204a740 refactor(lib): extract shared image constants and JSON parsing utilities
Move image extensions, MIME types, and size limit into a dedicated
constants module. Extract JSON-from-text parsing into a pure utility
function for reuse across the codebase.
2026-04-07 13:10:59 -04:00
a0a7e021a8 style: standardize import ordering, type imports, and formatting in source files
Sort imports alphabetically, convert value imports to type-only where
appropriate, normalize indentation to tabs, and sort exports
alphabetically across UI components, pages, and lib modules.
2026-04-07 13:10:49 -04:00
3d6999312c feat(lib): add AI event Zod schemas for request validation and response parsing 2026-04-07 11:57:11 -04:00
e39ba6be97 style(lib): standardize utils file formatting 2026-04-07 08:09:43 -04:00
3b7c246a47 style(lib): standardize rfc5545-types file formatting 2026-04-07 08:09:40 -04:00
5be55cec7c style(lib): standardize events-db file formatting 2026-04-07 08:09:36 -04:00
dab77befc2 style(auth): standardize auth file formatting 2026-04-07 08:09:32 -04:00
a897e8ead1 feat(lib): add OpenRouter client implementation 2026-04-07 08:08:58 -04:00
bcd488e2d3 fix(auth): use correct sign-in method for genericOAuth
Add genericOAuthClient plugin to auth client and change sign-in
call from signIn.social() to signIn.oauth2() with correct
providerId parameter.
2026-04-06 23:20:39 -04:00
08a894577b refactor: replace next-auth with better-auth core and client 2026-04-06 22:41:11 -04:00
28c982ee37 fix: docker build 2025-12-12 09:27:02 -05:00
92535f7e54 claude drizzle integration 2025-08-19 01:54:19 -04:00
3108053017 fix ts errors 2025-08-16 01:54:30 -04:00
2d5db29f27 added raw recurrence support 2025-08-16 01:54:30 -04:00
238d3cfbfe richer editing 2025-08-16 01:54:30 -04:00
9d53e4da21 phase 3 - ical import/export 2025-08-16 01:54:30 -04:00
b1dad2f6ba working idb example 2025-08-16 01:54:30 -04:00
ad600a896c indexeddb init 2025-08-16 01:54:30 -04:00
114f99aebb init shadcn 2025-08-16 01:54:30 -04:00