Add support for running the build react map.

https://github.com/dcs-liberation/dcs_liberation/issues/2039
This commit is contained in:
Dan Albert 2022-03-06 00:47:40 -08:00
parent 3c9acea31c
commit 8165d3bd8c
6 changed files with 14 additions and 5 deletions

View File

@ -50,6 +50,11 @@ jobs:
cd client
npm ci
- name: Build client
run: |
cd client
npm run build
- name: Build binaries
run: |
./venv/scripts/activate

View File

@ -4,6 +4,7 @@
"private": true,
"main": "main.js",
"license": "LGPL-3.0-or-later",
"homepage": ".",
"dependencies": {
"@reduxjs/toolkit": "^1.7.2",
"@testing-library/jest-dom": "^5.16.2",

View File

@ -11,6 +11,7 @@ analysis = Analysis(
('resources', 'resources'),
('resources/caucasus.p', 'dcs/terrain/'),
('resources/nevada.p', 'dcs/terrain/'),
('client/build', 'client/build'),
],
hookspath=[],
runtime_hooks=[],

View File

@ -152,7 +152,7 @@ def run_ui(game: Optional[Game], new_map: bool, dev: bool) -> None:
GameUpdateSignal.get_instance().game_loaded.connect(on_game_load)
# Start window
window = QLiberationWindow(game, new_map)
window = QLiberationWindow(game, new_map, dev)
window.showMaximized()
splash.finish(window)
qt_execution_code = app.exec_()

View File

@ -36,7 +36,7 @@ class LoggingWebPage(QWebEnginePage):
class QLiberationMap(QWebEngineView):
def __init__(self, game_model: GameModel, new_map: bool, parent) -> None:
def __init__(self, game_model: GameModel, new_map: bool, dev: bool, parent) -> None:
super().__init__(parent)
self.game_model = game_model
self.setMinimumSize(800, 600)
@ -53,8 +53,10 @@ class QLiberationMap(QWebEngineView):
)
self.page.setWebChannel(self.channel)
if new_map:
if new_map and dev:
url = QUrl("http://localhost:3000")
elif new_map:
url = QUrl.fromLocalFile(str(Path("client/build/index.html").resolve()))
else:
url = QUrl.fromLocalFile(
str(Path("resources/ui/map/canvas.html").resolve())

View File

@ -54,7 +54,7 @@ class QLiberationWindow(QMainWindow):
tgo_info_signal = Signal(TheaterGroundObject)
control_point_info_signal = Signal(ControlPoint)
def __init__(self, game: Optional[Game], new_map: bool) -> None:
def __init__(self, game: Optional[Game], new_map: bool, dev: bool) -> None:
super().__init__()
self._uncaught_exception_handler = UncaughtExceptionHandler(self)
@ -79,7 +79,7 @@ class QLiberationWindow(QMainWindow):
Dialog.set_game(self.game_model)
self.ato_panel = QAirTaskingOrderPanel(self.game_model)
self.info_panel = QInfoPanel(self.game)
self.liberation_map = QLiberationMap(self.game_model, new_map, self)
self.liberation_map = QLiberationMap(self.game_model, new_map, dev, self)
self.setGeometry(300, 100, 270, 100)
self.updateWindowTitle()