Split match display into played and upcoming sections, sorting played matches in descending order (newest first) and upcoming matches in ascending order (soonest first), then concatenate them for display.
Implement client-side sorting for blog post lists to ensure they are
displayed in descending order by numeric ID. This prevents issues
where API response ordering or file modification timestamps might
cause older posts to appear newer than recent ones.
Also add backend tests to verify blog ordering logic.