Dan Albert
6ee235545f
Clean up leaflet polygon API surface.
2022-03-06 23:25:25 -08:00
Dan Albert
15176223fa
Add navmesh support to the new map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-06 23:07:24 -08:00
Dan Albert
b08b91ca2e
Fix flight plan updates when waypoints are moved.
...
The store serializes everything; we can't store references.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2055
2022-03-06 22:18:36 -08:00
Dan Albert
0afe1f69d4
Don't dispatch flight position updates when empty.
2022-03-06 22:03:38 -08:00
Dan Albert
6f21067ddb
Fix lint error, add lint script.
2022-03-06 21:59:44 -08:00
Dan Albert
ccce801dc4
Add missing TGO click handlers.
...
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2056
2022-03-06 21:57:40 -08:00
Dan Albert
dc4762a03b
Add threat zone support to the new map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-06 19:32:30 -08:00
Dan Albert
30aebf2546
Replace api.ts with auto-generated API.
...
All the slices will come later.
2022-03-06 18:23:52 -08:00
Dan Albert
2310ef0f80
Auto-generate API hooks for the backend.
2022-03-06 18:18:53 -08:00
Dan Albert
de284c2bf6
Add tooling/docs for auto-generating API hooks.
2022-03-06 18:18:35 -08:00
Dan Albert
904602510d
Remove API key auth; CORS is sufficient.
...
The React UI running in a browser can't connect to the backend without
punching a hole for CORS, which isn't done by default. We don't need the
API key to protect from browsers, and anything else running on the
user's machine that can access the backend (that's hosted on only
localhost) already has enough control to do damage without using
Liberation as an attack vector.
https://github.com/dcs-liberation/dcs_liberation
2022-03-06 01:57:12 -08:00
Dan Albert
8165d3bd8c
Add support for running the build react map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-06 01:53:22 -08:00
Dan Albert
17f2f007d2
Copy open source licenses into the distribution.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-06 01:34:53 -08:00
Dan Albert
7e213dbfbe
Add license checking to npm ci.
...
These are all the licenses we currently depend on.
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-06 01:33:33 -08:00
Dan Albert
fcb897a0e8
Uninstall @types/axios.
...
Axios ships types by default now so we don't need this.
2022-03-06 01:02:09 -08:00
Dan Albert
5230591dc2
Add npm ci to GitHub actions.
...
Formatting currently being forced to preserve line endings because for
whatever reason that's only causing problems in CI.
2022-03-06 00:59:58 -08:00
Dan Albert
738cf1f381
Reset game state on new turn.
...
This may not be the way to do this long term, but it is how the old map
works so it's at least not a regression. It might be better to generate
events for the between-turn changes in state instead.
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-06 00:02:25 -08:00
Dan Albert
73fcfcec7b
Handle map reset when the game is loaded/unloaded.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
Partial fix for
https://github.com/dcs-liberation/dcs_liberation/issues/2045 (now works
in the new map, old one not fixed yet).
2022-03-05 18:02:46 -08:00
Dan Albert
995e28cb32
Support mobile CPs in the new map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-05 15:41:58 -08:00
Dan Albert
b4edd5d841
Draw commit boundaries in the new map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-05 02:23:14 -08:00
Dan Albert
35df036eb8
Fix flight position update performance.
...
dispatch is expensive when called in a loop because each call
re-renders. Doing more work per dispatch causes fewer renders.
https://redux.js.org/style-guide/style-guide#avoid-dispatching-many-actions-sequentially
2022-03-05 00:42:22 -08:00
Dan Albert
05fbdae54c
Remove redux-logger middleware.
...
https://github.com/reduxjs/redux-devtools does the same thing better
without spamming the log.
2022-03-05 00:39:26 -08:00
Dan Albert
b6457ae434
Un-split the flight data by coalition.
...
This made one callsite cleaner at the expense of the others and the
state management.
2022-03-04 19:54:41 -08:00
Dan Albert
59f734dd07
Draw frozen combat in the new UI.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-04 19:41:33 -08:00
Dan Albert
88cd9e19c5
Draw aircraft locations in the new map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-04 18:34:01 -08:00
Dan Albert
980d8f3092
Fix mistake introduced in previous commit.
...
Debugging code incorrectly reverted.
2022-03-04 02:23:42 -08:00
Dan Albert
811f46c289
Draggable waypoints with timing info.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-04 02:21:22 -08:00
Dan Albert
6933470ce0
Respond to ATO changes in the new UI.
2022-03-04 00:46:44 -08:00
Dan Albert
cba39df5da
Handle to front line events in the new UI.
2022-03-04 00:37:31 -08:00
Dan Albert
fef123c2d4
Add redux-logger.
...
This automatically logs state changes (in a readable form) to the js
console. We'll probably want to turn this off in production to cut down
on log noise.
2022-03-04 00:24:31 -08:00
Dan Albert
a710ce5e1b
Run prettier across the react source.
2022-03-03 23:34:18 -08:00
Dan Albert
13ca5352c7
Add import sorting to prettier.
2022-03-03 23:32:57 -08:00
Dan Albert
92236a5bc3
Update the react map for some new events.
2022-03-03 23:31:07 -08:00
Dan Albert
4539e91fa9
Add missing keys to list components.
2022-03-03 21:51:47 -08:00
Dan Albert
79b471b41c
Remove CSS that was messing with text alignment.
...
This was added by create-react-app. We're not using it any more.
2022-03-02 23:57:05 -08:00
Dan Albert
f9f18dd38b
Fix drawing of non-path waypoints.
2022-03-02 23:53:16 -08:00
Dan Albert
781f8fb0e8
Fix a few display discrepancies in the new map.
2022-03-02 23:44:46 -08:00
Dan Albert
b39a44ae37
Draw front lines on the react map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-02 23:33:15 -08:00
Dan Albert
9a2c10a98f
Draw supply routes on the react map.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-02 23:14:05 -08:00
Dan Albert
0bdb4ac894
Draw air defense threat/detection ranges.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-02 21:51:16 -08:00
Dan Albert
64b01c471b
Partial implementation of TGO display.
...
No threat/detection circles yet.
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-02 01:01:33 -08:00
Dan Albert
1cd77a4a77
Fix display of control points.
...
Apparently redux state objects *must* be objects.
2022-03-01 23:39:49 -08:00
Dan Albert
dba2699b7e
Add missing controls for flight plan layers.
2022-03-01 23:31:46 -08:00
Dan Albert
78b080063e
Add layer control.
...
This isn't the grouped layer control that we have in the non-react map.
The react variant of that hasn't been updated in years and won't work
with our base maps (and may not work at all). We'll need to fix that or
write our own if we want to use that. This will do for now though.
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-01 23:25:02 -08:00
Dan Albert
98c36c8b03
Remove default zoom control, add map scale.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-01 23:09:55 -08:00
Dan Albert
aac333e132
Draw waypoint markers for the selected flight.
...
https://github.com/dcs-liberation/dcs_liberation/issues/2039
2022-03-01 23:06:03 -08:00
Dan Albert
030675812e
Cite the websocket tutorial I used for reference.
...
This was tricky to work out and most of the tutorials were bad. This one
was good, so keep a link around in case we need the reference again.
2022-03-01 21:25:32 -08:00
Dan Albert
8e8bbe84f3
Add websocket handling for selected flights.
2022-03-01 21:08:08 -08:00
Dan Albert
6d29bfdf65
Fix game state on refresh.
...
There was accidentally a second layer of callback here. I'm not sure why
it worked. I think the lambda being returned was being used as the
cleanup function?
2022-03-01 20:46:32 -08:00
Dan Albert
625f36c780
More cleanup.
2022-03-01 01:14:21 -08:00