Migration Notice: We are transitioning from <bw-widget> to <nw-blocks> tags. While both are currently supported for backward compatibility, <nw-blocks> is now the recommended tag for all new implementations. Existing <bw-widget> implementations will continue to function.
Match Overview 2 is an enhanced version of the match overview widget featuring improved design, real-time countdown functionality, live match indicators, and comprehensive prediction display. It provides a modern card-based layout with dynamic updates and support for multiple sports including football, MMA, and basketball.
Key Features:
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
id |
string | Yes | - | Must be “matchOverview2” |
matchid |
string | Yes | - | Unique match identifier (format: sport-team1-team2-YYYYMMDD) |
language |
string | No | Auto-detected | ISO 639-1 language code for localization |
country |
string | No | Auto-detected | ISO 3166-1 country code (supports state format: US-CA, CA-ON) |
countryState |
string | No | - | State/province code for US/Canada (automatically parsed from country) |
timezone |
string | No | Auto-detected | IANA timezone identifier for date/time display |
text |
string | No | From CMS | Custom prediction text (overrides CMS content) |
ctacolors |
string/array | No | “#05842A” | CTA button background color(s) |
ctahovercolors |
string/array | No | “#096725” | CTA button hover state color(s) |
referer |
string | No | - | Referrer tracking parameter for analytics |
Match IDs for Overview 2 follow the same convention as Overview 1, with sport prefix:
Format: football-{team1}-{team2}-{YYYYMMDD}
Examples:
football-nigeria-england-20240702football-barcelona-realmadrid-20250215Format: mma-{fighter1}-{fighter2}-{YYYYMMDD}
Examples:
mma-douglassilvadeadrade-romandolidze-20240702mma-romandolidze-ronaldorodriguez-20240912Format: basketball-{team1}-{team2}-{YYYYMMDD}
Examples:
basketball-lakers-celtics-20250220Naming Rules:
The widget displays dynamic countdown to match start with three time formats:
| Time Remaining | Display Format | Example |
|---|---|---|
| >24 hours | Days left | “2 days left” |
| 1-24 hours | Hours left | “8 hours left” |
| <1 hour | Minutes left | “45 minutes left” |
| Within 2 hours | Live indicator | “LIVE” with animated icon |
The countdown updates automatically using client-side JavaScript with proper timezone conversion.
When a match is within 2 hours of start time or currently in progress:
Automatic Content:
Custom Content:
text attribute to override CMS contentFeatures:
Football:
MMA:
<nw-blocks
id="matchOverview2"
matchid="football-manchesterunited-liverpool-20250301">
</nw-blocks>
<nw-blocks
id="matchOverview2"
matchid="mma-mcgregor-poirier-20250315"
text="McGregor returns after 18 months. Poirier has won 4 straight. This could be the fight of the year!">
</nw-blocks>
<nw-blocks
id="matchOverview2"
matchid="basketball-nets-knicks-20250305"
country="US-NY"
timezone="America/New_York">
</nw-blocks>
<nw-blocks
id="matchOverview2"
matchid="football-psg-marseille-20250310"
ctacolors="#FF6B00"
ctahovercolors="#E65100"
referer="homepage-featured">
</nw-blocks>
<nw-blocks
id="matchOverview2"
matchid="football-bayern-dortmund-20250318"
language="de"
country="DE"
timezone="Europe/Berlin">
</nw-blocks>
text attribute for promoted matches or special eventstimezone for accurate countdown displaylanguage and country for proper translationsreferer parameter to track conversion sourcesThe widget supports multiple color formats:
<!-- Single color -->
<nw-blocks id="matchOverview2" matchid="..." ctacolors="#05842A">
</nw-blocks>
<!-- Array format for gradients -->
<nw-blocks id="matchOverview2" matchid="..." ctacolors='["#05842A", "#096725"]'>
</nw-blocks>
<!-- Named colors -->
<nw-blocks id="matchOverview2" matchid="..." ctacolors="darkgreen">
</nw-blocks>
For US and Canada, use hyphenated country codes:
<!-- California, USA -->
<nw-blocks id="matchOverview2" matchid="..." country="US-CA">
</nw-blocks>
<!-- Ontario, Canada -->
<nw-blocks id="matchOverview2" matchid="..." country="CA-ON">
</nw-blocks>
The widget automatically:
The widget supports all IANA timezone identifiers:
<!-- European timezones -->
<nw-blocks id="matchOverview2" matchid="..." timezone="Europe/London">
</nw-blocks>
<!-- US timezones -->
<nw-blocks id="matchOverview2" matchid="..." timezone="America/Los_Angeles">
</nw-blocks>
<!-- Asian timezones -->
<nw-blocks id="matchOverview2" matchid="..." timezone="Asia/Tokyo">
</nw-blocks>
Date and time are automatically:
| Feature | Match Overview 1 | Match Overview 2 |
|---|---|---|
| Design | Basic layout | Modern card design |
| Countdown | Static | Real-time dynamic |
| Live Indicator | No | Yes, with animation |
| Predictions | Limited styling | Enhanced with icons |
| CTA Button | Basic | Styled with hover states |
| MMA Layout | Standard | Specialized design |
| Custom Text | No | Yes, via text attribute |
| Timezone | Basic | Advanced with auto-conversion |
| State Support | No | Yes (US/Canada) |
When to use Overview 2:
When to use Overview 1:
The widget requires the following data in Sanity:
{
matchId: "football-team1-team2-YYYYMMDD",
teamA: {
name: "Team A",
logo: "https://...",
sportType: "sport-football"
},
teamB: {
name: "Team B",
logo: "https://...",
sportType: "sport-football"
},
competition: {
name: "Premier League",
logo: "https://...",
date: "2025-03-15T19:45:00Z"
},
prediction: {
label: "Expert Prediction",
content: "Analysis text...",
hideContent: false
},
oddsPredictions: {
brand: {
cloakedLink: "partner-123"
}
},
translations: {
daysLeft: "days left",
hoursLeft: "hours left",
minutesLeft: "minutes left",
liveLabel: "LIVE"
}
}
Match data is cached in CloudFlare KV with:
SANITY_MATCH_OVERVIEW:{matchid}All examples above use the new <nw-blocks> tag. For backward compatibility, you can still use <bw-widget>:
<!-- Old syntax (still supported) -->
<bw-widget
id="matchOverview2"
matchid="football-nigeria-england-20240702"
ctacolors="#05842A"
ctahovercolors="#096725">
</bw-widget>
<!-- New syntax (recommended) -->
<nw-blocks
id="matchOverview2"
matchid="football-nigeria-england-20240702"
ctacolors="#05842A"
ctahovercolors="#096725">
</nw-blocks>
Both tags work identically, but <nw-blocks> is recommended for all new implementations.