feat: add NewsBox component and integrate news items into PlayPage (#3545)

Resolves #2998 

## Description:

Adds a news box to the lobby homepage that advertises upcoming clan
tournaments, weekly tournaments, and new player tutorials. The component
sits above the username input and cycles through items automatically.

<img width="1138" height="591" alt="screenshot-2026-03-31_00-48-33"
src="https://github.com/user-attachments/assets/4b79287d-6aca-4c81-9bfe-36aad043f381"
/>

<img width="1107" height="595" alt="screenshot-2026-03-31_00-48-24"
src="https://github.com/user-attachments/assets/598e6b8b-e0f2-4864-a5fb-a00c0cc98f37"
/>

<img width="1367" height="599" alt="screenshot-2026-03-31_00-48-04"
src="https://github.com/user-attachments/assets/14f74e70-9dc0-4d67-af6e-c4708e539490"
/>


## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

deathllotus

---------

Co-authored-by: Evan <evanpelle@gmail.com>
This commit is contained in:
Alex Besios
2026-04-08 20:53:02 +03:00
committed by GitHub
parent 38222bfe34
commit 55e8a4edb7
7 changed files with 337 additions and 1 deletions
+7
View File
@@ -1044,5 +1044,12 @@
"description": "(ALPHA)",
"login_required": "Login to play ranked!",
"must_login": "You must be logged in to play ranked matchmaking."
},
"news_box": {
"tournament": "TOURNAMENT",
"tutorial": "TUTORIAL",
"news": "NEWS",
"dismiss": "Dismiss",
"go_to_item": "Go to item {num}"
}
}
+23
View File
@@ -0,0 +1,23 @@
[
{
"id": "clan-tournament-spring-2026",
"title": "Upcoming: Spring Clan Tournament",
"description": "2v2 clan battles — Sign up on Discord before April 12",
"url": "https://discord.gg/openfront",
"type": "tournament"
},
{
"id": "clan-tournaments-2026",
"title": "Clan Tournaments",
"description": "Join a clan and compete in weekly tournaments on Discord!",
"url": "https://discord.gg/openfront",
"type": "tournament"
},
{
"id": "tutorial-2026",
"title": "New Player Tutorial",
"description": "Learn the basics of OpenFront in this video guide",
"url": "https://www.youtube.com/watch?v=EN2oOog3pSs",
"type": "tutorial"
}
]