Extended uploadImages() call to include the 4 image files referenced by
the site_content and testimonials migrations: about/mira-portrait.jpg
and testimonials/{amara,keisha,nadia}.jpg. These paths are seeded in
the migration but were not being uploaded to the salon-images bucket,
causing broken image links on deploy.
Verified files exist in public/ and match migration seed paths.
Claude-Session: https://claude.ai/code/session_01NhxA4npAXAxmCDEJt6kxSH
The brief's literal script copies source fields verbatim, but src/data
uses camelCase (inStock, durationMinutes, priceFrom) while the DB
columns are snake_case (in_stock, duration_minutes, price_from), so
that version fails with PGRST204. Map fields explicitly instead of
spreading the rest.