Canvas Sprint 2: featured-events SDC, community-hero SDC, rsvp_community_landing recipe

Submitted by admin on
Status
Priority
High

Build the core community landing components and wire them into a Canvas layout via the rsvp_community_landing recipe.

Components to build (SDCs in rsvp-system-theme/components/)

featured-events/

  • Source: rsvp_event nodes with field_community_owner = current community
  • Time window: 14-day rolling window from today
  • Sort: field_rsvp_event_smartdate ASC; limit 5
  • Block plugin in rsvp_community_landing sub-module feeds data to SDC

community-hero/

  • Hero image cascade (priority order):
    1. Hero image on current community_section node
    2. Hero image from current Calendar Month node for this community
    3. Gradient fallback using field_community_color
  • Preprocess in rsvp_community_landing sub-module; uses CommunityContextResolver
  • Must co-exist with existing carousel: static hero already yields to page.banner region

Sub-module

Create rsvp_community_landing sub-module in rsvp-system-module/modules/ with block plugins and preprocess hooks supporting both SDCs.

Recipe

rsvp_community_landing recipe: enables sub-module, applies Canvas layout to community_section with featured-events and community-hero blocks placed. Depends on rsvp_canvas_base.

Definition of Done

  • featured-events SDC renders correct 14-day events on a community section page
  • community-hero SDC shows correct image (cascade working) or gradient fallback
  • Hero yields to carousel when banner region is populated (existing behavior preserved)
  • Recipe applies cleanly; layout visible in Canvas editor

ADR: ADR-0031