rmcampos
3cc6295226
Merge pull request 'chore(deps): update dependency typescript to v7' ( #2 ) from renovate/typescript-7.x into main
...
Frontend CD / build (push) Successful in 5m15s
Reviewed-on: #2
Reviewed-by: Ricardo Campos <ricardompcampos@gmail.com >
2026-07-10 19:54:50 +00:00
rmcampos
4d75660de8
Merge branch 'main' into renovate/typescript-7.x
2026-07-10 21:54:12 +02:00
rmcampos
08a61569f4
chore: bump minor deps
Frontend CD / build (push) Successful in 5m31s
2026-07-10 21:47:21 +02:00
rmcampos
520e55563d
chore: update docs and bump dependencies
Frontend CD / build (push) Successful in 5m21s
2026-06-25 10:02:27 -03:00
rmcampos
989ad65046
Update .github/workflows/deploy-frontend.yml
2026-06-18 16:09:24 +00:00
rmcampos
813a189745
feat: replace ghcr by docker and update workflows for gitea
Frontend CD / build (push) Successful in 3m30s
2026-06-18 17:05:51 +02:00
rmcampos
0055e1cf0d
chore: bump dependencies
2026-06-18 16:46:59 +02:00
rmcampos
6c1213cb83
chore: cleanup files
2026-06-18 16:46:34 +02:00
rmcampos and GitHub
908dd155a0
fix: drop deploy flag from convex deploy
2026-06-03 18:01:01 -03:00
rmcampos and GitHub
c368ffd5e8
fix: convex deploy yml file
2026-06-03 17:57:29 -03:00
rmcampos and GitHub
bae16f0ef3
fix: frontend yml file workflow
2026-06-03 17:54:42 -03:00
rmcampos
5c7848276f
fix: deploy backend to prod
2026-06-03 22:52:06 +02:00
rmcampos
ede3ae957f
feat: add doppler and taskfile for better usage and workflow
2026-06-03 22:41:15 +02:00
rmcampos
b95ac5e07a
feat: add option to see book cover bigger
2026-05-29 23:30:01 +02:00
rmcampos
36cead4630
feat: add hit with search options
2026-05-29 23:14:08 +02:00
rmcampos and GitHub
3778237f68
Update feature status in README.md to 'done'
2026-05-29 17:48:10 -03:00
rmcampos
26b106a37a
feat: order books alphabetically in the backend
2026-05-29 15:43:31 -03:00
rmcampos
46bc53c5f0
chore: add logs for error debugging in prod
2026-05-29 20:07:58 +02:00
rmcampos
575a93b945
fix: select item error
2026-05-29 20:02:37 +02:00
rmcampos
1f1dc2e978
feat: add search options by language
2026-05-29 19:57:34 +02:00
rmcampos
c729c9aecd
fix: space between labels and input in the add a book form
2026-05-28 13:01:12 -03:00
rmcampos
46bc3082e5
feat: add dark mode option
2026-05-28 12:43:37 -03:00
rmcampos
e0dddee270
feat: improve UI and prevent it from breaking
2026-05-28 12:24:25 -03:00
rmcampos
54c7ca3e50
fix: 500 error due to missing keys
2026-05-28 10:21:30 -03:00
rmcampos
d9ac9eb37d
fix: allowed hosts for vite preview
2026-05-28 15:05:28 +02:00
rmcampos
14cfa71429
fix: terraform handshake failing:
2026-05-28 14:45:35 +02:00
rmcampos
7383f7b697
feat: add prod flow, build and deploy
2026-05-27 18:47:26 -03:00
rmcampos and Claude Sonnet 4.6
9b7a2095c7
feat: implement spec 006 — cover image upload via Convex file storage
...
Users can upload a custom JPEG/PNG cover per book entry. The three-step
Convex upload flow (generateUploadUrl → POST → setCoverImage) stores the
file in Convex storage; old files are deleted on replace or remove.
Display falls back to the API cover URL then a placeholder.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 17:05:21 -03:00
rmcampos and Claude Sonnet 4.6
ebe1ea10a2
fix: use static text-amber-400 with opacity toggle for star rating
...
Dynamic class names in ternary expressions can be dropped by Tailwind v4's
scanner. Keeping text-amber-400 static and toggling opacity-100/opacity-20
guarantees the colour is always in the CSS bundle.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 16:56:26 -03:00
rmcampos and Claude Sonnet 4.6
f0c070a0fa
feat: implement spec 005 — ratings and reviews
...
Adds star rating (1–5) and plain-text review to every book entry.
Both fields are optional and can be cleared; mutations validate ownership
and rating range server-side.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 16:36:09 -03:00
rmcampos
d49ec5484f
chore: commit missing generated file
2026-05-27 16:22:49 -03:00
rmcampos and Claude Sonnet 4.6
7b02c8803a
feat: implement spec 004 — shelves
...
Add shelves table with by_user index. Convex functions: getMyShelves
query, createShelf/renameShelf/deleteShelf mutations (delete atomically
clears shelfId on all entries), assignToShelf mutation on bookEntries.
Frontend: ShelfSidebar with inline rename, filter bar (All + per-shelf),
and create form. BookEntryCard gains shelf assignment dropdown. WishlistPage
filters client-side by selectedShelfId.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 16:21:55 -03:00
rmcampos and Claude Sonnet 4.6
f803d6e604
feat: implement specs 002 and 003 — wishlist CRUD and book search
...
Spec 002: books + book_entries schema, getMyWishlist query, addBook/
removeBook/updateStatus mutations with auth scoping, WishlistPage +
AddBookForm + BookEntryCard components, live reactive UI.
Spec 003: searchBooks Convex action calling Google Books API, addBook
extended with googleBooksId deduplication, BookSearch + BookSearchResult
components, cursor-pointer on all buttons, search clears on empty input.
Also removes clerkMiddleware from src/start.ts (server-side session
refresh loop on expired tokens; auth is handled entirely client-side).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 16:12:21 -03:00
rmcampos
2758804cad
feat: spec 002 completed
2026-05-27 15:12:28 -03:00
rmcampos and Claude Sonnet 4.6
20a5b165f0
feat: implement spec 001 — project scaffold
...
TanStack Start + Convex + Clerk + Tailwind + shadcn/ui wired up and
working. Auth flow (sign-in/sign-out/redirect) confirmed. Convex
getCurrentUser query validates the Clerk JWT integration end-to-end.
Key implementation notes:
- All Clerk imports use @clerk/react (v6), not @clerk/clerk-react (v5),
to match @clerk/tanstack-react-start's internal dependency
- ConvexProviderWithClerk is SSR-guarded via import.meta.env.SSR to
avoid useAuth being called server-side
- Convex + auth hooks isolated in a client-only Dashboard sub-component
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 17:40:55 -03:00
rmcampos
f196c471c4
docs: add specs
2026-05-23 12:41:37 -03:00
rmcampos
ad2484efe3
docs: add CLAUDE and update files - by Claude Code
2026-05-23 12:30:41 -03:00
rmcampos
5a0c3e71a4
docs: add ai context files
2026-05-23 11:44:20 -03:00
rmcampos and GitHub
f4e40c596a
Initial commit
2026-05-23 11:03:23 -03:00