Commit Graph

51 Commits

Author SHA1 Message Date
evanpelle 2cbe34ed79 update ui (#1368)
## Description:

Center pop & gold information, and split up & remove the top bar.

Before:

<img width="1913" alt="Screenshot 2025-07-07 at 7 54 55 PM"
src="https://github.com/user-attachments/assets/8ab59102-1f0e-4023-905f-e0b1b2fa73a2"
/>


After:

<img width="1916" alt="Screenshot 2025-07-07 at 7 53 02 PM"
src="https://github.com/user-attachments/assets/06c885e3-a179-4447-9d1d-0da3849e726d"
/>


reference:

![image](https://github.com/user-attachments/assets/8c985a1a-e232-45ce-9af7-c1981df7fb15)

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

evan
2025-07-07 20:06:14 -07:00
DiesselOne 4e48eba910 Better In Game UI (#1243)
## Description:
Top Bar Refactor – UI & UX Improvement Proposal

This update overhauls the top game bar to improve clarity,
responsiveness, and overall user experience across desktop and mobile.
It consolidates player resources (e.g., building counts), integrates
game controls (pause, settings, time), and enhances visual contrast.

Key changes:

Redesigned top bar with player data and game options.

Team color indicator bar (team games only).

Countdown bar during "Choose Starting Position" phase.

Removed redundant info (e.g., troop/worker counts shown elsewhere).

Inspired by strategy games like Travian Legends, this refactor offers a
cleaner and more intuitive layout, especially for smaller screens.

⚠️ Note: This is a large change and likely contains visual or functional
bugs I can’t currently spot due to fatigue. Thorough testing is required
before approval.

## 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
- [ ] 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

Diessel
![Snímek obrazovky 2025-06-21 v 8 13 46](https://github.c
![Snímek obrazovky 2025-06-21 v 8 13
35](https://github.com/user-attachments/assets/e166ee1b-6173-48f5-8e2d-598d796a7e2d)
om/user-attachments/assets/3a0edbef-e621-4fc4-b6b7-c1ed
![Snímek obrazovky 2025-06-21 v 8 13
20](https://github.com/user-attachments/assets/1214ab61-323c-4317-8722-eaa4b932a60c)
8f9a8219)
![Snímek obrazovky 2025-06-21 v 8 10
04](https://github.com/user-attachments/assets/374fe15a-bfad-4469-9950-3ec631b6e2d3)

Closes #1165

---------

Co-authored-by: Scott Anderson <scottanderson@users.noreply.github.com>
Co-authored-by: evanpelle <evanpelle@gmail.com>
2025-06-30 19:49:42 -07:00
evanpelle ca522a5937 refactor cosmetics out of PlayerInfo (#1299)
## Description:

Remove Cosmetics from PlayerInfo. The game engine should have no
knowledge of cosmetics since they shouldn't affect game play at all.
Instead pass player cosmetics into the GameView.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

evan
2025-06-28 12:33:19 -07:00
Aotumuri f905e29ec6 custom flag (1) (#1257)
## Description:
This PR separates only the rendering logic.

The settings and other related parts will be handled when updating the
UI.

The remaining work will be split into two separate PRs.
Once this is done, I’ll move on to the next one.
## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors
2025-06-27 19:44:23 +00:00
DiesselOne b7ee1caa52 * update leaderboard align (#1189)
## Description:
This fix issue of leaderboard overlaping other elements. 
Also give option to dispaly ads below leaderboard since on desktop they
are next to each other

## Please complete the following:

- [ ] 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
- [ ] 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

Diessel

![image](https://github.com/user-attachments/assets/28d1a952-b9b1-4990-9a2a-59d221f5c007)

![image](https://github.com/user-attachmen
![Snímek obrazovky 2025-06-17 v 18 28
12](https://github.com/user-attachments/assets/f00bd060-361a-4c2f-98dd-1849f7d705ff)
ts/assets/5886ceb2-2d15-4b0e-9c30-8c61b0255f48)
![Snímek obrazovky 2025-06-17 v 18 28
36](https://github.com/user-attachments/assets/a60943ef-7865-43fa-a400-a7bd381b6ea3)
![Snímek obrazovky 2025-06-17 v 18 28
19](https://github.com/user-attachments/assets/7a328e7a-5a97-4b71-bb7a-40adac2d45c3)

---------

Co-authored-by: evanpelle <evanpelle@gmail.com>
2025-06-17 13:32:27 -07:00
Ethienne Graveline 9b2c6cc1f6 Simple Upgradable Structures (Cities, Ports, SAMs and Silos) (#1012)
## Description:

https://github.com/openfrontio/OpenFrontIO/issues/776

I've implemented upgradable structures for cities and ports.

As of right now this is just meant as a QOL change for structure
stacking that currently happens and no gameplay changes are intended.

Structure upgrades cost the same as making a new structure of that type
and function the same as making a new structure of that type.

I'm putting up a draft PR for this now since adding support for SAMs and
Silos will take more time to handle the cooldowns and I want to make
sure I'm on the right track for getting this merged.

I also still need to add bot behavior for this and re-enable min
distance for structures.

I didn't see translations for the UnitInfoModal so I've left that out
for now.

I've tested locally in a single player game so far but will document and
test more thoroughly before merging.


![image](https://github.com/user-attachments/assets/321a17cf-26a5-4152-aae1-6b6a691638bb)


![image](https://github.com/user-attachments/assets/8cfdabe6-f0a1-435a-a5a3-05b442427c2f)


## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

# Poutine

---------

Co-authored-by: Scott Anderson <scottanderson@users.noreply.github.com>
2025-06-10 23:04:17 -04:00
Erwan Huon 3d2525c388 Fix Player Name Monospaced Text Overflow on PlayerInfo (#975)
## Description:
This PR addresses the issue of long continuous strings (without spaces)
overflowing their container in the user interface. By adding the CSS
property word-break: break-all (via the Tailwind class break-all) to the
text container, we ensure that lengthy words will wrap properly and
maintain the layout integrity across different screen sizes.


![image](https://github.com/user-attachments/assets/358c0871-a9b8-4828-8401-610acd7eb242)
_Before_



![image](https://github.com/user-attachments/assets/d6c820de-f2bf-479a-90c9-54eec51b4425)
_After_


## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

RTHOne

Co-authored-by: evanpelle <evanpelle@gmail.com>
2025-06-02 11:26:27 -07:00
Scott Anderson 44e7b4990d Remove ClientID from GameRenderer (#878)
## Description:

GameView provides a `myPlayer()` implementation.

## 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
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors
2025-05-30 02:12:03 -04:00
tnhnblgl 6e12948033 Display Warship count (#756)
## Description:
Missile launchers:
SAMs:
And now Warships:

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

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

<DISCORD USERNAME>
dovg
2025-05-15 23:13:14 -04:00
Scott Anderson 70745faac4 Enable strictNullChecks, eqeqeq (#436)
## Description:

Improve type safety and runtime correctness by:
1. Enabling TypeScript's
[strictNullChecks](https://www.typescriptlang.org/tsconfig/#strictNullChecks)
compiler option.
2. Replacing all loose equality operators (`==` and `!=`) with strict
equality operators (`===` and `!==`).
3. Cleaning up of type declarations, null handling logic, and equality
expressions throughout the project.

Currently, the code allows implicit assumptions that `null` and
`undefined` are interchangeable, and relies on type-coercing equality
checks that can introduce subtle bugs. These practices make it difficult
to reason about when values may be absent and hinder the effectiveness
of static analysis.

Migrating to strict null checks and enforcing strict equality
comparisons will clarify intent, reduce bugs, and make the codebase
safer and easier to maintain.

Fixes #466 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
Co-authored-by: evanpelle <openfrontio@gmail.com>
2025-05-15 16:39:40 -07:00
Aotumuri 2fe99dc2ce Mls4game (#755)
## Description:
I’ve expanded MLS (Multi-Language Support) coverage in the game.
All in-game elements except for chat messages are now translatable.
## Please complete the following:
- [ ] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:
aotumuri
2025-05-15 05:53:26 -04:00
evan 4852ada7f3 show team in player overlay panel 2025-04-30 14:39:06 -07:00
Evan 8b6895d745 add prettier import plugin 2025-03-31 13:09:27 -07:00
evanpelle d8fe41de7a teams (#349) 2025-03-27 20:43:56 -07:00
MRH 5a1451b430 Improved options panel (#328)
Minor improvements to options-panel and player info panel.

- Improved time display
- Added margin to align with leaderboard
- Better option button layout
- Added flag to player info


![image](https://github.com/user-attachments/assets/b51c8239-caf5-4526-97ac-a33a9d22eff2)
2025-03-24 10:42:49 -07:00
Xuarig 00e7425e74 [UI/Bugfix] Fixed the player info overlay displaying false when troops where equal to 0 (#298)
The player info was: 

![Before](https://github.com/user-attachments/assets/1fc3a4f1-3052-4a0d-b310-f94de10178a0)

I fixed it to:

![After](https://github.com/user-attachments/assets/901ffc10-4d93-4418-9d56-e3b94a4fb5af)

One thing I'm not sure about, is if we want to hide the attacking troops
on 0 or always show it? In this PR it's always shown.
2025-03-20 10:40:52 -07:00
Ilan Schemoul af0177baa1 feat: add a lot more info in player overlay (#279) 2025-03-18 20:37:09 -07:00
Ilan Schemoul 837d59d929 fix: translation broke numbers (#211) 2025-03-10 17:24:36 -07:00
Evan 6734cbc832 show player type in player info overlay 2025-02-20 13:38:35 -08:00
Evan 40966ca3b9 format all files with prettier 2025-02-12 08:28:15 -08:00
NewHappyRabbit 54354f7b14 Disabled right-clicks on all in-game UI elements 2025-02-10 06:31:47 +02:00
Evan c109d23f9f combine battleship + destroyer => warship. 2025-02-02 14:31:30 -08:00
Evan 4ee37323f9 format codebase with prettier 2025-02-01 12:05:11 -08:00
Evan f284603827 make options menu scale better 2025-02-01 12:05:11 -08:00
Evan ca313fd383 have playerinfo stay under optionsmenu 2025-02-01 12:05:11 -08:00
Evan 4266bd8a59 mobile UI: show playerInfo when radial menu activated 2025-02-01 12:05:11 -08:00
evanpelle 6fbb4221dd have player info use tailwind 2025-02-01 12:05:11 -08:00
Evan d053a82ff6 better styling for options menu 2025-02-01 12:05:11 -08:00
Evan 9b2a84cb74 separate optionsmenu from playerinfo menu 2025-02-01 12:05:11 -08:00
evanpelle 4bbb63fd48 move Game updates to GameUpdate.ts 2025-02-01 12:05:11 -08:00
evanpelle 4034d11015 split Player/Unit from its Views for better separation 2025-02-01 12:05:11 -08:00
evanpelle 05da562bba thread_split: implement target player icon 2025-02-01 12:05:11 -08:00
evanpelle ab183e4f59 show alliance icon 2025-02-01 12:05:11 -08:00
evanpelle 42490e2aef use renderTroops & renderNumber for playerinfo overlay 2025-02-01 12:05:11 -08:00
Evan f0f5bae79f thread_split: convert all tile to tileref 2025-02-01 12:05:11 -08:00
evanpelle fed18e471c thread-split: create PlayerProfile transfer flow 2025-02-01 12:05:11 -08:00
Evan 3e8517363f use GameView in renderers 2025-02-01 12:05:11 -08:00
Evan dab427d614 put methods onto terraintile 2025-02-01 12:05:11 -08:00
evanpelle 239f5f11dc fix merge errors 2024-12-31 13:10:58 -08:00
evanpelle 3fe8d28abe implement pause feature,
bugfix: server stops in the beginning if no ticks found
2024-12-31 13:08:29 -08:00
Evan f4c98318b6 Show player relations in player info overlay 2024-12-30 09:40:16 -08:00
Evan ac1d0c0378 Add relations, NPCs attack enemies using relation, NPCs attack targeted players 2024-12-27 16:53:56 -08:00
evanpelle 8e61632b8b implement pause feature,
bugfix: server stops in the beginning if no ticks found
2024-12-25 15:19:35 -08:00
Evan 10d70d3327 fix nuke bug, make spawn phase longer, show trade ships in overview 2024-12-22 20:27:49 -08:00
Evan 5307285d8b give Battleships & Destroyers health, make shells more frequent & larger 2024-12-20 20:31:41 -08:00
Evan 66fbe8e6b4 don't render player info on top of exit button, render unit type 2024-12-20 20:31:12 -08:00
evanpelle 65cf2a7c19 have info layer display more info 2024-12-20 20:28:17 -08:00
evanpelle d8258f3694 have exit button render on top of player info panel 2024-12-18 14:32:29 -08:00
Evan 7ff0509b40 turn green when owned by player or ally 2024-11-30 19:45:21 -08:00
Evan 05367cb740 player info overlay shows ship owner 2024-11-30 19:38:45 -08:00