Adjusted for production build

*Fixed assets paths not taking %PUBLIC_URL% into account
*Updated README.md
-Removed redundant leaflet leftovers in index.html
This commit is contained in:
izawartka 2025-06-17 12:15:44 +02:00
parent 5012de4d74
commit 886da1be1a
7 changed files with 16 additions and 17 deletions

View File

@ -1,12 +1,17 @@
# td2-visualizer # td2-visualizer
Narzędzie do przeglądania scenerii Train Driver 2 w przeglądarce. Narzędzie do przeglądania plików scenerii symulatora Train Driver 2 (.SC) w przeglądarce. Umożliwia szybkie podejrzenie układu torowego dowolnej scenerii, jej szlaków zewnętrzych, semaforów, wskaźników, spawnów, numerów rozjazdów i wiele więcej
Przed załadowaniem pliku scenerii, najpierw przekonwertuj go do lżejszego formatu używając skryptu `tools/scp.py`.
A tool for viewing Train Driver 2 scenery files in the browser. A tool for viewing Train Driver 2 simulator scenery files (.SC) in the browser. It allows for quick lookup of the track layout of any scenery, its external routes, signals, signs, spawns, switch numbers, and much more
Before loading a scenery file, make sure to first convert it to lightweight format using `tools/scp.py` script.
WIP #
## Online demo
Wersja online może nie zawsze być aktualna<br>
The online version may not always be up to date
https://maseuko.pl/soft/td2-visualizer-2/
## Author ## Author

View File

@ -5,13 +5,7 @@
<link rel="icon" href="%PUBLIC_URL%/favicon.png" /> <link rel="icon" href="%PUBLIC_URL%/favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" /> <meta name="theme-color" content="#000000" />
<title>Visualizer2</title> <title>TD2 Visualizer</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
crossorigin=""></script>
</head> </head>
<body> <body>
<noscript>You need to enable JavaScript to run this app.</noscript> <noscript>You need to enable JavaScript to run this app.</noscript>

View File

@ -16,7 +16,7 @@ export default function RouteRenderer(props) {
<g className="route" transform={`translate(${x}, ${y}) rotate(${object.rot.y})`}> <g className="route" transform={`translate(${x}, ${y}) rotate(${object.rot.y})`}>
<g transform={`rotate(90) translate(-80, ${arrowOffset})`}> <g transform={`rotate(90) translate(-80, ${arrowOffset})`}>
<ReactSVG <ReactSVG
src="/assets/route.svg" src={`${process.env.PUBLIC_URL}/assets/route.svg`}
wrapper='svg' wrapper='svg'
beforeInjection={(svg) => { beforeInjection={(svg) => {
svg.setAttribute('width', '20mm'); svg.setAttribute('width', '20mm');

View File

@ -15,7 +15,7 @@ export default function SignRenderer(props) {
return ( return (
<g className="sign" transform={`translate(${x}, ${y}) rotate(${rot}) translate(${offX}, ${offY})`}> <g className="sign" transform={`translate(${x}, ${y}) rotate(${rot}) translate(${offX}, ${offY})`}>
<ReactSVG <ReactSVG
src={`/assets/signs/${object.def.icon}`} src={`${process.env.PUBLIC_URL}/assets/signs/${object.def.icon}`}
wrapper='svg' wrapper='svg'
beforeInjection={(svg) => { beforeInjection={(svg) => {

View File

@ -15,7 +15,7 @@ export default function SignalBoxRenderer(props) {
<g className="signalbox" transform={`translate(${x}, ${y}) rotate(${rot}) `}> <g className="signalbox" transform={`translate(${x}, ${y}) rotate(${rot}) `}>
<g className="signalbox-icon" transform={`translate(-4.725, -4.725)`}> <g className="signalbox-icon" transform={`translate(-4.725, -4.725)`}>
<ReactSVG <ReactSVG
src={`/assets/signalboxes/${object.def.icon}`} src={`${process.env.PUBLIC_URL}/assets/signalboxes/${object.def.icon}`}
wrapper='svg' wrapper='svg'
beforeInjection={(svg) => { beforeInjection={(svg) => {

View File

@ -14,7 +14,7 @@ export default function SignalRenderer(props) {
<g className="signal" transform={`translate(${x}, ${y}) rotate(${object.rot.y}) `}> <g className="signal" transform={`translate(${x}, ${y}) rotate(${object.rot.y}) `}>
<g className="signal-icon" transform={`translate(-1.89, -1.89)`}> <g className="signal-icon" transform={`translate(-1.89, -1.89)`}>
<ReactSVG <ReactSVG
src="/assets/signal.svg" src={`${process.env.PUBLIC_URL}/assets/signal.svg`}
wrapper='svg' wrapper='svg'
beforeInjection={(svg) => { beforeInjection={(svg) => {

View File

@ -13,7 +13,7 @@ export default function SideMenuToggle() {
<div className='side-menu-toggle'> <div className='side-menu-toggle'>
<button onClick={toggleSideMenu} className='invis-button'> <button onClick={toggleSideMenu} className='invis-button'>
<ReactSVG <ReactSVG
src="/assets/side-menu.svg" src={`${process.env.PUBLIC_URL}/assets/side-menu.svg`}
/> />
</button> </button>
</div> </div>