### 1. __artists-grid.tsx__ (Main Artist Browsing)
- Uses hook from
- Fetches from endpoint
- Includes loading states, error handling, and filtering
- __Impact:__ Primary artist browsing experience now fully API-driven
### 2. __artist-portfolio.tsx__ (Individual Artist Pages)
- Uses hook
- Fetches from endpoint
- Fixed all TypeScript errors (changed image ID from number to string)
- Added loading/error states
- __Impact:__ Artist detail pages now fully API-driven
### 3. __booking-form.tsx__ (Artist Selection Dropdown)
- Uses hook for artist selection
- Updated to use API data structure ( array, , etc.)
- Added loading state for dropdown
- __Impact:__ Booking flow now uses real artist data
## ⚠️ REMAINING (Decorative/Marketing Components)
Two complex components still use hardcoded :
### 4. __artists-section.tsx__ (Homepage Hero - 348 lines)
- Homepage marketing section with complex parallax scrolling
- Uses hardcoded artist data for visual cards
- __Non-blocking:__ This is a decorative homepage element
### 5. __artists-page-section.tsx__ (Artists Page Section - 413 lines)
- Full-page artists showcase with parallax effects
- Uses hardcoded artist data for visual layout
- __Non-blocking:__ Alternative to artists-grid.tsx (which IS using API)
##
32 lines
1.1 KiB
JSON
32 lines
1.1 KiB
JSON
{
|
|
"version": 3,
|
|
"middleware": {
|
|
"/": {
|
|
"files": [
|
|
"server/edge-runtime-webpack.js",
|
|
"server/middleware.js"
|
|
],
|
|
"name": "middleware",
|
|
"page": "/",
|
|
"matchers": [
|
|
{
|
|
"regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next\\/static|_next\\/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*))(.json)?[\\/#\\?]?$",
|
|
"originalSource": "/((?!_next/static|_next/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*)"
|
|
}
|
|
],
|
|
"wasm": [],
|
|
"assets": [],
|
|
"env": {
|
|
"__NEXT_BUILD_ID": "SVr_7PUfBPR5HoMg6Gqfy",
|
|
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "eqMtY6RQJg8ZzpGru9Ni8jGmRicvhYvppy45/3SECqU=",
|
|
"__NEXT_PREVIEW_MODE_ID": "aa3e44cc5c2d8f61b9a7e308f9db0bf8",
|
|
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "e63b6be95276873929b9ec08e113ea325ced41c2d494b0a69b62991e4c3688ab",
|
|
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "8aa982a30b271251dc2f1ffdd0eb252e3bc9e47f7d478e80f5dbb2abb1b39323"
|
|
}
|
|
}
|
|
},
|
|
"functions": {},
|
|
"sortedMiddleware": [
|
|
"/"
|
|
]
|
|
} |