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>
This commit is contained in:
delta-lynx-89e8
2026-02-22 12:30:03 -08:00
parent 6722d1d4a1
commit d09c998d51
41 changed files with 3152 additions and 383 deletions

View File

@@ -39,6 +39,8 @@ enum OfferStatus {
ACCEPTED
DECLINED
COUNTERED
CANCELLED
EXPIRED
}
enum NotificationType {
@@ -76,6 +78,14 @@ model User {
showRating Boolean @default(true)
twoFactorEnabled Boolean @default(false)
isActive Boolean @default(true)
notifNewOffer Boolean @default(true)
notifMessages Boolean @default(true)
notifItemSold Boolean @default(true)
notifFavorites Boolean @default(true)
notifEmail Boolean @default(true)
marketingEmail Boolean @default(false)
resetToken String? @unique
resetTokenExpiry DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@ -155,6 +165,7 @@ model Offer {
message String?
status OfferStatus @default(PENDING)
counterAmount Float?
expiresAt DateTime?
buyerId String
sellerId String
listingId String