Commit Graph
283 Commits
Author SHA1 Message Date
Arvids Godjuks 0c63852a2c Merge branch 'master' into feature/instance-version-2 2024-09-03 02:09:28 +03:00
Cooldude2606 08c522429b Implemented configDir for outDir 2024-08-16 07:00:08 +02:00
Cooldude2606 02df956f6c Fix breaking change introduced in v5.5
https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#simplified-reference-directive-declaration-emit
2024-08-16 07:00:08 +02:00
Cooldude2606 1f47f6dfc9 Update all pages to use PageHeader 2024-06-14 19:20:07 +02:00
Danielv123 51657bea44 Extend PageHeader for plugins
My plugins used the antd pageheader more than base did. I did not notice that these features dissappeared when we migrated from antd to our own implementation - this brings them back
2024-06-14 19:19:42 +02:00
Cooldude2606 2c2521a688 Add error tests for sendEvent and sendRequest (#638) 2024-06-07 15:46:49 +01:00
Danielv123 2dbf264d46 Add bun compatibility 2024-05-24 17:25:29 +01:00
Danielv123 e3ab71a2e9 Fix broken types
Some time between antd 5.15.0 and 5.17.3 they moved around some types, which caused our builds to break. This fixes the issue.
2024-05-21 19:08:15 +01:00
Danielv123 eb78cdc322 Allow declaring custom config input components for objects
Input components allow us to customize the config field editing experience in plugins, but due to an oversight this did not include object definitions.
2024-05-18 20:57:46 +01:00
Danielv123 8705377232 Add typebox dependency 2024-05-18 20:57:16 +01:00
Danielv123 692075df1d Add useInstanceConfig hook
Currently the web interface implements configs by pulling the state directly in the components where they are used. I need to access the instance config for a plugin, which would require me to duplicate parts of the instance config retrival code.
Instead, I implement it here under lib. This allows 3rd party consumers to get immediate access if we decide to implement a subscription model for configs in the future.
2024-05-18 20:57:16 +01:00
Daniel 7489a76d4a Merge pull request #602 from Danielv123/react-to-drag-and-drop
React to drag and drop
2024-05-18 17:57:31 +02:00
Danielv123 c6abe29e89 Correctly disable dropzone when host is offline 2024-05-18 10:27:40 +01:00
Danielv123 05b697fd24 Prevent dropping files outside of dropzones 2024-05-15 19:43:40 +01:00
Danielv123 e3753f292b Show current factorio version on instance page 2024-05-15 09:50:39 +01:00
CCpersonguy b57c419769 Version should disappear first on narrow windows 2024-05-15 09:50:39 +01:00
CCpersonguy 3d3276b02c fix lint errors 2024-05-15 09:50:39 +01:00
CCpersonguy 8a57d9b5f6 display Factorio version in Instances web UI 2024-05-15 09:50:39 +01:00
Cooldude2606 b9e9a754b8 Change all workspace versions to workspace:* (#621) 2024-05-08 20:38:05 +01:00
Danielv123 b6113a1007 Merge branch 'master' into react-to-drag-and-drop 2024-05-04 20:49:29 +02:00
Danielv123 c34a13b3e4 Use global drag and drop hint overlay 2024-05-04 20:31:36 +02:00
Danielv123 920b5c1655 Merge branch 'master' into react-to-drag-and-drop 2024-05-04 15:55:33 +02:00
Hornwitser 464d588b5e v2.0.0-alpha.18 2024-04-28 19:14:27 +02:00
Hornwitser 4e1116ae2d Gracefully handle bad mod setting types in Web UI
Make sure all cobinations of missmatched types and missing mod settings
are gracefully handled by the Web UI.

Fixes #609.
2024-04-28 16:59:03 +02:00
Cooldude2606 5dcc66034b Fix possible undefined title error (#605) 2024-03-06 18:11:45 +01:00
Danielv123 b70feb37f2 Show table overlay when dragging and dropping saves/mods 2024-02-26 22:04:37 -06:00
Danielv123 ebf6536374 Change style of mod upload button on drag and drop 2024-02-26 22:03:47 -06:00
Hornwitser 5f85c0575e v2.0.0-alpha.17 2024-02-12 17:54:48 +01:00
Hornwitser abcbf3fddc Add pagination to saves list (#592)
Prevent the saves list from pushing the console and config off the
screen by turning on the pagination for it.
2024-02-12 17:24:00 +01:00
Cooldude2606 e5a4d51c86 Merge pull request #590 from Hornwitser/bugfixes-3
Bugfixes 3
2024-02-11 23:01:43 +00:00
Hornwitser 97e615fc21 Merge pull request #584 from Hornwitser/build-rework
Build rework
2024-02-11 22:14:35 +01:00
Danielv123 3cddd2b9f8 Export Link component for use by plugins 2024-02-10 16:33:22 +03:00
Danielv123 8879f8dd80 Replaced react Link with custom component
The custom component merges the behaviour of antd Typography.Link and the react-router.dom Link after the custom component prop was removed in v6 according to this guide: https://reactrouter.com/en/main/upgrading/v5#remove-link-component-prop
2024-02-09 09:11:53 +03:00
Danielv123 89919f7a89 Fix inconsistent indentation 2024-02-09 06:49:17 +03:00
Danielv123 e2da9ac03d Make role tag in users table clickable
As per issue #572
2024-02-09 06:30:43 +03:00
Danielv123 bcda88710e Make host name in instance list clickable
As per issue #572
2024-02-08 20:50:14 +03:00
Danielv123 d6b0e88dda Make host name on instance page clickable 2024-02-08 20:49:33 +03:00
Hornwitser 96082e32b7 Replace deprecated usage of Select bordered 2024-02-08 15:25:06 +01:00
Hornwitser ebb93ada94 Replace babel and ts-loader with swc
Build and minify the Web UI using swc instead of babel, tsc and terser.
This results in a significant speedup of the build process as it skips
checking types and uses native code to do the minification.

To prevent accidental type errors being introduced the TypeScript
compiler is still used to perform type checking on the Web UI files.

Due to peer dependency resolving shenanigans the swc/core package had to
be added to the workspace, controller and web_ui to avoid pnpm creating
a duplicate install of webpack that break the build.
2024-02-08 04:57:19 +01:00
Hornwitser 597d080d71 Add tsconfig.json that references both builds
Add back unqualified tsconfig.json files to each package that references
both the Node.js build and the browser build.  This makes tsc --build
compile both builds when the variant to do is not specified.
2024-02-08 03:20:26 +01:00
Hornwitser 152eb7d454 Move TypeScript browser build to dist/browser
Use dist/browser as the output of the browser oriented TypeScript build
of packages instead of dist/web/build.  This distinguishes it better
from the Web UI bundle which is put together with webpack.
2024-02-07 18:35:05 +01:00
Hornwitser 8e5d581b9b Move tsconfig.web.json to tsconfig.browser.json
Rename the config files for the browser build of modules to better
communicate that it's purpose is to compile code for a browser
environment rather than the Web UI in particular.  This also aligns with
the "browser" option in package.json, the existing browser.ts entrypoint
in lib, and how the browser environment is typically referred to.
2024-02-07 17:42:39 +01:00
Hornwitser 6bf2bf51f2 Remove deprecated showArrow prop
Ant design has deprecated the Select's showArrow prop.  It's now always
shown by default.
2024-02-06 22:43:04 +01:00
Hornwitser 44b0a8ff83 Throw error on bad permission check in Wed UI
Throw an error if an attempt is made to check for a permission that does
not exist in the Web UI to prevent future bad permission checks going
unnoticed.
2024-02-06 22:43:04 +01:00
Hornwitser d3f8c993b1 Fix bad permission checks in Web UI
Fix attempts to check for permissions that don't exist in the Web UI
that has gone unnoticed because the check still succeeds when the
account has the cluster admin permission.
2024-02-06 22:43:04 +01:00
Hornwitser 535e43b527 Rename save.list.subscribe permission
Follow the same pattern as all the other subscribable lists by having a
separate .list and .subscribe permissions for saves.  This also fixes
the save list not being visible due to a typo in the permission in the
Web UI.
2024-02-06 22:43:04 +01:00
Hornwitser 2df67e32da Set key for top level page fragment
Without a unique per page key set react will try to reuse the existing
state and components of the previous page and update them to match the
new page.  This causes unexpected behaviour as components get turned
into into a Frankenstein abomination of the previous page and the
current one fused into one.

Fix by setting a key on the top level fragment of the page which in turn
forces React to re-render the whole page whenever the user switches to
another page.
2024-02-06 22:43:04 +01:00
Hornwitser 6b85567bc6 Provide theme to top level ErrorBoundary
If the theme is not provided then the App's ErrorBoundary will render
white text on white background, and vice versa for black.
2024-02-06 22:43:04 +01:00
Hornwitser c2b6a6e1c0 v2.0.0-alpha.16 2024-01-26 13:04:07 +01:00
Hornwitser 7d6eac6558 v2.0.0-alpha.15 2024-01-24 04:40:21 +01:00