Skip to content

Conversation

@IanKemp
Copy link

@IanKemp IanKemp commented May 15, 2021

As per title.

@greeny
Copy link
Owner

greeny commented May 15, 2021

Hi, thanks for the PR.

Number formatting function should be global, currently it's generated here: https://github.com/greeny/SatisfactoryTools/blob/dev/src/Module/AppModule.ts#L412-L423 . However it's not yet used everywhere. The reason for global function is because in the near future I'm planning on adding support for configuring how to format numbers (e.g. number of decimals).

Also last time I checked, Intl was pretty slow compared to other methods of formatting numbers. Not sure how is it now, will have to check.

@IanKemp
Copy link
Author

IanKemp commented May 15, 2021

Are you saying this work is useless/redundant then? Or are you suggesting I define and export a global static function that uses the current logic in AppModule#generateNumberFormattingFunction (which I'm happy to do)? My only issue with the latter is that ProductionToolResult only formats to 2 decimals maximum, whereas AppModule#generateNumberFormattingFunction uses up to 5 decimals.

Regarding Intl, there's no reason why (as part of the static function I propose to define) we can't cache the result of Intl.NumberFormat. Logically it will be slower due to doing the locale lookup, but I also think it's more correct.

@greeny
Copy link
Owner

greeny commented May 15, 2021

To be honest, I'm not sure.

Decimals should be consistent across the whole website (so 2 at the moment).

For locale, I intentionally didn't use Intl, as I think having it consistent on screenshots and (future) exports is better than doing i18n on a website that uses english everywhere anyway.

As this will be changed in the future with settings, I'm not sure if there's a need to "waste" time with this PR, making it behave similarly, as there will be bigger change anyway (see #49). If you want to, you can prepare a fix for decimal places from 5 to 2 + reusing that function to format numbers in production tool. However as said previously, it'll be changed "soon" anyway, so not sure if that's worth your time.

@IanKemp
Copy link
Author

IanKemp commented May 16, 2021

But when is #49 going to be merged? It's been open since December and was last pushed to in March, but nothing since then. Also it targets the dev branch not u4-dev.

@greeny
Copy link
Owner

greeny commented May 16, 2021

It was opened when u4-dev didn't exist. Also my next goal is merging u4-dev into dev with some code to handle localstorage migration, so eventually we'll get back to having only dev.

Work on #49 is slow, as it's rewriting the whole app, but it's ongoing, a lot of changes are also local without being pushed. I can't really give you any estimation unfortunately. There's also a v2 of API in works, which will also opensource API and also require a lot of frontend changes.

@IanKemp
Copy link
Author

IanKemp commented May 16, 2021

Not asking for an estimation, just that long-lived branches that aren't merged generally worry me. :) You seem to have a plan, so I'll leave you to it, but if there's anything I can help with let me know - I'm a C#/TS/JS dev but can pick up Angular if necessary.

@IanKemp IanKemp closed this May 16, 2021
@greeny
Copy link
Owner

greeny commented May 16, 2021

well currently I'm thinking of reusing parts of the code in the #49 branch for the v2, which would start from scratch instead of trying to rewrite existing app, that way we could start testing stuff much earlier and wouldn't have to be complete switch. There's also the problem that I currently have very limited time due to a few other projects I'm working on. I'm hoping that in following weeks I'll have more time and start moving this closer to v2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants