8 Commits

Author SHA1 Message Date
delta-lynx-89e8
54e1cadfc9 fix: show detailed validation error messages on client
Parse field-specific errors from server response instead of showing
generic "Validation error" message. Applies to both request() and
upload() methods in the API client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 06:26:43 -08:00
delta-lynx-89e8
dc07f2a98d fix: price sorting by period type, pagination, avgRating on dashboard
- Sort by monthlyPrice when periodType=MONTHLY instead of always dailyPrice
- Fix client-side pagination in MyBookingsPage and LandlordListingsPage
- Compute avgRating in /rentals/mine endpoint so dashboard shows ratings
- Fix falsy filter for avgRating=0 on landlord dashboard

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 17:03:23 -08:00
delta-lynx-89e8
dcd2dcb841 feat: subscription tiers, period filter, dashboards, docs
- Add subscription tiers (Basic/Pro/Business) with listing limits and dynamic commission
- Add daily/monthly period filter on rentals page
- Add landlord dashboard with earnings chart, stat cards, property performance
- Add landlord subscription management page
- Add tenant dashboard with upcoming stays
- Add business model documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 16:19:33 -08:00
delta-lynx-89e8
dbbbbd26f4 Add rental system: listings, bookings, payments, payouts, reviews
Full rental marketplace with 6 categories (apartment, house, car, motorcycle, bicycle, ebike).
Booking workflow: create → confirm → pay → active → complete → payout.
Landlord dashboard, admin moderation, availability calendar, Stripe Connect payouts.
14 QA bugs found and fixed including validator schemas, API response types, HTTP methods.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:33:29 -08:00
delta-lynx-89e8
8961fa701a Wire avatar upload on Create/Update profile pages
Camera button now triggers file input -> uploads to POST /users/avatar -> updates auth context and preview.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 13:09:41 -08:00
delta-lynx-89e8
05c696d68a Fix all 22 audit issues: dead buttons, missing pages, broken links
- ChatPage: add scroll-to-bottom, sending state, conversation routing
- SettingsPage: wire change password, login activity, delete account modals
- NotificationsPage: make notifications clickable, navigate to offers/messages
- LoginPage: add forgot password modal, social login feedback
- SignUpPage: social signup feedback, link to terms/privacy
- ProductDetailPage: wire share (copy link) and report buttons
- Footer: replace all href="#" dead links with proper React Router links
- Create static pages: About, Privacy, Terms, Help, Contact, Returns
- Add all static page routes to router
- api.delete now supports request body (for account deletion)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 12:50:15 -08:00
delta-lynx-89e8
d09c998d51 QA fixes: real listing creation, profile save, favorites, missing pages
- SellItemPage: real file upload + API listing creation + activate
- CreateProfilePage: save profile via PUT /users/profile
- ProductDetailPage: wire edit/delete/message buttons, show edit for owner
- ListingCard: persist favorites via API, show real images
- Footer: connect newsletter subscribe to API
- Router: add /dashboard/listings and /dashboard/saved routes
- Backend: add GET /listings/favorites endpoint
- New pages: MyListingsPage, SavedItemsPage
- Fix unused imports causing build failures

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 12:30:03 -08:00
delta-lynx-89e8
b37b734c82 Initial marketplace implementation
Full-stack marketplace for buying/selling second-hand items.
React 19 + TypeScript + Tailwind CSS v4 frontend with 17 screens,
Express + Prisma + Socket.io backend, Stripe payments, JWT auth.

Deployed at https://marketplace.173.212.212.157.sslip.io/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 07:00:44 -08:00