Skip to content

Move featured content from hardcoded to database API#377

Open
rasca wants to merge 2 commits intodevfrom
portal
Open

Move featured content from hardcoded to database API#377
rasca wants to merge 2 commits intodevfrom
portal

Conversation

@rasca
Copy link
Contributor

@rasca rasca commented Feb 26, 2026

Summary

  • Added data migration (0037) that seeds hero banner and 3 featured builds with Cloudinary image URLs, linked to real users (albert, ivan)
  • Removed all hardcoded fallback data from HeroBanner.svelte and FeaturedBuilds.svelte
  • Frontend now fetches featured content exclusively from /api/v1/featured/ endpoint

Test plan

  • Run python manage.py migrate and verify 4 FeaturedContent records are created
  • Verify hero banner loads from API with correct image and text
  • Verify featured builds section loads 3 builds with Cloudinary images and avatars
  • Verify empty state when no featured content exists (banner hidden, builds section hidden)

- Add data migration seeding hero banner and 3 featured builds with Cloudinary image URLs
- Remove hardcoded fallback data from HeroBanner and FeaturedBuilds components
- Components now fetch exclusively from /api/v1/featured/ endpoint
- Create reusable UI components: SectionHeader, StatCardRow, RankedList,
  UserCardScroller, HighlightCards, CTASection, ChartPlaceholder
- Rewrite Dashboard.svelte with category-aware builder/validator layouts
- Add monthly delta stats to leaderboard API (new_builders_count,
  new_validators_count, new_contributions_count, new_points_count)
- Fix CategoryIcon light mode with colored CSS-masked icons
- Fix stat card overflow clipping delta carets
- Fix CTA buttons to use fully rounded pill shape
- Fix gradient icon SVGs (renamed from .png, fixed preserveAspectRatio)
- Add category-aware navbar button colors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant