Expert guidance for building and maintaining an immersive Art Blocks NFT gallery with search, slideshow, and ENS integration using Next.js 15, GraphQL, and shadcn/ui
This skill provides expert guidance for developing and maintaining an immersive Art Blocks NFT gallery and slideshow experience built with Next.js 15.
The application creates a gallery and slideshow experience for Art Blocks generative NFTs with comprehensive search, ENS integration, and a selection-based slideshow builder.
When working with this codebase, use these commands:
The data layer provides all Art Blocks API interactions:
When modifying data layer:
**Home (app/page.tsx)**
**Search Results (app/search/page.tsx)**
**Slideshow Player (app/slideshow/player/page.tsx)**
**Technology Stack**
**Styling Conventions**
1. **Art Blocks API Integration**
- GraphQL for search and metadata
- Token API for live generator URLs
- Direct links to Art Blocks pages
2. **ENS Support**
- Resolve all Ethereum addresses to ENS names
- 24-hour cache to prevent rate limiting
- Display ENS names in UI when available
3. **Selection-based Slideshows**
- Users select artists, collections, collectors, or tokens
- Selections stored in localStorage
- Resolved to token IDs via `resolveSelectionTokenIds()`
- Serialized in URL parameters
4. **Live Generator Display**
- Use Art Blocks generator URLs
- Display in iframes for security
- Full-screen presentation mode
5. **Responsive Design**
- Desktop and mobile support
- Full-screen experiences on slideshow
- Touch and keyboard navigation
When implementing features, follow this data flow:
1. User searches via homepage or search page
2. Query Art Blocks GraphQL API for results
3. Users build selections (stored in localStorage)
4. Slideshow resolves selections to token IDs
5. Player fetches generator URLs and displays in iframes
**When Adding Features**
**When Fixing Bugs**
**When Refactoring**
**Adding a New Search Type**
1. Add GraphQL query to `lib/ab.ts`
2. Add search function with proper typing
3. Update search page to handle new type
4. Add selection support if needed
**Modifying Slideshow Controls**
1. Update URL parameter interface
2. Modify player page to handle new parameter
3. Add UI controls in sidebar
4. Update keyboard shortcuts if applicable
**Changing UI Components**
1. Locate component in `components/ui/`
2. Maintain "new-york" style variant
3. Use Tailwind utility classes
4. Test in both light and dark modes
**API Integration Changes**
1. Update GraphQL queries in `lib/ab.ts`
2. Update TypeScript interfaces
3. Test with Art Blocks staging/production
4. Handle error cases gracefully
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/art-blocks-gallery-development/raw