Compare commits
359 Commits
v0.1.0-alp
...
v0.4.0-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c3b4c4ae36 | ||
|
|
fd7f4b9772 | ||
|
|
bac2c430ef | ||
|
|
3f1c9942c3 | ||
|
|
80ed675cbc | ||
|
|
6d434e48a1 | ||
|
|
7961870ac4 | ||
|
|
0150ae9df1 | ||
|
|
875f3ebe68 | ||
|
|
3fac8a5663 | ||
|
|
3c11e1c2a1 | ||
|
|
81871b596b | ||
|
|
8ffd5ef972 | ||
|
|
4ae72b7c0b | ||
|
|
5613394a2c | ||
|
|
2e113b468a | ||
|
|
018e37cd2a | ||
|
|
1d5f24dc1a | ||
|
|
cbb8920de7 | ||
|
|
7eb6cadc4e | ||
|
|
a4db569fbd | ||
|
|
e9a3ecb9eb | ||
|
|
785647ad24 | ||
|
|
72cd4de55f | ||
|
|
e882123692 | ||
|
|
a949a9bf22 | ||
|
|
75c897eb5b | ||
|
|
b48f74f879 | ||
|
|
c6eeeac7c1 | ||
|
|
9c1edd2a86 | ||
|
|
133c447d5d | ||
|
|
b78cd27e4e | ||
|
|
5d29c82244 | ||
|
|
f379f6b998 | ||
|
|
439111f7a0 | ||
|
|
55372d5a5b | ||
|
|
13e3b93e93 | ||
|
|
7a6929e34b | ||
|
|
a0763a6450 | ||
|
|
2d4202979f | ||
|
|
327d5c74d9 | ||
|
|
3bad83a02f | ||
|
|
eee97294df | ||
|
|
56427d84ad | ||
|
|
fc1983d554 | ||
|
|
30568e54f7 | ||
|
|
1af98cc54f | ||
|
|
fb3a628ad0 | ||
|
|
79b0eeae9e | ||
|
|
3b2757a022 | ||
|
|
fa9f1e05ea | ||
|
|
fff0c8244e | ||
|
|
5777632114 | ||
|
|
d013337c5e | ||
|
|
ec91376da2 | ||
|
|
807cdfeb5b | ||
|
|
9f6da4845a | ||
|
|
211cf48681 | ||
|
|
4d9dd364b6 | ||
|
|
52dfcebc14 | ||
|
|
2bce51fca6 | ||
|
|
3a2048f3ec | ||
|
|
63e602afb1 | ||
|
|
7a71065b76 | ||
|
|
1989219579 | ||
|
|
dd2e858db4 | ||
|
|
916752301a | ||
|
|
1d62b4c115 | ||
|
|
258f1136e2 | ||
|
|
9d0e2239e4 | ||
|
|
5555c44c4e | ||
|
|
f80a91ca1e | ||
|
|
61d6d9f16c | ||
|
|
635c487c2b | ||
|
|
f9f02c3eb0 | ||
|
|
ad3b1cb167 | ||
|
|
ca7c52ff67 | ||
|
|
feae9a4806 | ||
|
|
6c24533393 | ||
|
|
4f2debeb4f | ||
|
|
27b56deb45 | ||
|
|
1d4ecf5316 | ||
|
|
fd00cffa15 | ||
|
|
ab3a017b55 | ||
|
|
f84ff1c7b2 | ||
|
|
1d20a3b017 | ||
|
|
dca3438db0 | ||
|
|
6c52f4de59 | ||
|
|
d508263f9e | ||
|
|
ec0b179e32 | ||
|
|
0bc2fc592f | ||
|
|
601cf35556 | ||
|
|
156c730352 | ||
|
|
83f87f1e16 | ||
|
|
1dd4014e61 | ||
|
|
ed2a9d9155 | ||
|
|
bf006e725a | ||
|
|
4087dbde21 | ||
|
|
982ff838a6 | ||
|
|
8d2583264e | ||
|
|
2db035457c | ||
|
|
7989ec2ca5 | ||
|
|
9d4f55a157 | ||
|
|
a56db1bdfe | ||
|
|
64ff5ce539 | ||
|
|
45bb49cfe1 | ||
|
|
669ec358ac | ||
|
|
3ff182e200 | ||
|
|
4b709ce33b | ||
|
|
a5a2a803c6 | ||
|
|
e6d642994c | ||
|
|
4e9eab2cce | ||
|
|
e4e9e44eea | ||
|
|
9586910f03 | ||
|
|
f26dfa5011 | ||
|
|
f9aae2bccf | ||
|
|
bdff79c725 | ||
|
|
ec872e181d | ||
|
|
1c86002ca5 | ||
|
|
3ee6c57d33 | ||
|
|
5f2f2a83dd | ||
|
|
1b0a0825e6 | ||
|
|
3009a73a66 | ||
|
|
e7ce9ac76d | ||
|
|
80a4ea1ab9 | ||
|
|
5dd9ed42b0 | ||
|
|
5c5fa928e7 | ||
|
|
2597fb659f | ||
|
|
d4d28d39ae | ||
|
|
a2664dc676 | ||
|
|
32cb147a02 | ||
|
|
05a8085e06 | ||
|
|
0392c43835 | ||
|
|
a6583cc317 | ||
|
|
bf88c9b951 | ||
|
|
9cc0058e32 | ||
|
|
9eb295d9a1 | ||
|
|
10d250e3a5 | ||
|
|
2b155c4ed3 | ||
|
|
4a93c1eead | ||
|
|
0b490e4ce2 | ||
|
|
03a8c93e9e | ||
|
|
84cca6b9d1 | ||
|
|
0f353641ed | ||
|
|
16c37a3445 | ||
|
|
25d411b1be | ||
|
|
493c75b6e7 | ||
|
|
1ca2c66b45 | ||
|
|
772c065a73 | ||
|
|
71ef292763 | ||
|
|
98a6053a85 | ||
|
|
7d3debfa7a | ||
|
|
847234633a | ||
|
|
47d9ff2e10 | ||
|
|
e69294b98c | ||
|
|
cf3cdcbd44 | ||
|
|
7545e848d6 | ||
|
|
d146a47e71 | ||
|
|
91f8996fba | ||
|
|
57b74bd1b1 | ||
|
|
865be6283c | ||
|
|
e0636b53f0 | ||
|
|
987c8ee41c | ||
|
|
e54a70ffa8 | ||
|
|
fcf1e2d94a | ||
|
|
35648b67f5 | ||
|
|
f0dc581261 | ||
|
|
7ecfc5afef | ||
|
|
e3b88d4e35 | ||
|
|
669ee510d3 | ||
|
|
b8edc500c4 | ||
|
|
dc57028a3c | ||
|
|
9eb01654c6 | ||
|
|
8539314984 | ||
|
|
cb24a19d17 | ||
|
|
bd7700efce | ||
|
|
a23bdd4b33 | ||
|
|
7427c7059c | ||
|
|
d32923ffe8 | ||
|
|
89a71ef04e | ||
|
|
640f764354 | ||
|
|
2dad717a42 | ||
|
|
ee08d9d48e | ||
|
|
bf365270ae | ||
|
|
6ec2235114 | ||
|
|
8f7071510b | ||
|
|
1f72612255 | ||
|
|
94c5765bc6 | ||
|
|
04c7fc3741 | ||
|
|
40bcd46677 | ||
|
|
ab736adabe | ||
|
|
f4fd516d92 | ||
|
|
4c3cfc608b | ||
|
|
6ae23509a6 | ||
|
|
20077417af | ||
|
|
673e00c0e8 | ||
|
|
197159fc2a | ||
|
|
1ca0029407 | ||
|
|
b72d92ffd7 | ||
|
|
e04e4b2dec | ||
|
|
35709987e7 | ||
|
|
bcc6b5b5c3 | ||
|
|
a047a04d09 | ||
|
|
f6d16944c2 | ||
|
|
ee361f12f2 | ||
|
|
14cdec9615 | ||
|
|
5cff54bfde | ||
|
|
a9e18e42d3 | ||
|
|
6ce9b2ddea | ||
|
|
06f10cd399 | ||
|
|
3124a0f6b5 | ||
|
|
090973a3d1 | ||
|
|
992b1d40c9 | ||
|
|
41be6402cd | ||
|
|
c3c84b2115 | ||
|
|
f24c57cc18 | ||
|
|
cfd98e74ea | ||
|
|
be69aeb69e | ||
|
|
79f616cf8d | ||
|
|
d77735581a | ||
|
|
77d39c17b8 | ||
|
|
3eefe441b4 | ||
|
|
e84fa7caaa | ||
|
|
a3d919bad9 | ||
|
|
8707982769 | ||
|
|
39698c66a3 | ||
|
|
b56f1ca547 | ||
|
|
4a90193426 | ||
|
|
7eee469bed | ||
|
|
316261e01e | ||
|
|
df2aef498f | ||
|
|
f4bb484c7d | ||
|
|
f4ddbbd1af | ||
|
|
c3233ad999 | ||
|
|
1f51d69126 | ||
|
|
14ae0d083f | ||
|
|
8d951410e5 | ||
|
|
7605dd26ff | ||
|
|
1b093782c3 | ||
|
|
2947d55bc5 | ||
|
|
103fcde426 | ||
|
|
3193eb0021 | ||
|
|
0456bbef52 | ||
|
|
c54c7d2d78 | ||
|
|
9c834e4072 | ||
|
|
b10522498b | ||
|
|
fd23fd3034 | ||
|
|
3aa6d27ed3 | ||
|
|
b98c392f79 | ||
|
|
071942b632 | ||
|
|
5dda45ad22 | ||
|
|
6ffcb76f03 | ||
|
|
6993650ff8 | ||
|
|
6b22c1ef63 | ||
|
|
ee6fadfb36 | ||
|
|
2f5b9d1f94 | ||
|
|
b9f32a5b82 | ||
|
|
6f64bd1622 | ||
|
|
ff20eec472 | ||
|
|
9c9d53f3fb | ||
|
|
b4e34bf9e4 | ||
|
|
73a539bf94 | ||
|
|
ac44c208a8 | ||
|
|
04618cb247 | ||
|
|
3bdba116e8 | ||
|
|
ea94d8ac24 | ||
|
|
ab51a76075 | ||
|
|
cae9b16d97 | ||
|
|
ee6537de7c | ||
|
|
efae7c23ff | ||
|
|
df79f6577b | ||
|
|
14147168f9 | ||
|
|
b1d14932da | ||
|
|
6c049af18a | ||
|
|
6a1bb18a3f | ||
|
|
ebb410a192 | ||
|
|
911a81169b | ||
|
|
658efe3daf | ||
|
|
da008c220d | ||
|
|
99ce8469bd | ||
|
|
d86a250575 | ||
|
|
d19b277184 | ||
|
|
40a36846d2 | ||
|
|
51a78cbaf2 | ||
|
|
25d0f031d5 | ||
|
|
b332b2a75b | ||
|
|
d8237d1e9a | ||
|
|
8ad25a32c0 | ||
|
|
eb97588ffa | ||
|
|
0f2d9feba5 | ||
|
|
0fa3f36351 | ||
|
|
4e6f8c4805 | ||
|
|
8ec2678e66 | ||
|
|
a6eaacea11 | ||
|
|
d549898428 | ||
|
|
191021befe | ||
|
|
4c46db12fb | ||
|
|
a5ee5b0ad5 | ||
|
|
eaacbb417c | ||
|
|
1e8c9ed401 | ||
|
|
f3b872f89c | ||
|
|
13d49e6b5f | ||
|
|
61dd9924bf | ||
|
|
ab01003ae6 | ||
|
|
c519777f5e | ||
|
|
735e257900 | ||
|
|
c30c88ad61 | ||
|
|
49ded7f039 | ||
|
|
1f2887c75a | ||
|
|
3b5ea9c050 | ||
|
|
bd9eb4b827 | ||
|
|
eeace17da9 | ||
|
|
fd8f5aa959 | ||
|
|
c8d809c3e7 | ||
|
|
01852518b7 | ||
|
|
4b1a4e03f3 | ||
|
|
4959df98f6 | ||
|
|
43dcb097ed | ||
|
|
f1344b600c | ||
|
|
b980431aed | ||
|
|
73d037a79a | ||
|
|
b3c1cbdba5 | ||
|
|
2212162239 | ||
|
|
3833102216 | ||
|
|
b24f706582 | ||
|
|
2d47b93445 | ||
|
|
09057c5d39 | ||
|
|
bdf520723b | ||
|
|
7a2d7ce526 | ||
|
|
839bf68f6e | ||
|
|
7f77adf6c7 | ||
|
|
f0e5d83e73 | ||
|
|
ca3ce60ac7 | ||
|
|
79d8ca260a | ||
|
|
e8a476e1c7 | ||
|
|
298856f318 | ||
|
|
5e525a2e5c | ||
|
|
22c6d06a6f | ||
|
|
bf396edd2b | ||
|
|
5a3a14f546 | ||
|
|
9f5ddf8f79 | ||
|
|
7d25c26324 | ||
|
|
218a8dc3f0 | ||
|
|
dd7d54603f | ||
|
|
5033cccda0 | ||
|
|
314fd2a565 | ||
|
|
764064fc0d | ||
|
|
fa03e9dbd8 | ||
|
|
d87139b619 | ||
|
|
eaddb72857 | ||
|
|
7f0d3e0379 | ||
|
|
3c0db70bfe | ||
|
|
2a8ab0f8cf | ||
|
|
7f237bf8b8 | ||
|
|
d9234f9c5f | ||
|
|
4c6d445c4a | ||
|
|
880ce3919d | ||
|
|
b489659ddd | ||
|
|
f8344b1662 |
@@ -1,7 +0,0 @@
|
|||||||
RTB
|
|
||||||
tanker
|
|
||||||
scenario dropdown
|
|
||||||
explosion
|
|
||||||
wrong name for ground units
|
|
||||||
improve map zIndex
|
|
||||||
human symbol if user
|
|
||||||
@@ -2,10 +2,14 @@ var express = require('express');
|
|||||||
var path = require('path');
|
var path = require('path');
|
||||||
var cookieParser = require('cookie-parser');
|
var cookieParser = require('cookie-parser');
|
||||||
var logger = require('morgan');
|
var logger = require('morgan');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
var indexRouter = require('./routes/index');
|
var atcRouter = require('./routes/api/atc');
|
||||||
var uikitRouter = require('./routes/uikit');
|
var airbasesRouter = require('./routes/api/airbases');
|
||||||
var usersRouter = require('./routes/users');
|
var indexRouter = require('./routes/index');
|
||||||
|
var uikitRouter = require('./routes/uikit');
|
||||||
|
var usersRouter = require('./routes/users');
|
||||||
|
var resourcesRouter = require('./routes/resources');
|
||||||
|
|
||||||
var app = express();
|
var app = express();
|
||||||
|
|
||||||
@@ -16,20 +20,23 @@ app.use(cookieParser());
|
|||||||
app.use(express.static(path.join(__dirname, 'public')));
|
app.use(express.static(path.join(__dirname, 'public')));
|
||||||
|
|
||||||
app.use('/', indexRouter);
|
app.use('/', indexRouter);
|
||||||
|
app.use('/api/atc', atcRouter);
|
||||||
|
app.use('/api/airbases', airbasesRouter);
|
||||||
app.use('/users', usersRouter);
|
app.use('/users', usersRouter);
|
||||||
app.use('/uikit', uikitRouter);
|
app.use('/uikit', uikitRouter);
|
||||||
|
app.use('/resources', resourcesRouter);
|
||||||
|
|
||||||
app.set('view engine', 'ejs');
|
app.set('view engine', 'ejs');
|
||||||
|
|
||||||
|
let rawdata = fs.readFileSync('../olympus.json');
|
||||||
|
let config = JSON.parse(rawdata);
|
||||||
|
if (config["server"] != undefined)
|
||||||
|
app.get('/config', (req, res) => res.send(config["server"]));
|
||||||
|
|
||||||
module.exports = app;
|
module.exports = app;
|
||||||
|
|
||||||
const DemoDataGenerator = require('./demo.js');
|
const DemoDataGenerator = require('./demo.js');
|
||||||
|
var demoDataGenerator = new DemoDataGenerator(app);
|
||||||
var demoDataGenerator = new DemoDataGenerator(10);
|
|
||||||
|
|
||||||
app.get('/demo/units', (req, res) => demoDataGenerator.units(req, res));
|
|
||||||
app.get('/demo/logs', (req, res) => demoDataGenerator.logs(req, res));
|
|
||||||
app.get('/demo/bullseyes', (req, res) => demoDataGenerator.bullseyes(req, res));
|
|
||||||
app.get('/demo/airbases', (req, res) => demoDataGenerator.airbases(req, res));
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
3
client/copy.bat
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
copy .\\node_modules\\leaflet\\dist\\leaflet.css .\\public\\stylesheets\\leaflet\\leaflet.css
|
||||||
|
copy .\\node_modules\\leaflet.nauticscale\\dist\\leaflet.nauticscale.js .\\public\\javascripts\\leaflet.nauticscale.js
|
||||||
|
copy .\\node_modules\\leaflet-path-drag\\dist\\L.Path.Drag.js .\\public\\javascripts\\L.Path.Drag.js
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
start cmd /k "npm run start"
|
start cmd /k "npm run start"
|
||||||
start cmd /k "watchify .\src\index.ts --debug -p [ tsify --noImplicitAny ] -o .\public\javascripts\bundle.js"
|
start cmd /k "watchify .\src\index.ts --debug -o .\public\javascripts\bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ]
|
||||||
|
|||||||
900
client/demo.js
@@ -1,536 +1,343 @@
|
|||||||
|
var basicAuth = require('express-basic-auth')
|
||||||
|
var enc = new TextEncoder();
|
||||||
|
|
||||||
const DEMO_UNIT_DATA = {
|
const DEMO_UNIT_DATA = {
|
||||||
["1"]:{
|
["1"]:{ category: "Aircraft", alive: true, human: false, controlled: true, coalition: 2, country: 0, name: "KC-135", unitName: "Cool guy 1-1 who also has a very long name", groupName: "Cool group 1", state: 3, task: "Being cool!",
|
||||||
baseData: {
|
hasTask: true, position: { lat: 37, lng: -116, alt: 1000 }, speed: 200, heading: 45, isTanker: true, isAWACS: false, onOff: true, followRoads: false, fuel: 50,
|
||||||
AI: true,
|
desiredSpeed: 300, desiredSpeedType: 1, desiredAltitude: 1000, desiredAltitudeType: 1, leaderID: 0,
|
||||||
name: "F-5E",
|
formationOffset: { x: 0, y: 0, z: 0 },
|
||||||
unitName: "Olympus 1-1",
|
targetID: 2,
|
||||||
groupName: "Group 1",
|
targetPosition: { lat: 0, lng: 0, alt: 0 },
|
||||||
alive: true,
|
ROE: 2,
|
||||||
category: "Aircraft",
|
reactionToThreat: 1,
|
||||||
},
|
emissionsCountermeasures: 1,
|
||||||
flightData: {
|
TACAN: { isOn: false, XY: 'Y', callsign: 'TKR', channel: 40 },
|
||||||
latitude: 37.20,
|
radio: { frequency: 124000000, callsign: 1, callsignNumber: 1 },
|
||||||
longitude: -115.8,
|
generalSettings: { prohibitAA: false, prohibitAfterburner: false, prohibitAG: false, prohibitAirWpn: false, prohibitJettison: false },
|
||||||
altitude: 2000,
|
ammo: [{ quantity: 2, name: "A cool missile\0Ciao", guidance: 0, category: 0, missileCategory: 0 } ],
|
||||||
heading: 0.5,
|
contacts: [{ID: 2, detectionMethod: 1}, {ID: 3, detectionMethod: 4}],
|
||||||
speed: 300
|
activePath: [{lat: 38, lng: -115, alt: 0}, {lat: 38, lng: -114, alt: 0}]
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 50,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "blue"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
["2"]:{
|
["2"]:{ category: "Aircraft", alive: true, human: false, controlled: false, coalition: 1, country: 0, name: "FA-18C_hornet", unitName: "Cool guy 1-2", groupName: "Cool group 2", state: 1, task: "Being cool",
|
||||||
baseData: {
|
hasTask: false, position: { lat: 36.9, lng: -116, alt: 1000 }, speed: 200, heading: 315 * Math.PI / 180, isTanker: false, isAWACS: false, onOff: true, followRoads: false, fuel: 50,
|
||||||
AI: true,
|
desiredSpeed: 300, desiredSpeedType: 1, desiredAltitude: 1000, desiredAltitudeType: 1, leaderID: 0,
|
||||||
name: "F-5E",
|
formationOffset: { x: 0, y: 0, z: 0 },
|
||||||
unitName: "Olympus 1-2",
|
targetID: 0,
|
||||||
groupName: "Group 1",
|
targetPosition: { lat: 0, lng: 0, alt: 0 },
|
||||||
alive: true,
|
ROE: 2,
|
||||||
category: "Aircraft",
|
reactionToThreat: 1,
|
||||||
},
|
emissionsCountermeasures: 1,
|
||||||
flightData: {
|
TACAN: { isOn: false, XY: 'Y', callsign: 'TKR', channel: 40 },
|
||||||
latitude: 37.2,
|
radio: { frequency: 124000000, callsign: 1, callsignNumber: 1 },
|
||||||
longitude: -115.75,
|
generalSettings: { prohibitAA: false, prohibitAfterburner: false, prohibitAG: false, prohibitAirWpn: false, prohibitJettison: false },
|
||||||
altitude: 2000,
|
ammo: [{ quantity: 2, name: "A cool missile", guidance: 0, category: 0, missileCategory: 0 } ],
|
||||||
heading: 0.5,
|
contacts: [{ID: 1, detectionMethod: 16}],
|
||||||
speed: 300
|
activePath: [ ]
|
||||||
},
|
}, ["3"]:{ category: "Helicopter", alive: true, human: false, controlled: false, coalition: 1, country: 0, name: "AH-64D_BLK_II", unitName: "Cool guy 1-4", groupName: "Cool group 3", state: 1, task: "Being cool",
|
||||||
missionData: {
|
hasTask: false, position: { lat: 37.1, lng: -116.1, alt: 1000 }, speed: 200, heading: 315 * Math.PI / 180, isTanker: false, isAWACS: false, onOff: true, followRoads: false, fuel: 50,
|
||||||
fuel: 0.5,
|
desiredSpeed: 300, desiredSpeedType: 1, desiredAltitude: 1000, desiredAltitudeType: 1, leaderID: 0,
|
||||||
flags: {human: false},
|
formationOffset: { x: 0, y: 0, z: 0 },
|
||||||
ammo: [],
|
targetID: 0,
|
||||||
targets: [],
|
targetPosition: { lat: 0, lng: 0, alt: 0 },
|
||||||
hasTask: true,
|
ROE: 2,
|
||||||
coalition: "red"
|
reactionToThreat: 1,
|
||||||
},
|
emissionsCountermeasures: 1,
|
||||||
formationData: {
|
TACAN: { isOn: false, XY: 'Y', callsign: 'TKR', channel: 40 },
|
||||||
formation: "Echelon",
|
radio: { frequency: 124000000, callsign: 1, callsignNumber: 1 },
|
||||||
isLeader: false,
|
generalSettings: { prohibitAA: false, prohibitAfterburner: false, prohibitAG: false, prohibitAirWpn: false, prohibitJettison: false },
|
||||||
isWingman: false,
|
ammo: [{ quantity: 2, name: "A cool missile", guidance: 0, category: 0, missileCategory: 0 } ],
|
||||||
leaderID: null,
|
contacts: [{ID: 1, detectionMethod: 16}],
|
||||||
wingmen: [],
|
activePath: [ ]
|
||||||
wingmenIDs: []
|
}, ["4"]:{ category: "GroundUnit", alive: true, human: false, controlled: true, coalition: 1, country: 0, name: "Gepard", unitName: "Cool guy 2-1", groupName: "Cool group 4", state: 1, task: "Being cool",
|
||||||
},
|
hasTask: false, position: { lat: 37.2, lng: -116.1, alt: 1000 }, speed: 200, heading: 315 * Math.PI / 180, isTanker: false, isAWACS: false, onOff: true, followRoads: false, fuel: 50,
|
||||||
taskData: {
|
desiredSpeed: 300, desiredSpeedType: 1, desiredAltitude: 1000, desiredAltitudeType: 1, leaderID: 0,
|
||||||
currentTask: "Example task",
|
formationOffset: { x: 0, y: 0, z: 0 },
|
||||||
activePath: undefined,
|
targetID: 0,
|
||||||
targetSpeed: 400,
|
targetPosition: { lat: 0, lng: 0, alt: 0 },
|
||||||
targetAltitude: 3000
|
ROE: 2,
|
||||||
},
|
reactionToThreat: 1,
|
||||||
optionsData: {
|
emissionsCountermeasures: 1,
|
||||||
ROE: "None",
|
TACAN: { isOn: false, XY: 'Y', callsign: 'TKR', channel: 40 },
|
||||||
reactionToThreat: "None",
|
radio: { frequency: 124000000, callsign: 1, callsignNumber: 1 },
|
||||||
}
|
generalSettings: { prohibitAA: false, prohibitAfterburner: false, prohibitAG: false, prohibitAirWpn: false, prohibitJettison: false },
|
||||||
},
|
ammo: [{ quantity: 2, name: "A cool missile\0Ciao", guidance: 0, category: 0, missileCategory: 0 } ],
|
||||||
["3"]:{
|
contacts: [{ID: 1001, detectionMethod: 16}],
|
||||||
baseData: {
|
activePath: [ ],
|
||||||
AI: true,
|
isLeader: true
|
||||||
name: "2S6 Tunguska",
|
}, ["5"]:{ category: "GroundUnit", alive: true, human: false, controlled: true, coalition: 1, country: 0, name: "Gepard", unitName: "Cool guy 2-2", groupName: "Cool group 4", state: 1, task: "Being cool",
|
||||||
unitName: "Olympus 1-3",
|
hasTask: false, position: { lat: 37.21, lng: -116.1, alt: 1000 }, speed: 200, heading: 315 * Math.PI / 180, isTanker: false, isAWACS: false, onOff: true, followRoads: false, fuel: 50,
|
||||||
groupName: "Group 1",
|
desiredSpeed: 300, desiredSpeedType: 1, desiredAltitude: 1000, desiredAltitudeType: 1, leaderID: 0,
|
||||||
alive: true,
|
formationOffset: { x: 0, y: 0, z: 0 },
|
||||||
category: "GroundUnit",
|
targetID: 0,
|
||||||
},
|
targetPosition: { lat: 0, lng: 0, alt: 0 },
|
||||||
flightData: {
|
ROE: 2,
|
||||||
latitude: 37.175,
|
reactionToThreat: 1,
|
||||||
longitude: -115.8,
|
emissionsCountermeasures: 1,
|
||||||
altitude: 2000,
|
TACAN: { isOn: false, XY: 'Y', callsign: 'TKR', channel: 40 },
|
||||||
heading: 0.5,
|
radio: { frequency: 124000000, callsign: 1, callsignNumber: 1 },
|
||||||
speed: 300
|
generalSettings: { prohibitAA: false, prohibitAfterburner: false, prohibitAG: false, prohibitAirWpn: false, prohibitJettison: false },
|
||||||
},
|
ammo: [{ quantity: 2, name: "A cool missile", guidance: 0, category: 0, missileCategory: 0 } ],
|
||||||
missionData: {
|
contacts: [],
|
||||||
fuel: 0.5,
|
activePath: [ ],
|
||||||
flags: {human: false},
|
isLeader: false
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "blue"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["4"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "2S6 Tunguska",
|
|
||||||
unitName: "Olympus 1-4",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: true,
|
|
||||||
category: "GroundUnit",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.175,
|
|
||||||
longitude: -115.75,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "red"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["5"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "M-60",
|
|
||||||
unitName: "Olympus 1-3",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: true,
|
|
||||||
category: "GroundUnit",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.15,
|
|
||||||
longitude: -115.8,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "blue"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["6"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "M-60",
|
|
||||||
unitName: "Olympus 1-4",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: true,
|
|
||||||
category: "GroundUnit",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.15,
|
|
||||||
longitude: -115.75,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "red"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["7"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "CVN-75",
|
|
||||||
unitName: "Olympus 1-7",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: true,
|
|
||||||
category: "NavyUnit",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.125,
|
|
||||||
longitude: -115.8,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "blue"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["8"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "CVN-75",
|
|
||||||
unitName: "Olympus 1-8",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: true,
|
|
||||||
category: "NavyUnit",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.125,
|
|
||||||
longitude: -115.75,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "red"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["9"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "CVN-75",
|
|
||||||
unitName: "Olympus 1-9",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: false,
|
|
||||||
category: "Aircraft",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.10,
|
|
||||||
longitude: -115.75,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "red"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["10"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "CVN-75",
|
|
||||||
unitName: "Olympus 1-10",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: false,
|
|
||||||
category: "Aircraft",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.10,
|
|
||||||
longitude: -115.8,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "blue"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["11"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "CVN-75",
|
|
||||||
unitName: "Olympus 1-11",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: false,
|
|
||||||
category: "Missile",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.075,
|
|
||||||
longitude: -115.8,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "blue"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["12"]:{
|
|
||||||
baseData: {
|
|
||||||
AI: true,
|
|
||||||
name: "CVN-75",
|
|
||||||
unitName: "Olympus 1-12",
|
|
||||||
groupName: "Group 1",
|
|
||||||
alive: false,
|
|
||||||
category: "Missile",
|
|
||||||
},
|
|
||||||
flightData: {
|
|
||||||
latitude: 37.075,
|
|
||||||
longitude: -115.75,
|
|
||||||
altitude: 2000,
|
|
||||||
heading: 0.5,
|
|
||||||
speed: 300
|
|
||||||
},
|
|
||||||
missionData: {
|
|
||||||
fuel: 0.5,
|
|
||||||
flags: {human: false},
|
|
||||||
ammo: [],
|
|
||||||
targets: [],
|
|
||||||
hasTask: true,
|
|
||||||
coalition: "red"
|
|
||||||
},
|
|
||||||
formationData: {
|
|
||||||
formation: "Echelon",
|
|
||||||
isLeader: false,
|
|
||||||
isWingman: false,
|
|
||||||
leaderID: null,
|
|
||||||
wingmen: [],
|
|
||||||
wingmenIDs: []
|
|
||||||
},
|
|
||||||
taskData: {
|
|
||||||
currentTask: "Example task",
|
|
||||||
activePath: undefined,
|
|
||||||
targetSpeed: 400,
|
|
||||||
targetAltitude: 3000
|
|
||||||
},
|
|
||||||
optionsData: {
|
|
||||||
ROE: "None",
|
|
||||||
reactionToThreat: "None",
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const DEMO_WEAPONS_DATA = {
|
||||||
|
["1001"]:{ category: "Missile", alive: true, coalition: 2, name: "", position: { lat: 37.1, lng: -116, alt: 1000 }, speed: 200, heading: 45 * Math.PI / 180 },
|
||||||
|
}
|
||||||
|
|
||||||
class DemoDataGenerator {
|
class DemoDataGenerator {
|
||||||
constructor(unitsNumber)
|
constructor(app)
|
||||||
{
|
{
|
||||||
this.demoUnits = this.generateRandomUnitsDemoData(unitsNumber);
|
app.get('/demo/units', (req, res) => this.units(req, res));
|
||||||
|
app.get('/demo/weapons', (req, res) => this.weapons(req, res));
|
||||||
|
app.get('/demo/logs', (req, res) => this.logs(req, res));
|
||||||
|
app.get('/demo/bullseyes', (req, res) => this.bullseyes(req, res));
|
||||||
|
app.get('/demo/airbases', (req, res) => this.airbases(req, res));
|
||||||
|
app.get('/demo/mission', (req, res) => this.mission(req, res));
|
||||||
|
|
||||||
|
app.use('/demo', basicAuth({
|
||||||
|
users: {
|
||||||
|
'admin': 'socks',
|
||||||
|
'blue': 'bluesocks',
|
||||||
|
'red': 'redsocks'
|
||||||
|
},
|
||||||
|
}))
|
||||||
|
|
||||||
|
this.startTime = Date.now();
|
||||||
}
|
}
|
||||||
|
|
||||||
units(req, res){
|
units(req, res){
|
||||||
var ret = this.demoUnits;
|
var array = new Uint8Array();
|
||||||
res.send(JSON.stringify(ret));
|
var time = Date.now();
|
||||||
|
array = this.concat(array, this.uint64ToByteArray(BigInt(time)));
|
||||||
|
for (let idx in DEMO_UNIT_DATA) {
|
||||||
|
const unit = DEMO_UNIT_DATA[idx];
|
||||||
|
array = this.concat(array, this.uint32ToByteArray(idx));
|
||||||
|
array = this.appendString(array, unit.category, 1);
|
||||||
|
array = this.appendUint8(array, unit.alive, 2);
|
||||||
|
array = this.appendUint8(array, unit.human, 3);
|
||||||
|
array = this.appendUint8(array, unit.controlled, 4);
|
||||||
|
array = this.appendUint16(array, unit.coalition, 5);
|
||||||
|
array = this.appendUint8(array, unit.country, 6);
|
||||||
|
array = this.appendString(array, unit.name, 7);
|
||||||
|
array = this.appendString(array, unit.unitName, 8);
|
||||||
|
array = this.appendString(array, unit.groupName, 9);
|
||||||
|
array = this.appendUint8(array, unit.state, 10);
|
||||||
|
array = this.appendString(array, unit.task, 11);
|
||||||
|
array = this.appendUint8(array, unit.hasTask, 12);
|
||||||
|
array = this.appendCoordinates(array, unit.position, 13);
|
||||||
|
array = this.appendDouble(array, unit.speed, 14);
|
||||||
|
array = this.appendDouble(array, unit.heading, 15);
|
||||||
|
array = this.appendUint8(array, unit.isTanker, 16);
|
||||||
|
array = this.appendUint8(array, unit.isAWACS, 17);
|
||||||
|
array = this.appendUint8(array, unit.onOff, 18);
|
||||||
|
array = this.appendUint8(array, unit.followRoads, 19);
|
||||||
|
array = this.appendUint16(array, unit.fuel, 20);
|
||||||
|
array = this.appendDouble(array, unit.desiredSpeed, 21);
|
||||||
|
array = this.appendUint8(array, unit.desiredSpeedType, 22);
|
||||||
|
array = this.appendDouble(array, unit.desiredAltitude, 23);
|
||||||
|
array = this.appendUint8(array, unit.desiredAltitudeType, 24);
|
||||||
|
array = this.appendUint32(array, unit.leaderID, 25);
|
||||||
|
array = this.appendOffset(array, unit.formationOffset, 26);
|
||||||
|
array = this.appendUint32(array, unit.targetID, 27);
|
||||||
|
array = this.appendCoordinates(array, unit.targetPosition, 28);
|
||||||
|
array = this.appendUint8(array, unit.ROE, 29);
|
||||||
|
array = this.appendUint8(array, unit.reactionToThreat, 30);
|
||||||
|
array = this.appendUint8(array, unit.emissionsCountermeasures, 31);
|
||||||
|
array = this.appendTACAN(array, unit.TACAN, 32);
|
||||||
|
array = this.appendRadio(array, unit.radio, 33);
|
||||||
|
array = this.appendRadio(array, unit.generalSettings, 34);
|
||||||
|
array = this.appendAmmo(array, unit.ammo, 35);
|
||||||
|
array = this.appendContacts(array, unit.contacts, 36);
|
||||||
|
array = this.appendActivePath(array, unit.activePath, 37);
|
||||||
|
array = this.appendUint8(array, unit.isLeader, 38);
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(255));
|
||||||
|
}
|
||||||
|
res.end(Buffer.from(array, 'binary'));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
weapons(req, res){
|
||||||
|
var array = new Uint8Array();
|
||||||
|
var time = Date.now();
|
||||||
|
array = this.concat(array, this.uint64ToByteArray(BigInt(time)));
|
||||||
|
for (let idx in DEMO_WEAPONS_DATA) {
|
||||||
|
const weapon = DEMO_WEAPONS_DATA[idx];
|
||||||
|
array = this.concat(array, this.uint32ToByteArray(idx));
|
||||||
|
array = this.appendString(array, weapon.category, 1);
|
||||||
|
array = this.appendUint8(array, weapon.alive, 2);
|
||||||
|
array = this.appendUint16(array, weapon.coalition, 5);
|
||||||
|
array = this.appendString(array, weapon.name, 7);
|
||||||
|
array = this.appendCoordinates(array, weapon.position, 13);
|
||||||
|
array = this.appendDouble(array, weapon.speed, 14);
|
||||||
|
array = this.appendDouble(array, weapon.heading, 15);
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(255));
|
||||||
|
}
|
||||||
|
res.end(Buffer.from(array, 'binary'));
|
||||||
|
};
|
||||||
|
|
||||||
|
concat(array1, array2) {
|
||||||
|
var mergedArray = new Uint8Array(array1.length + array2.length);
|
||||||
|
mergedArray.set(array1);
|
||||||
|
mergedArray.set(array2, array1.length);
|
||||||
|
return mergedArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8ToByteArray(number) {
|
||||||
|
var buffer = new ArrayBuffer(1);
|
||||||
|
var longNum = new Uint8Array(buffer);
|
||||||
|
longNum[0] = number;
|
||||||
|
return Array.from(new Uint8Array(buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16ToByteArray(number) {
|
||||||
|
var buffer = new ArrayBuffer(2);
|
||||||
|
var longNum = new Uint16Array(buffer);
|
||||||
|
longNum[0] = number;
|
||||||
|
return Array.from(new Uint8Array(buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32ToByteArray(number) {
|
||||||
|
var buffer = new ArrayBuffer(4);
|
||||||
|
var longNum = new Uint32Array(buffer);
|
||||||
|
longNum[0] = number;
|
||||||
|
return Array.from(new Uint8Array(buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64ToByteArray(number) {
|
||||||
|
var buffer = new ArrayBuffer(8);
|
||||||
|
var longNum = new BigUint64Array(buffer);
|
||||||
|
longNum[0] = number;
|
||||||
|
return Array.from(new Uint8Array(buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
doubleToByteArray(number) {
|
||||||
|
var buffer = new ArrayBuffer(8);
|
||||||
|
var longNum = new Float64Array(buffer);
|
||||||
|
longNum[0] = number;
|
||||||
|
return Array.from(new Uint8Array(buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
appendUint8(array, number, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(number));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendUint16(array, number, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint16ToByteArray(number));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendUint32(array, number, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint32ToByteArray(number));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendDouble(array, number, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(number));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendCoordinates(array, coordinates, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(coordinates.lat));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(coordinates.lng));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(coordinates.alt));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendOffset(array, offset, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(offset.x));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(offset.y));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(offset.z));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendString(array, string, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint16ToByteArray(string.length));
|
||||||
|
array = this.concat(array, enc.encode(string));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
padString(string, length) {
|
||||||
|
while (string.length < length)
|
||||||
|
string += " ";
|
||||||
|
return string.substring(0, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
appendTACAN(array, TACAN, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(TACAN.isOn));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(TACAN.channel));
|
||||||
|
array = this.concat(array, enc.encode(TACAN.XY));
|
||||||
|
array = this.concat(array, enc.encode(this.padString(TACAN.callsign, 4)));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendRadio(array, radio, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint32ToByteArray(radio.frequency));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(radio.callsign));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(radio.callsignNumber));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendGeneralSettings(array, generalSettings, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(generalSettings.prohibitAA));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(generalSettings.prohibitAfterburner));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(generalSettings.prohibitAG));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(generalSettings.prohibitAirWpn));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(generalSettings.prohibitJettison));
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendAmmo(array, ammo, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint16ToByteArray(ammo.length));
|
||||||
|
ammo.forEach((element) => {
|
||||||
|
array = this.concat(array, this.uint16ToByteArray(element.quantity));
|
||||||
|
array = this.concat(array, enc.encode(this.padString(element.name, 33)));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(element.guidance));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(element.category));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(element.missileCategory));
|
||||||
|
})
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendContacts(array, contacts, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint16ToByteArray(contacts.length));
|
||||||
|
contacts.forEach((element) => {
|
||||||
|
array = this.concat(array, this.uint32ToByteArray(element.ID));
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(element.detectionMethod));
|
||||||
|
})
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
appendActivePath(array, activePath, datumIndex) {
|
||||||
|
array = this.concat(array, this.uint8ToByteArray(datumIndex));
|
||||||
|
array = this.concat(array, this.uint16ToByteArray(activePath.length));
|
||||||
|
activePath.forEach((element) => {
|
||||||
|
array = this.concat(array, this.doubleToByteArray(element.lat));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(element.lng));
|
||||||
|
array = this.concat(array, this.doubleToByteArray(element.alt));
|
||||||
|
})
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
logs(req, res){
|
logs(req, res){
|
||||||
var ret = {logs: {}};
|
var ret = {logs: {"1": "I'm a log!", "2": "I'm a different log!"}};
|
||||||
|
ret.time = Date.now();
|
||||||
|
ret.frameRate = 60;
|
||||||
|
ret.load = 0;
|
||||||
res.send(JSON.stringify(ret));
|
res.send(JSON.stringify(ret));
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -555,6 +362,7 @@ class DemoDataGenerator {
|
|||||||
coalition: "blue"
|
coalition: "blue"
|
||||||
}
|
}
|
||||||
}};
|
}};
|
||||||
|
ret.time = Date.now();
|
||||||
res.send(JSON.stringify(ret));
|
res.send(JSON.stringify(ret));
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -562,24 +370,64 @@ class DemoDataGenerator {
|
|||||||
var ret = {bullseyes: {
|
var ret = {bullseyes: {
|
||||||
"0": {
|
"0": {
|
||||||
latitude: 37.25,
|
latitude: 37.25,
|
||||||
longitude: -115.8
|
longitude: -115.8,
|
||||||
|
coalition: "neutral"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
latitude: 37.25,
|
latitude: 37.25,
|
||||||
longitude: -115.75
|
longitude: -115.75,
|
||||||
|
coalition: "red"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
latitude: 37.25,
|
latitude: 37.25,
|
||||||
longitude: -115.7
|
longitude: -115.7,
|
||||||
|
coalition: "blue"
|
||||||
}
|
}
|
||||||
}};
|
}};
|
||||||
|
ret.time = Date.now();
|
||||||
res.send(JSON.stringify(ret));
|
res.send(JSON.stringify(ret));
|
||||||
};
|
};
|
||||||
|
|
||||||
generateRandomUnitsDemoData(unitsNumber)
|
mission(req, res){
|
||||||
{
|
var ret = {mission: {theatre: "Nevada"}};
|
||||||
return {"units": DEMO_UNIT_DATA};
|
ret.time = Date.now();
|
||||||
|
|
||||||
|
ret.mission.dateAndTime = {
|
||||||
|
time: Date.now(),
|
||||||
|
date: "",
|
||||||
|
elapsedTime: (Date.now() - this.startTime) / 1000,
|
||||||
|
startTime: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
ret.mission.commandModeOptions = {
|
||||||
|
restrictSpawns: false,
|
||||||
|
restrictToCoalition: true,
|
||||||
|
setupTime: 0,
|
||||||
|
spawnPoints: {
|
||||||
|
red: 1000,
|
||||||
|
blue: 400
|
||||||
|
},
|
||||||
|
eras: ["WW2", "Early Cold War", "Late Cold War", "Modern"]
|
||||||
|
}
|
||||||
|
|
||||||
|
var auth = req.get("Authorization");
|
||||||
|
if (auth) {
|
||||||
|
var username = atob(auth.replace("Basic ", "")).split(":")[0];
|
||||||
|
switch (username) {
|
||||||
|
case "admin":
|
||||||
|
ret.mission.commandModeOptions.commandMode = "Game master";
|
||||||
|
break
|
||||||
|
case "blue":
|
||||||
|
ret.mission.commandModeOptions.commandMode = "Blue commander";
|
||||||
|
break;
|
||||||
|
case "red":
|
||||||
|
ret.mission.commandModeOptions.commandMode = "Red commander";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
res.send(JSON.stringify(ret));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = DemoDataGenerator;
|
module.exports = DemoDataGenerator;
|
||||||
7954
client/package-lock.json
generated
@@ -2,30 +2,43 @@
|
|||||||
"name": "DCSOlympus",
|
"name": "DCSOlympus",
|
||||||
"node-main": "./bin/www",
|
"node-main": "./bin/www",
|
||||||
"main": "http://localhost:3000",
|
"main": "http://localhost:3000",
|
||||||
"version": "0.0.0",
|
"version": "v0.4.1-alpha",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"copy": "copy .\\node_modules\\leaflet\\dist\\leaflet.css .\\public\\stylesheets\\leaflet.css",
|
"copy": "copy.bat",
|
||||||
"start": "npm run copy & concurrently --kill-others \"npm run watch\" \"nodemon ./bin/www\"",
|
"start": "npm run copy & concurrently --kill-others \"npm run watch\" \"nodemon ./bin/www\"",
|
||||||
"watch": "watchify .\\src\\index.ts --debug -p [ tsify --noImplicitAny ] -o .\\public\\javascripts\\bundle.js"
|
"watch": "watchify .\\src\\index.ts --debug -o .\\public\\javascripts\\bundle.js -t [ babelify --global true --presets [ @babel/preset-env ] --extensions '.js'] -p [ tsify --noImplicitAny ]"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/geojson": "^7946.0.10",
|
|
||||||
"@types/leaflet": "^1.9.0",
|
|
||||||
"cookie-parser": "~1.4.4",
|
"cookie-parser": "~1.4.4",
|
||||||
"debug": "~2.6.9",
|
"debug": "~2.6.9",
|
||||||
"ejs": "^3.1.8",
|
"ejs": "^3.1.8",
|
||||||
"express": "~4.16.1",
|
"express": "~4.16.1",
|
||||||
"leaflet": "^1.9.3",
|
|
||||||
"milsymbol": "^2.0.0",
|
|
||||||
"morgan": "~1.9.1",
|
"morgan": "~1.9.1",
|
||||||
"save": "^2.9.0"
|
"save": "^2.9.0",
|
||||||
|
"express-basic-auth": "^1.2.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/preset-env": "^7.21.4",
|
||||||
|
"@tanem/svg-injector": "^10.1.55",
|
||||||
|
"@turf/turf": "^6.5.0",
|
||||||
|
"@types/formatcoords": "^1.1.0",
|
||||||
|
"@types/geojson": "^7946.0.10",
|
||||||
"@types/gtag.js": "^0.0.12",
|
"@types/gtag.js": "^0.0.12",
|
||||||
|
"@types/leaflet": "^1.9.0",
|
||||||
|
"@types/node": "^18.16.1",
|
||||||
"@types/sortablejs": "^1.15.0",
|
"@types/sortablejs": "^1.15.0",
|
||||||
|
"@types/svg-injector": "^0.0.29",
|
||||||
|
"babelify": "^10.0.0",
|
||||||
"browserify": "^17.0.0",
|
"browserify": "^17.0.0",
|
||||||
"concurrently": "^7.6.0",
|
"concurrently": "^7.6.0",
|
||||||
|
"cp": "^0.2.0",
|
||||||
|
"esmify": "^2.1.1",
|
||||||
|
"formatcoords": "^1.1.3",
|
||||||
|
"leaflet": "^1.9.3",
|
||||||
|
"leaflet-control-mini-map": "^0.4.0",
|
||||||
|
"leaflet-path-drag": "*",
|
||||||
|
"leaflet.nauticscale": "^1.1.0",
|
||||||
"nodemon": "^2.0.20",
|
"nodemon": "^2.0.20",
|
||||||
"sortablejs": "^1.15.0",
|
"sortablejs": "^1.15.0",
|
||||||
"tsify": "^5.0.4",
|
"tsify": "^5.0.4",
|
||||||
|
|||||||
2
client/prepare.bat
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
copy .\\node_modules\\leaflet\\dist\\leaflet.css .\\public\\stylesheets\\leaflet\\leaflet.css
|
||||||
|
copy .\\node_modules\\leaflet.nauticscale\\dist\\leaflet.nauticscale.js .\\public\\javascripts\\leaflet.nauticscale.js
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
@@ -1,3 +0,0 @@
|
|||||||
<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M10.4766 9.25718L11.3099 8.44468C11.4401 8.31772 11.6667 8.40659 11.6667 8.58941V12.2812C11.6667 12.9541 11.1068 13.5 10.4167 13.5H1.25C0.559896 13.5 0 12.9541 0 12.2812V3.3437C0 2.67085 0.559896 2.12495 1.25 2.12495H8.3724C8.55729 2.12495 8.65104 2.34331 8.52083 2.4728L7.6875 3.2853C7.64844 3.32339 7.59635 3.3437 7.53906 3.3437H1.25V12.2812H10.4167V9.39937C10.4167 9.34605 10.4375 9.29526 10.4766 9.25718ZM14.5547 4.13335L7.71615 10.8009L5.36198 11.0548C4.67969 11.1285 4.09896 10.5673 4.17448 9.89702L4.4349 7.60171L11.2734 0.934131C11.8698 0.352686 12.8333 0.352686 13.4271 0.934131L14.5521 2.03101C15.1484 2.61245 15.1484 3.55444 14.5547 4.13335ZM11.9818 4.91792L10.4688 3.44272L5.63021 8.16284L5.4401 9.82085L7.14063 9.6355L11.9818 4.91792ZM13.6693 2.89429L12.5443 1.79741C12.4375 1.69331 12.263 1.69331 12.1589 1.79741L11.3542 2.58198L12.8672 4.05718L13.6719 3.27261C13.776 3.16597 13.776 2.99839 13.6693 2.89429Z" fill="white"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
||||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
||||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="96.000000pt" height="96.000000pt" viewBox="0 0 96.000000 96.000000"
|
|
||||||
preserveAspectRatio="xMidYMid meet">
|
|
||||||
|
|
||||||
<g transform="translate(0.000000,96.000000) scale(0.100000,-0.100000)"
|
|
||||||
fill="#000000" stroke="none">
|
|
||||||
<path d="M411 846 c-77 -78 -70 -86 69 -86 139 0 146 8 69 86 -29 30 -60 54
|
|
||||||
-69 54 -9 0 -40 -24 -69 -54z"/>
|
|
||||||
<path d="M132 668 c-16 -16 -15 -43 2 -57 9 -8 110 -11 351 -9 309 3 339 4
|
|
||||||
349 21 8 12 8 22 0 35 -10 16 -40 17 -350 20 -256 2 -343 -1 -352 -10z"/>
|
|
||||||
<path d="M132 508 c-16 -16 -15 -43 2 -57 9 -8 110 -11 351 -9 309 3 339 4
|
|
||||||
349 21 8 12 8 22 0 35 -10 16 -40 17 -350 20 -256 2 -343 -1 -352 -10z"/>
|
|
||||||
<path d="M132 348 c-16 -16 -15 -43 2 -57 9 -8 110 -11 351 -9 309 3 339 4
|
|
||||||
349 21 8 12 8 22 0 35 -10 16 -40 17 -350 20 -256 2 -343 -1 -352 -10z"/>
|
|
||||||
<path d="M363 184 c-7 -18 92 -124 117 -124 25 0 124 106 117 124 -9 24 -225
|
|
||||||
24 -234 0z"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 14 KiB |
@@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M211.8 339.8C200.9 350.7 183.1 350.7 172.2 339.8L108.2 275.8C97.27 264.9 97.27 247.1 108.2 236.2C119.1 225.3 136.9 225.3 147.8 236.2L192 280.4L300.2 172.2C311.1 161.3 328.9 161.3 339.8 172.2C350.7 183.1 350.7 200.9 339.8 211.8L211.8 339.8zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 733 B |
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 288 512"><!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 549 B |
|
Before Width: | Height: | Size: 22 KiB |
6
client/public/javascripts/L.Path.Drag.js
Normal file
38
client/public/javascripts/leaflet.nauticscale.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
L.Control.ScaleNautic = L.Control.Scale.extend({
|
||||||
|
options: {
|
||||||
|
nautic: false
|
||||||
|
},
|
||||||
|
|
||||||
|
_addScales: function(options, className, container) {
|
||||||
|
L.Control.Scale.prototype._addScales.call(this, options, className, container);
|
||||||
|
L.setOptions(options);
|
||||||
|
if (this.options.nautic) {
|
||||||
|
this._nScale = L.DomUtil.create('div', className, container);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateScales: function (maxMeters) {
|
||||||
|
L.Control.Scale.prototype._updateScales.call(this, maxMeters);
|
||||||
|
if (this.options.nautic && maxMeters) {
|
||||||
|
this._updateNautic(maxMeters);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateNautic: function (maxMeters) {
|
||||||
|
var scale = this._nScale,
|
||||||
|
maxNauticalMiles = maxMeters / 1852, nauticalMiles;
|
||||||
|
|
||||||
|
if(maxMeters >= 1852) {
|
||||||
|
nauticalMiles = L.Control.Scale.prototype._getRoundNum.call(this, maxNauticalMiles);
|
||||||
|
} else {
|
||||||
|
nauticalMiles = maxNauticalMiles > 0.1 ? Math.round(maxNauticalMiles * 10) / 10 : Math.round(maxNauticalMiles * 100) / 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
scale.style.width = Math.round(this.options.maxWidth * (nauticalMiles / maxNauticalMiles)) - 10 + 'px';
|
||||||
|
scale.innerHTML = nauticalMiles + ' nm';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
L.control.scalenautic = function (options) {
|
||||||
|
return new L.Control.ScaleNautic(options);
|
||||||
|
};
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
z-index: 1000;
|
z-index: 9999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.aic-enabled #aic-teleprompt {
|
.aic-enabled #aic-teleprompt {
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
:root {
|
|
||||||
--airbase-marker-height: 63px;
|
|
||||||
--airbase-marker-width: 63px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="airbase"] {
|
|
||||||
align-items: center;
|
|
||||||
cursor: pointer;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-hide-airbase] #map-container [data-object|="airbase"] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************
|
|
||||||
Marker
|
|
||||||
******************************/
|
|
||||||
|
|
||||||
[data-object|="airbase"] .airbase {
|
|
||||||
background-color: transparent;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
position: absolute;
|
|
||||||
transform-origin: center;
|
|
||||||
z-index: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Airbase */
|
|
||||||
[data-object|="airbase"] .airbase-marker {
|
|
||||||
background-image: var(--airbase-marker-neutral-url);
|
|
||||||
height: var(--airbase-marker-height);
|
|
||||||
width: var(--airbase-marker-width);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="airbase"][data-coalition="red"] .airbase-marker {
|
|
||||||
background-image: var(--airbase-marker-red-url);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="airbase"][data-coalition="blue"] .airbase-marker {
|
|
||||||
background-image: var(--airbase-marker-blue-url);
|
|
||||||
}
|
|
||||||
@@ -1,211 +0,0 @@
|
|||||||
/*** Control panel ***/
|
|
||||||
|
|
||||||
#atc-control-panel {
|
|
||||||
align-self: flex-end;
|
|
||||||
background: white;
|
|
||||||
border-radius: 10px;
|
|
||||||
display:flex;
|
|
||||||
margin: 0 0 50px 100px;
|
|
||||||
padding:5px;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 9999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-tool {
|
|
||||||
align-self: center;
|
|
||||||
border-radius: 10px;
|
|
||||||
display:none;
|
|
||||||
justify-self: center;
|
|
||||||
padding: 10px;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 9999;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.atc-enabled .atc-tool {
|
|
||||||
display:flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#atc-flight-list {
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
#atc-flight-list table {
|
|
||||||
color:white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#atc-flight-list table td {
|
|
||||||
padding:0 10px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#atc-flight-list table td:first-of-type {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#atc-flight-list table tr[data-status='checkedIn'] td {
|
|
||||||
background-color:goldenrod;
|
|
||||||
}
|
|
||||||
|
|
||||||
#atc-flight-list table tr[data-status='readyToTaxi'] td {
|
|
||||||
background-color:darkgreen;
|
|
||||||
}
|
|
||||||
|
|
||||||
#atc-flight-list table button {
|
|
||||||
background-color: #666;
|
|
||||||
border:1px solid white;
|
|
||||||
color:white;
|
|
||||||
font-weight: bold;
|
|
||||||
margin:2px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.atc-strip-board {
|
|
||||||
align-self: center;
|
|
||||||
display:flex;
|
|
||||||
justify-self: center;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 9999 ;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-header {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips {
|
|
||||||
display:flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strip {
|
|
||||||
display:flex;
|
|
||||||
flex-direction: row;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
.atc-strip-board-header {
|
|
||||||
background:black;
|
|
||||||
color:white;
|
|
||||||
display:none;
|
|
||||||
justify-content: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.atc-strip-board {
|
|
||||||
display:flex;
|
|
||||||
flex-direction: column;
|
|
||||||
row-gap: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips {
|
|
||||||
display:flex;
|
|
||||||
flex-direction: column;
|
|
||||||
padding:10px;
|
|
||||||
row-gap: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div {
|
|
||||||
align-items: center;
|
|
||||||
color:white;
|
|
||||||
column-gap: 2px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-header > div, .atc-strip-board-strips > div > div {
|
|
||||||
text-align: center;
|
|
||||||
width: 75px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-header > .name {
|
|
||||||
width:150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-header > div, .atc-strip-board-strips > div > div {
|
|
||||||
text-align: center;
|
|
||||||
width: 75px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div > .name {
|
|
||||||
text-align: left;
|
|
||||||
width:150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div {
|
|
||||||
align-items: center;
|
|
||||||
column-gap: 5px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
font-size:12px;
|
|
||||||
font-weight: 600;
|
|
||||||
padding: 5px;
|
|
||||||
row-gap: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
.atc-strip-board-header, .atc-strip-board-strips > div {
|
|
||||||
align-items: center;
|
|
||||||
background:#FFF3;
|
|
||||||
color:white;
|
|
||||||
column-gap: 5px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
font-size:12px;
|
|
||||||
font-weight: 600;
|
|
||||||
padding: 5px;
|
|
||||||
row-gap: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-header {
|
|
||||||
background:black;
|
|
||||||
color:white;
|
|
||||||
display:none;
|
|
||||||
justify-content: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div {
|
|
||||||
border-bottom:1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-header > div, .atc-strip-board-strips > div > div {
|
|
||||||
text-align: center;
|
|
||||||
width: 75px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-header > .name {
|
|
||||||
width:150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div > .handle {
|
|
||||||
background: black;
|
|
||||||
border-radius: 50%;
|
|
||||||
cursor:grab;
|
|
||||||
height:10px;
|
|
||||||
width:10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div > .name {
|
|
||||||
text-align: left;
|
|
||||||
width:150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div > .warning {
|
|
||||||
background:red;
|
|
||||||
color: white;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atc-strip-board-strips > div > .link-warning {
|
|
||||||
border: 1px solid red;
|
|
||||||
color: red;
|
|
||||||
font-weight: bold;
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
205
client/public/stylesheets/atc/atc.css
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
.ol-strip-board .ol-dialog-header {
|
||||||
|
align-items: center;
|
||||||
|
display:flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strips {
|
||||||
|
display:flex;
|
||||||
|
flex-direction: column;
|
||||||
|
row-gap: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip {
|
||||||
|
align-items: center;
|
||||||
|
border-radius: var( --border-radius-sm );
|
||||||
|
column-gap: 4px;
|
||||||
|
display:flex;
|
||||||
|
flex-flow: row nowrap;
|
||||||
|
row-gap:4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip[data-flight-status="checkedin"] {
|
||||||
|
background-color: #ffffff2A;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip[data-flight-status="readytotaxi"] {
|
||||||
|
background-color: #ffff0063;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip[data-flight-status="clearedtotaxi"] {
|
||||||
|
background-color: #00ff0030;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip[data-flight-status="halted"] {
|
||||||
|
background-color: #FF000040;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip[data-flight-status="terminated"] {
|
||||||
|
background-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-headers {
|
||||||
|
column-gap: 4px;
|
||||||
|
display:flex;
|
||||||
|
flex-flow:row nowrap;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-headers > *, .ol-strip-board-strip > [data-point] {
|
||||||
|
padding: 4px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
width:80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip input[type="text"] {
|
||||||
|
appearance: none;
|
||||||
|
background-color: transparent;
|
||||||
|
border:1px solid #ffffff30;
|
||||||
|
border-radius: var( --border-radius-sm );
|
||||||
|
color:white;
|
||||||
|
font-size:12px;
|
||||||
|
font-weight:normal;
|
||||||
|
outline:none;
|
||||||
|
padding: 4px 0;
|
||||||
|
text-align: center;
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip[data-time-warning="level-1"] [data-point="timeToGo"] {
|
||||||
|
border:1px solid #cc0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-headers :nth-child(1) {
|
||||||
|
width:12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-headers :nth-child(2),
|
||||||
|
.ol-strip-board-strip :nth-child(2),
|
||||||
|
[data-board-type="ground"] .ol-strip-board-headers :nth-child(3),
|
||||||
|
[data-board-type="ground"] .ol-strip-board-strip :nth-child(3) {
|
||||||
|
width:130px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-board-type="ground"] .ol-strip-board-strip :nth-child(5) {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.ol-strip-board-headers :last-child,
|
||||||
|
.ol-strip-board-strip :last-child {
|
||||||
|
width:20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[data-board-type="tower"] .ol-strip-board-strip > * {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-board-type="tower"] .ol-strip-board-strip a {
|
||||||
|
color:white;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-board-type="tower"] .ol-strip-board-strip > :nth-child(2) {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-board-type="tower"] .ol-strip-board-strip :nth-child(3) input,
|
||||||
|
[data-board-type="tower"] .ol-strip-board-strip :nth-child(5) input {
|
||||||
|
width:30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-board-type="tower"] .ol-strip-board-strip :nth-child(3) {
|
||||||
|
font-size:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[data-altitude-assigned] [data-point="assignedAltitude"] input,
|
||||||
|
[data-speed-assigned] [data-point="assignedSpeed"] input {
|
||||||
|
background-color:#ffffffbb;
|
||||||
|
color: black;
|
||||||
|
font-weight: var( --font-weight-bolder );
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-warning-altitude] [data-point="altitude"],
|
||||||
|
[data-warning-speed] [data-point="speed"] {
|
||||||
|
background:#cc0000;
|
||||||
|
border-radius: var( --border-radius-sm );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.ol-strip-board-strip > [data-point="name"] {
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow:hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-strip .ol-select-value {
|
||||||
|
opacity: .85;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.ol-strip-board-add-flight {
|
||||||
|
display:flex;
|
||||||
|
flex-flow: row nowrap;
|
||||||
|
position:relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.ol-strip-board-add-flight > * {
|
||||||
|
border:none;
|
||||||
|
outline: none;
|
||||||
|
padding:4px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-flight-by-click img {
|
||||||
|
filter:invert();
|
||||||
|
height: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-add-flight input {
|
||||||
|
border-radius: var( --border-radius-sm );
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-add-flight .ol-auto-suggest {
|
||||||
|
background:white;
|
||||||
|
border-radius: var(--border-radius-sm );
|
||||||
|
color:black;
|
||||||
|
display:none;
|
||||||
|
flex-direction: column;
|
||||||
|
left:0;
|
||||||
|
margin:0;
|
||||||
|
position:absolute;
|
||||||
|
translate:0 -100%;
|
||||||
|
top:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-add-flight .ol-auto-suggest[data-has-suggestions] {
|
||||||
|
display:flex;
|
||||||
|
row-gap: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-strip-board-add-flight .ol-auto-suggest[data-has-suggestions] a {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[data-board-type="ground"] {
|
||||||
|
bottom:20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-board-type="tower"] {
|
||||||
|
right:10px;
|
||||||
|
top:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-board-type="tower"] .ol-auto-suggest {
|
||||||
|
top:30px;
|
||||||
|
translate:0;
|
||||||
|
}
|
||||||
27
client/public/stylesheets/atc/unitdatatable.css
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#unit-list {
|
||||||
|
display:flex;
|
||||||
|
flex-direction: column;
|
||||||
|
font-size:13px;
|
||||||
|
height: 250px;
|
||||||
|
width:fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-list > div {
|
||||||
|
display:flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-list > div > div {
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
width:100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-list > div:first-of-type {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-list > div > div:nth-of-type( 4 ) {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
@@ -1,225 +0,0 @@
|
|||||||
#map-contextmenu {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
height: fit-content;
|
|
||||||
position: absolute;
|
|
||||||
row-gap: 5px;
|
|
||||||
width: 230px;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#aircraft-spawn-menu {
|
|
||||||
height: fit-content;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ground-unit-spawn-menu {
|
|
||||||
height: fit-content;
|
|
||||||
}
|
|
||||||
|
|
||||||
#active-coalition-label {
|
|
||||||
position: absolute;
|
|
||||||
top: -28px;
|
|
||||||
border-radius: 999px;
|
|
||||||
width: fit-content;
|
|
||||||
height: fit-content;
|
|
||||||
padding: 3px 10px;
|
|
||||||
padding-bottom: 3px;
|
|
||||||
font-weight: 600;
|
|
||||||
color: var(--nav-text);
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#context-menu-switch {
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#map-contextmenu>div:nth-child(2){
|
|
||||||
align-items: center;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding-right: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#map-contextmenu>ul{
|
|
||||||
max-height: 200px;
|
|
||||||
overflow-x: hidden;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#map-contextmenu .ol-panel {
|
|
||||||
width: 100%;
|
|
||||||
border-radius: var(--border-radius-sm);
|
|
||||||
}
|
|
||||||
|
|
||||||
#map-contextmenu ul {
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#map-contextmenu>div:nth-child(n+3){
|
|
||||||
align-items: center;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: space-between;
|
|
||||||
row-gap: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#map-contextmenu .ol-select-container{
|
|
||||||
width: 100%;
|
|
||||||
flex:0 0 auto;
|
|
||||||
align-self: stretch;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#aircraft-spawn-menu .ol-select.is-open .ol-select-options {
|
|
||||||
max-height: 300px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#aircraft-spawn-menu>button,
|
|
||||||
#ground-unit-spawn-menu>button {
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#aircraft-spawn-button {
|
|
||||||
background-image: var( --spawn-aircraft-url );
|
|
||||||
background-size: 48px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ground-unit-spawn-button {
|
|
||||||
background-image: var( --spawn-ground-url );
|
|
||||||
background-size: 48px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#smoke-spawn-button {
|
|
||||||
background-image: var( --spawn-smoke-url );
|
|
||||||
background-size: 48px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unit-spawn-button {
|
|
||||||
border-radius: 0px;
|
|
||||||
border: none;
|
|
||||||
height: 48px;
|
|
||||||
margin-bottom: -10px;
|
|
||||||
margin-top: -10px;
|
|
||||||
width: 48px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unit-spawn-button:last-of-type {
|
|
||||||
border-top-right-radius: var(--border-radius-sm);
|
|
||||||
border-bottom-right-radius: var(--border-radius-sm);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-active-coalition="blue"].toggle-fill,
|
|
||||||
[data-active-coalition="blue"].unit-spawn-button:hover,
|
|
||||||
[data-active-coalition="blue"].unit-spawn-button.is-open,
|
|
||||||
[data-active-coalition="blue"]#active-coalition-label,
|
|
||||||
[data-active-coalition="blue"].deploy-unit-button,
|
|
||||||
[data-active-coalition="blue"]#spawn-airbase-aircraft-button
|
|
||||||
{
|
|
||||||
background-color: var(--primary-blue)
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-active-coalition="red"].toggle-fill,
|
|
||||||
[data-active-coalition="red"].unit-spawn-button:hover,
|
|
||||||
[data-active-coalition="red"].unit-spawn-button.is-open,
|
|
||||||
[data-active-coalition="red"]#active-coalition-label,
|
|
||||||
[data-active-coalition="red"].deploy-unit-button,
|
|
||||||
[data-active-coalition="red"]#spawn-airbase-aircraft-button
|
|
||||||
{
|
|
||||||
background-color: var(--primary-red)
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-active-coalition="blue"].deploy-unit-button:disabled {
|
|
||||||
background-color: transparent;
|
|
||||||
border: 1px solid var(--primary-blue);
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
[data-active-coalition="red"].deploy-unit-button:disabled {
|
|
||||||
background-color: transparent;
|
|
||||||
border: 1px solid var(--primary-red);
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-active-coalition="blue"]#active-coalition-label::after {
|
|
||||||
content: "Create blue unit";
|
|
||||||
}
|
|
||||||
[data-active-coalition="red"]#active-coalition-label::after {
|
|
||||||
content: "Create red unit";
|
|
||||||
}
|
|
||||||
|
|
||||||
#loadout-preview {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
width: 100%;
|
|
||||||
column-gap: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loadout-list {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-content: center;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-image {
|
|
||||||
width: 100px;
|
|
||||||
filter: invert(100%);
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#smoke-spawn-menu {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#smoke-spawn-menu>button {
|
|
||||||
width: 100%;
|
|
||||||
text-align: left;
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
align-items: center;
|
|
||||||
column-gap: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#smoke-spawn-menu>button::before {
|
|
||||||
display: block;
|
|
||||||
width: 10px;
|
|
||||||
height: 10px;
|
|
||||||
border-radius: 999px;
|
|
||||||
content: "";
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-smoke-color="red"]::before{ background-color: red; }
|
|
||||||
[data-smoke-color="white"]::before{ background-color: white; }
|
|
||||||
[data-smoke-color="blue"]::before{ background-color: blue; }
|
|
||||||
[data-smoke-color="green"]::before{ background-color: green; }
|
|
||||||
[data-smoke-color="orange"]::before{ background-color: orange; }
|
|
||||||
|
|
||||||
/* Unit context menu */
|
|
||||||
#unit-contextmenu {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
height: fit-content;
|
|
||||||
position: absolute;
|
|
||||||
row-gap: 5px;
|
|
||||||
width: 150px;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Airbase context menu */
|
|
||||||
#airbase-contextmenu {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
height: fit-content;
|
|
||||||
position: absolute;
|
|
||||||
row-gap: 5px;
|
|
||||||
width: 180px;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
@@ -1,209 +0,0 @@
|
|||||||
|
|
||||||
/* Page style */
|
|
||||||
#map-container {
|
|
||||||
height: 100%;
|
|
||||||
min-width: 820px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#primary-toolbar {
|
|
||||||
position: absolute;
|
|
||||||
left: 10px;
|
|
||||||
top: 10px;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#olympus-toolbar-summary {
|
|
||||||
background-image: url( "/images/icon-round.png" );
|
|
||||||
background-position: 25px 20px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size:36px 36px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
text-indent: 44px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dl.ol-data-grid {
|
|
||||||
align-items: center;
|
|
||||||
display:flex;
|
|
||||||
flex-direction: row;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin:0;
|
|
||||||
row-gap: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
dl.ol-data-grid dt {
|
|
||||||
width:60%;
|
|
||||||
}
|
|
||||||
|
|
||||||
dl.ol-data-grid dd {
|
|
||||||
width:40%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
dl.ol-data-grid dt.icon {
|
|
||||||
text-indent: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
dl.ol-data-grid dt.icon::before {
|
|
||||||
content: url( /images/icons/speed.svg );
|
|
||||||
display:inline-block;
|
|
||||||
filter:invert(100%);
|
|
||||||
width: 20px;
|
|
||||||
translate:-20px 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
dl.ol-data-grid dt.icon-speed::before {
|
|
||||||
content: url( /images/icons/speed.svg );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
dl.ol-data-grid dt.icon-altitude::before {
|
|
||||||
content: url( /images/icons/altitude.svg );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
dl.ol-data-grid dd {
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-end;
|
|
||||||
margin-left: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.br-info[data-bearing][data-distance][data-distance-units]::after {
|
|
||||||
content: attr( data-bearing ) '\00B0 / ' attr( data-distance ) attr( data-distance-units );
|
|
||||||
}
|
|
||||||
|
|
||||||
.coordinates::after {
|
|
||||||
content: attr( data-dd ) "\00b0 " attr( data-mm ) "'" attr( data-ss ) "." attr( data-sss ) '"' attr( data-label );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.ol-button-box {
|
|
||||||
column-gap: 6px;
|
|
||||||
display:flex;
|
|
||||||
flex-direction: row;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin:5px 0;
|
|
||||||
row-gap: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-button-box button {
|
|
||||||
background-repeat: no-repeat;;
|
|
||||||
border:1px solid var( --accent-light-blue );
|
|
||||||
color: var( --accent-light-blue );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.ol-dialog {
|
|
||||||
align-self: center;
|
|
||||||
background-color: var( --background-slate-blue );
|
|
||||||
color:white;
|
|
||||||
justify-self: center;
|
|
||||||
position: absolute;
|
|
||||||
z-index:1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-panel.ol-dialog {
|
|
||||||
padding:25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-dialog-close {
|
|
||||||
cursor: pointer;
|
|
||||||
font-size:16px;
|
|
||||||
font-weight: var( --font-weight-bolder );
|
|
||||||
position: absolute;
|
|
||||||
right: 25px;
|
|
||||||
top: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-dialog-close::before {
|
|
||||||
content: "\d7";
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-dialog-header {
|
|
||||||
border-bottom:1px solid var( --background-grey );
|
|
||||||
padding-bottom:10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-dialog-footer {
|
|
||||||
border-top:1px solid var( --background-grey );
|
|
||||||
padding-top:15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-checkbox label {
|
|
||||||
align-items: center;
|
|
||||||
cursor: pointer;
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-checkbox input[type="checkbox"] {
|
|
||||||
appearance:none;
|
|
||||||
background-color: transparent;
|
|
||||||
border:none;
|
|
||||||
margin:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-checkbox input[type="checkbox"]::before {
|
|
||||||
align-self:center;
|
|
||||||
background-image: url( "/images/icons/square-check-solid.svg" );
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
content: "";
|
|
||||||
filter: invert( 100% );
|
|
||||||
display:flex;
|
|
||||||
height:16px;
|
|
||||||
margin-right:10px;
|
|
||||||
width:16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.ol-checkbox input[type="checkbox"]:checked::before {
|
|
||||||
background-image: url( "/images/icons/square-regular.svg" );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[class|="ol-button"] {
|
|
||||||
align-items: center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
display:flex;
|
|
||||||
font-weight: normal;
|
|
||||||
padding:8px 10px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
[class|="ol-button"]::before {
|
|
||||||
margin-right:8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-button-close {
|
|
||||||
background: transparent;
|
|
||||||
border:1px solid white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-button-close::before {
|
|
||||||
content: "\d7";
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-button-settings {
|
|
||||||
background-color: var( --background-slate-blue );
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-button-settings::before {
|
|
||||||
background-image: url( "/images/icons/gears-solid.svg" );
|
|
||||||
background-position:0 50%;
|
|
||||||
background-size:24px 24px;
|
|
||||||
content: "";
|
|
||||||
display:flex;
|
|
||||||
filter: invert( 100% );
|
|
||||||
height: 24px;
|
|
||||||
width: 24px;
|
|
||||||
}
|
|
||||||
117
client/public/stylesheets/layout/layout.css
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
/* Page style */
|
||||||
|
#map-container {
|
||||||
|
height: 100%;
|
||||||
|
min-width: 820px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toolbar-container {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
left: 10px;
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
z-index: 9999;
|
||||||
|
column-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#primary-toolbar {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
#command-mode-toolbar {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
#app-icon>.ol-select-options {
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toolbar-summary {
|
||||||
|
background-image: url("/images/icon-round.png");
|
||||||
|
background-position: 20px 22px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 45px 45px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 20px;
|
||||||
|
text-indent: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toolbar-summary {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#connection-status-panel {
|
||||||
|
bottom: 20px;
|
||||||
|
font-size: 12px;
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
width: 180px;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#server-status-panel {
|
||||||
|
bottom: 20px;
|
||||||
|
font-size: 12px;
|
||||||
|
position: absolute;
|
||||||
|
right: 200px;
|
||||||
|
width: 300px;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel {
|
||||||
|
bottom: 60px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: fit-content;
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
row-gap: 10px;
|
||||||
|
width: 180px;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel {
|
||||||
|
height: fit-content;
|
||||||
|
left: 10px;
|
||||||
|
position: absolute;
|
||||||
|
top: 80px;
|
||||||
|
width: 320px;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-info-panel {
|
||||||
|
bottom: 20px;
|
||||||
|
font-size: 12px;
|
||||||
|
left: 10px;
|
||||||
|
position: absolute;
|
||||||
|
width: fit-content;
|
||||||
|
z-index: 9999;
|
||||||
|
padding: 24px 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#info-popup {
|
||||||
|
position: absolute;
|
||||||
|
width: fit-content;
|
||||||
|
height: fit-content;
|
||||||
|
top: 100px;
|
||||||
|
left: 50%;
|
||||||
|
translate: -50% 0%;
|
||||||
|
z-index: 9999;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#log-panel {
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
top: 220px;
|
||||||
|
width: 310px;
|
||||||
|
height: fit-content;
|
||||||
|
z-index: 9990;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
20
client/public/stylesheets/markers/airbase.css
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
.airbase-icon {
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.airbase-icon[data-coalition="red"] svg * {
|
||||||
|
stroke: var(--unit-background-red);
|
||||||
|
}
|
||||||
|
|
||||||
|
.airbase-icon[data-coalition="blue"] svg * {
|
||||||
|
stroke: var(--unit-background-blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.airbase-icon[data-coalition="neutral"] svg * {
|
||||||
|
stroke: var(--unit-background-neutral);
|
||||||
|
}
|
||||||
|
|
||||||
22
client/public/stylesheets/markers/bullseye.css
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
.bullseye-icon {
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bullseye-icon[data-coalition="red"] svg * {
|
||||||
|
stroke: var(--unit-background-red);
|
||||||
|
fill: var(--unit-background-red);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bullseye-icon[data-coalition="blue"] svg * {
|
||||||
|
stroke: var(--unit-background-blue);
|
||||||
|
fill: var(--unit-background-blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bullseye-icon[data-coalition="neutral"] svg * {
|
||||||
|
stroke: var(--unit-background-neutral);
|
||||||
|
fill: var(--unit-background-neutral);
|
||||||
|
}
|
||||||
318
client/public/stylesheets/markers/units.css
Normal file
@@ -0,0 +1,318 @@
|
|||||||
|
/*** Unit marker elements ***/
|
||||||
|
[data-object|="unit"] {
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
height: 100%;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unit-vvi {
|
||||||
|
align-self: center;
|
||||||
|
background: var(--secondary-gunmetal-grey);
|
||||||
|
display: flex;
|
||||||
|
justify-self: center;
|
||||||
|
padding-bottom: calc((var(--unit-width) / 2) + var(--unit-stroke-width));
|
||||||
|
position: absolute;
|
||||||
|
transform-origin: bottom;
|
||||||
|
translate: 0 -50%;
|
||||||
|
width: var(--unit-vvi-width);
|
||||||
|
}
|
||||||
|
|
||||||
|
.unit-hotgroup {
|
||||||
|
align-content: center;
|
||||||
|
background-color: var(--background-steel);
|
||||||
|
border-radius: var(--border-radius-xs);
|
||||||
|
display: none;
|
||||||
|
height: 15px;
|
||||||
|
justify-content: center;
|
||||||
|
position: absolute;
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
translate: 0 -200%;
|
||||||
|
width: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unit-hotgroup-id {
|
||||||
|
background-color: transparent;
|
||||||
|
color: white;
|
||||||
|
font-size: 9px;
|
||||||
|
font-weight: bolder;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
translate: -1px 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unit-icon {
|
||||||
|
height: var(--unit-height);
|
||||||
|
position: absolute;
|
||||||
|
transform-origin: center;
|
||||||
|
width: var(--unit-width);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-is-selected] .unit-icon::before {
|
||||||
|
background-color: var(--unit-spotlight-fill);
|
||||||
|
border-radius: 50%;
|
||||||
|
content: "";
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Basic colours ***/
|
||||||
|
[data-coalition="blue"] .unit-icon svg>*:first-child {
|
||||||
|
fill: var(--unit-background-blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="red"] .unit-icon svg>*:first-child {
|
||||||
|
fill: var(--unit-background-red);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="neutral"] .unit-icon svg>*:first-child {
|
||||||
|
fill: var(--unit-background-neutral);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-is-selected] .unit-icon svg>*:first-child {
|
||||||
|
fill: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-is-highlighted] .unit-icon svg>*:first-child {
|
||||||
|
stroke: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Cursors ***/
|
||||||
|
[data-is-dead],
|
||||||
|
[data-object|="unit-missile"],
|
||||||
|
[data-object|="unit-bomb"] {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Labels ***/
|
||||||
|
[data-object|="unit"] .unit-short-label {
|
||||||
|
color: var(--secondary-gunmetal-grey);
|
||||||
|
font-size: var(--unit-font-size);
|
||||||
|
font-weight: var(--unit-font-weight);
|
||||||
|
line-height: normal;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Fuel indicator ***/
|
||||||
|
[data-object|="unit"] .unit-fuel {
|
||||||
|
background: white;
|
||||||
|
border: var(--unit-fuel-border-width) solid var(--secondary-dark-steel);
|
||||||
|
border-radius: var(--border-radius-sm);
|
||||||
|
display: none;
|
||||||
|
height: var(--unit-fuel-height);
|
||||||
|
position: absolute;
|
||||||
|
translate: var(--unit-fuel-x) var(--unit-fuel-y);
|
||||||
|
width: var(--unit-fuel-width);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"] .unit-fuel-level {
|
||||||
|
background-color: var(--secondary-light-grey);
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Ammo indicator ***/
|
||||||
|
[data-object|="unit"] .unit-ammo {
|
||||||
|
column-gap: var(--unit-ammo-spacing);
|
||||||
|
display: none;
|
||||||
|
height: fit-content;
|
||||||
|
position: absolute;
|
||||||
|
translate: var(--unit-ammo-x) var(--unit-ammo-y);
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"] .unit-ammo>* {
|
||||||
|
background-color: white;
|
||||||
|
border: var(--unit-ammo-border-width) solid var(--secondary-dark-steel);
|
||||||
|
border-radius: 50%;
|
||||||
|
padding: var(--unit-ammo-radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Unit summary ***/
|
||||||
|
[data-object|="unit"] .unit-summary {
|
||||||
|
color: white;
|
||||||
|
column-gap: 6px;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: bold;
|
||||||
|
justify-content: right;
|
||||||
|
line-height: 12px;
|
||||||
|
pointer-events: none;
|
||||||
|
position: absolute;
|
||||||
|
row-gap: 1px;
|
||||||
|
text-shadow:
|
||||||
|
-1px -1px 0 #000,
|
||||||
|
1px -1px 0 #000,
|
||||||
|
-1px 1px 0 #000,
|
||||||
|
1px 1px 0 #000;
|
||||||
|
right: 100%;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-hide-labels] [data-object|="unit"] .unit-summary {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"] .unit-summary>* {
|
||||||
|
padding: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"] .unit-summary .unit-callsign {
|
||||||
|
color: white;
|
||||||
|
overflow: hidden;
|
||||||
|
text-align: right;
|
||||||
|
transform-origin: right;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"]:hover .unit-summary .unit-callsign{
|
||||||
|
direction: rtl;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Common ***/
|
||||||
|
[data-object|="unit"]:hover .unit-ammo,
|
||||||
|
[data-object|="unit"]:hover .unit-fuel {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes pulse {
|
||||||
|
50% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-has-low-fuel] .unit-fuel {
|
||||||
|
animation: pulse 1.5s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-is-in-hotgroup] .unit-hotgroup,
|
||||||
|
[data-object|="unit"][data-is-selected] .unit-ammo,
|
||||||
|
[data-object|="unit"][data-is-selected] .unit-fuel,
|
||||||
|
[data-object|="unit"][data-is-selected] .unit-selected-spotlight {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-has-fox-1] .unit-ammo>div:nth-child(1),
|
||||||
|
[data-object|="unit"][data-has-fox-2] .unit-ammo>div:nth-child(2),
|
||||||
|
[data-object|="unit"][data-has-fox-3] .unit-ammo>div:nth-child(3),
|
||||||
|
[data-object|="unit"][data-has-other-ammo] .unit-ammo>div:nth-child(4) {
|
||||||
|
background-color: var(--secondary-gunmetal-grey);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-coalition="blue"][data-is-selected] .unit-short-label {
|
||||||
|
color: var(--secondary-blue-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-coalition="blue"] .unit-fuel-level,
|
||||||
|
[data-object|="unit"][data-coalition="blue"][data-has-fox-1] .unit-ammo>div:nth-child(1),
|
||||||
|
[data-object|="unit"][data-coalition="blue"][data-has-fox-2] .unit-ammo>div:nth-child(2),
|
||||||
|
[data-object|="unit"][data-coalition="blue"][data-has-fox-3] .unit-ammo>div:nth-child(3),
|
||||||
|
[data-object|="unit"][data-coalition="blue"][data-has-other-ammo] .unit-ammo>div:nth-child(4) {
|
||||||
|
background-color: var(--primary-blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-coalition="blue"] .unit-vvi {
|
||||||
|
background-color: var(--secondary-blue-outline);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-coalition="red"][data-is-selected] .unit-short-label {
|
||||||
|
color: var(--secondary-red-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-coalition="red"] .unit-fuel-level,
|
||||||
|
[data-object|="unit"][data-coalition="red"][data-has-fox-1] .unit-ammo>div:nth-child(1),
|
||||||
|
[data-object|="unit"][data-coalition="red"][data-has-fox-2] .unit-ammo>div:nth-child(2),
|
||||||
|
[data-object|="unit"][data-coalition="red"][data-has-fox-3] .unit-ammo>div:nth-child(3),
|
||||||
|
[data-object|="unit"][data-coalition="red"][data-has-other-ammo] .unit-ammo>div:nth-child(4) {
|
||||||
|
background-color: var(--primary-red);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-coalition="blue"] .unit-vvi {
|
||||||
|
background-color: var(--secondary-red-outline);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Unit state ***/
|
||||||
|
[data-object|="unit"] .unit-state {
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
height: 20px;
|
||||||
|
position: absolute;
|
||||||
|
width: 20px;
|
||||||
|
left: 0px;
|
||||||
|
top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="rtb"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/rtb.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="land"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/rtb.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="idle"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/idle.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object*="groundunit"][data-state="idle"] .unit-state {
|
||||||
|
background-image: url(""); /* To avoid clutter, dont show the idle state for non flying units */
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="attack"] .unit-state,
|
||||||
|
[data-object|="unit"][data-state="bombing point"] .unit-state,
|
||||||
|
[data-object|="unit"][data-state="carpet bombing"] .unit-state,
|
||||||
|
[data-object|="unit"][data-state="firing at area"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/attack.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="follow"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/follow.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="refuel"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/refuel.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="human"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/human.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="dcs"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/dcs.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-state="no-task"] .unit-state {
|
||||||
|
background-image: url("/resources/theme/images/states/no-task.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** Dead unit ***/
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-selected-spotlight,
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-short-label,
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-vvi,
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-hotgroup,
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-hotgroup-id,
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-state,
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-fuel,
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-ammo,
|
||||||
|
[data-object|="unit"][data-is-dead]:hover .unit-fuel,
|
||||||
|
[data-object|="unit"][data-is-dead]:hover .unit-ammo {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-summary>* {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-object|="unit"][data-is-dead] .unit-summary .unit-callsign {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-temporary-marker {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
#mouse-info-panel {
|
|
||||||
bottom: 60px;
|
|
||||||
display:flex;
|
|
||||||
flex-direction: column;
|
|
||||||
height: fit-content;
|
|
||||||
position: absolute;
|
|
||||||
right: 10px;
|
|
||||||
row-gap: 10px;
|
|
||||||
width: 160px;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#mouse-info-panel > * {
|
|
||||||
background-color: var( --background-grey );
|
|
||||||
border-radius: var( --border-radius-sm );
|
|
||||||
padding:6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#mouse-info-panel dl {
|
|
||||||
margin-bottom:4px;
|
|
||||||
row-gap: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mouse-info-panel dt {
|
|
||||||
height:20px;
|
|
||||||
width:40%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mouse-info-panel dt::after {
|
|
||||||
align-items: center;
|
|
||||||
background-color: white;
|
|
||||||
border-radius: var( --border-radius-sm );
|
|
||||||
color: var( --background-steel );
|
|
||||||
display:flex;
|
|
||||||
font-size:15.6px;
|
|
||||||
font-weight: bolder;
|
|
||||||
height:16px;
|
|
||||||
justify-content: center;
|
|
||||||
line-height: 16px;
|
|
||||||
padding:4px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
width:16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mouse-info-panel dt#ref-measure-position::after {
|
|
||||||
background-image: url( "/images/icons/ruler.svg" );
|
|
||||||
background-position: 50% 50%;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size:16px 16px;
|
|
||||||
content: " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#mouse-info-panel dt[data-label]::after {
|
|
||||||
content: attr( data-label );
|
|
||||||
}
|
|
||||||
|
|
||||||
#mouse-info-panel dt[data-coalition="blue"]::after {
|
|
||||||
background-color: var( --primary-blue );
|
|
||||||
}
|
|
||||||
|
|
||||||
#mouse-info-panel dt[data-coalition="red"]::after {
|
|
||||||
background-color: var( --primary-red );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#mouse-info-panel dt[data-tooltip]:hover::before {
|
|
||||||
background-color: var( --background-grey );
|
|
||||||
border-radius: 5px;
|
|
||||||
content: attr( data-tooltip );
|
|
||||||
display:flex;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
padding: 5px;
|
|
||||||
position: absolute;
|
|
||||||
translate: calc( -100% - 15px ) 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mouse-info-panel dd {
|
|
||||||
width:60%;
|
|
||||||
}
|
|
||||||
446
client/public/stylesheets/other/contextmenus.css
Normal file
@@ -0,0 +1,446 @@
|
|||||||
|
#map-contextmenu {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: fit-content;
|
||||||
|
position: absolute;
|
||||||
|
row-gap: 5px;
|
||||||
|
width: 300px;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#map-contextmenu>div:nth-child(2) {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#map-contextmenu>div:nth-child(3) {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#map-contextmenu>div:nth-child(n+4) {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
row-gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#aircraft-spawn-menu,
|
||||||
|
#helicopter-spawn-menu,
|
||||||
|
#groundunit-spawn-menu,
|
||||||
|
#navyunit-spawn-menu {
|
||||||
|
height: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#active-coalition-label {
|
||||||
|
border-radius: 999px;
|
||||||
|
color: var(--nav-text);
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 600;
|
||||||
|
height: fit-content;
|
||||||
|
padding: 3px 10px;
|
||||||
|
padding-bottom: 3px;
|
||||||
|
position: absolute;
|
||||||
|
top: -28px;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#coalition-switch {
|
||||||
|
margin-right: 10px;
|
||||||
|
height: 25px;
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#aircraft-spawn-menu .ol-select.is-open .ol-select-options,
|
||||||
|
#helicopter-spawn-menu .ol-select.is-open .ol-select-options {
|
||||||
|
max-height: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deploy-unit-button {
|
||||||
|
margin-top: 5px;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deploy-unit-button[data-points]:not([data-points='']):not([data-points='0']):not([data-points='Infinity'])::after {
|
||||||
|
content: " (" attr(data-points) " points)";
|
||||||
|
}
|
||||||
|
|
||||||
|
.upper-bar svg>* {
|
||||||
|
fill: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upper-bar svg {
|
||||||
|
width: 22px;
|
||||||
|
margin: 0px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upper-bar button:nth-child(2) {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="blue"]#active-coalition-label,
|
||||||
|
[data-coalition="blue"].deploy-unit-button,
|
||||||
|
[data-coalition="blue"]#spawn-airbase-aircraft-button,
|
||||||
|
[data-coalition="blue"].create-iads-button {
|
||||||
|
background-color: var(--primary-blue)
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="red"]#active-coalition-label,
|
||||||
|
[data-coalition="red"].deploy-unit-button,
|
||||||
|
[data-coalition="red"]#spawn-airbase-aircraft-button,
|
||||||
|
[data-coalition="red"].create-iads-button {
|
||||||
|
background-color: var(--primary-red)
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="neutral"]#active-coalition-label,
|
||||||
|
[data-coalition="neutral"].deploy-unit-button,
|
||||||
|
[data-coalition="neutral"]#spawn-airbase-aircraft-button,
|
||||||
|
[data-coalition="neutral"].create-iads-button {
|
||||||
|
background-color: var(--primary-neutral)
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="blue"].deploy-unit-button:disabled {
|
||||||
|
background-color: transparent;
|
||||||
|
border: 1px solid var(--primary-blue);
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="red"].deploy-unit-button:disabled {
|
||||||
|
background-color: transparent;
|
||||||
|
border: 1px solid var(--primary-red);
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="neutral"].deploy-unit-button:disabled {
|
||||||
|
background-color: transparent;
|
||||||
|
border: 1px solid var(--primary-neutral);
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="blue"]#active-coalition-label::after {
|
||||||
|
content: "Create blue unit";
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="red"]#active-coalition-label::after {
|
||||||
|
content: "Create red unit";
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-coalition="neutral"]#active-coalition-label::after {
|
||||||
|
content: "Create neutral unit";
|
||||||
|
}
|
||||||
|
|
||||||
|
#aircraft-loadout-preview,
|
||||||
|
#helicopter-loadout-preview {
|
||||||
|
align-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
column-gap: 20px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#aircaft-loadout-list,
|
||||||
|
#helicopter-loadout-list {
|
||||||
|
align-content: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#aircraft-unit-image,
|
||||||
|
#helicopter-unit-image {
|
||||||
|
filter: invert(100%);
|
||||||
|
height: 100px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 10px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#smoke-spawn-menu {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#explosion-menu>button,
|
||||||
|
#smoke-spawn-menu>button {
|
||||||
|
align-items: center;
|
||||||
|
column-gap: 10px;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
text-align: left;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#smoke-spawn-menu>button::before {
|
||||||
|
border-radius: 999px;
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
height: 10px;
|
||||||
|
width: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-smoke-color="red"]::before {
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-smoke-color="white"]::before {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-smoke-color="blue"]::before {
|
||||||
|
background-color: blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-smoke-color="green"]::before {
|
||||||
|
background-color: green;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-smoke-color="orange"]::before {
|
||||||
|
background-color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-context-menu .ol-slider-value {
|
||||||
|
color: var(--accent-light-blue);
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-context-menu .ol-slider-container {
|
||||||
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contextmenu-options-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contextmenu-options-container>*:nth-child(2) {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Unit context menu */
|
||||||
|
#unit-contextmenu {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: fit-content;
|
||||||
|
padding: 15px;
|
||||||
|
position: absolute;
|
||||||
|
row-gap: 5px;
|
||||||
|
width: fit-content;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-contextmenu button {
|
||||||
|
border: 1px solid var(--background-offwhite);
|
||||||
|
border-radius: var(--border-radius-sm);
|
||||||
|
font-weight: normal;
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-contextmenu div {
|
||||||
|
align-content: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-contextmenu div:before {
|
||||||
|
display: inline-block;
|
||||||
|
filter: invert(100%);
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 15px;
|
||||||
|
width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#center-map::before {
|
||||||
|
content: url("/resources/theme/images/icons/arrows-to-eye-solid.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#refuel::before {
|
||||||
|
content: url("/resources/theme/images/icons/fuel.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#attack::before {
|
||||||
|
content: url("/resources/theme/images/icons/sword.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#bomb::before {
|
||||||
|
content: url("/resources/theme/images/icons/crosshairs-solid.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#carpet-bomb::before {
|
||||||
|
content: url("/resources/theme/images/icons/explosion-solid.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#fire-at-area::before {
|
||||||
|
content: url("/resources/theme/images/icons/crosshairs-solid.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#follow::before {
|
||||||
|
content: url("/resources/theme/images/icons/follow.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#trail::before {
|
||||||
|
content: url("/resources/theme/images/icons/trail.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#echelon-lh::before {
|
||||||
|
content: url("/resources/theme/images/icons/echelon-lh.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#echelon-rh::before {
|
||||||
|
content: url("/resources/theme/images/icons/echelon-rh.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#line-abreast-rh::before,
|
||||||
|
#line-abreast-lh::before {
|
||||||
|
content: url("/resources/theme/images/icons/line-abreast.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#front::before {
|
||||||
|
content: url("/resources/theme/images/icons/front.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#diamond::before {
|
||||||
|
content: url("/resources/theme/images/icons/diamond.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom::before {
|
||||||
|
content: url("/resources/theme/images/icons/custom.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-formation-dialog {
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-formation-dialog>.ol-dialog-content {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 10px;
|
||||||
|
row-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-formation-dialog>.ol-dialog-content>.ol-group {
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#reference-system {
|
||||||
|
content: url("/images/reference-system.svg");
|
||||||
|
display: inline-block;
|
||||||
|
filter: invert(100%);
|
||||||
|
position: absolute;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formation-position-clock {
|
||||||
|
height: 100px;
|
||||||
|
margin: 15px;
|
||||||
|
position: relative;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formation-position-clock>.clock-hand {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
height: 20px;
|
||||||
|
justify-content: center;
|
||||||
|
position: absolute;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Airbase context menu */
|
||||||
|
#airbase-contextmenu {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: fit-content;
|
||||||
|
position: absolute;
|
||||||
|
row-gap: 5px;
|
||||||
|
width: 180px;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Coalition area context menu */
|
||||||
|
#coalition-area-contextmenu {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: fit-content;
|
||||||
|
position: absolute;
|
||||||
|
row-gap: 5px;
|
||||||
|
width: 300px;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#coalition-area-switch {
|
||||||
|
margin-right: 10px;
|
||||||
|
height: 25px;
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#coalition-area-contextmenu .ol-checkbox {
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
#coalition-units-checkbox {
|
||||||
|
padding: 10px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#iads-menu .ol-select-options>* {
|
||||||
|
padding-top: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#iads-menu .ol-select-options>*:first-child {
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#iads-menu .ol-select-options>*:last-child {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#iads-menu .ol-select {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#iads-menu {
|
||||||
|
row-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#coalition-area-contextmenu>div:nth-child(2) {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#coalition-area-contextmenu>div:nth-child(n+3) {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
row-gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.create-iads-button {
|
||||||
|
margin-top: 5px;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
13
client/public/stylesheets/other/popup.css
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
.ol-popup > div {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visible {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.invisible {
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 2s linear;
|
||||||
|
}
|
||||||
@@ -1,12 +1,3 @@
|
|||||||
#connection-status-panel {
|
|
||||||
bottom: 20px;
|
|
||||||
font-size:12px;
|
|
||||||
position: absolute;
|
|
||||||
right: 10px;
|
|
||||||
width: 160px;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#connection-status-panel dt::before {
|
#connection-status-panel dt::before {
|
||||||
content: "No connection";
|
content: "No connection";
|
||||||
}
|
}
|
||||||
@@ -15,15 +6,14 @@
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: red;
|
background: red;
|
||||||
content: " ";
|
content: " ";
|
||||||
height:12px;
|
height: 12px;
|
||||||
width:12px;
|
width: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#connection-status-panel[data-is-connected] dt::before {
|
#connection-status-panel[data-is-connected] dt::before {
|
||||||
content: "Connected";
|
content: "Connected";
|
||||||
}
|
}
|
||||||
|
|
||||||
#connection-status-panel[data-is-connected] dd::after {
|
#connection-status-panel[data-is-connected] dd::after {
|
||||||
background:var( --accent-green );
|
background: var(--accent-green);
|
||||||
}
|
}
|
||||||
28
client/public/stylesheets/panels/logpanel.css
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#log-panel>div:first-child {
|
||||||
|
width: 100%;
|
||||||
|
height: 38px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#log-panel svg {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#log-panel>div:nth-child(2) {
|
||||||
|
display: none;
|
||||||
|
margin-top: 5px;
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100% - 40px);
|
||||||
|
background-color: #00000055;
|
||||||
|
}
|
||||||
|
|
||||||
|
#log-panel.open {
|
||||||
|
height: 505px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#log-panel.open>div:nth-child(2) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
109
client/public/stylesheets/panels/mouseinfo.css
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
#mouse-info-panel>* {
|
||||||
|
background-color: var(--background-grey);
|
||||||
|
border-radius: var(--border-radius-sm);
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dl {
|
||||||
|
margin-bottom: 4px;
|
||||||
|
row-gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dt {
|
||||||
|
height: fit-content;
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dt::after {
|
||||||
|
align-items: center;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: var(--border-radius-sm);
|
||||||
|
color: var(--background-steel);
|
||||||
|
display: flex;
|
||||||
|
font-size: 15.6px;
|
||||||
|
font-weight: bolder;
|
||||||
|
height: 16px;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 16px;
|
||||||
|
padding: 4px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel #measuring-tool dt {
|
||||||
|
height: 24px;
|
||||||
|
width: 24px;
|
||||||
|
background-color: var(--background-offwhite);
|
||||||
|
border-radius: var(--border-radius-sm);
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel #measuring-tool svg {
|
||||||
|
padding: 3px;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel #measuring-tool dt svg>* {
|
||||||
|
fill: black;
|
||||||
|
stroke: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dt[data-label]::after {
|
||||||
|
content: attr(data-label);
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dt[data-coalition="blue"]::after {
|
||||||
|
background-color: var(--primary-blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dt[data-coalition="red"]::after {
|
||||||
|
background-color: var(--primary-red);
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dt[data-tooltip]:hover::before {
|
||||||
|
background-color: var(--background-grey);
|
||||||
|
border-radius: 5px;
|
||||||
|
content: attr(data-tooltip);
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
padding: 5px;
|
||||||
|
position: absolute;
|
||||||
|
translate: calc(-100% - 15px) 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mouse-info-panel dd {
|
||||||
|
width: 70%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.br-info::after {
|
||||||
|
content: attr(data-bearing) '\00B0 / ' attr(data-distance) " " attr(data-distance-units);
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 13px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: var(--background-offwhite);
|
||||||
|
}
|
||||||
|
|
||||||
|
.br-info[data-coalition="blue"]::after {
|
||||||
|
color: var(--primary-blue)
|
||||||
|
}
|
||||||
|
|
||||||
|
.br-info[data-coalition="red"]::after {
|
||||||
|
color: var(--primary-red)
|
||||||
|
}
|
||||||
|
|
||||||
|
.br-info[data-message]::after {
|
||||||
|
content: attr(data-message);
|
||||||
|
}
|
||||||
|
|
||||||
|
.coordinates::after {
|
||||||
|
content: attr(data-value);
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 13px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: var(--background-offwhite);
|
||||||
|
}
|
||||||
43
client/public/stylesheets/panels/serverstatus.css
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#server-status-panel {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
column-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#server-status-panel .ol-data-grid {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#server-status-panel .ol-data-grid:first-of-type {
|
||||||
|
border-right: 1px solid gray;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#server-status-panel dd {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fps-low {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fps-medium {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fps-high {
|
||||||
|
color: lightgreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
.load-low {
|
||||||
|
color: lightgreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
.load-medium {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.load-high {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
226
client/public/stylesheets/panels/unitcontrol.css
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
body.feature-forceShowUnitControlPanel #unit-control-panel {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
row-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel h3 {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel #selected-units-container {
|
||||||
|
align-items: left;
|
||||||
|
border-radius: var(--border-radius-md);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
max-height: 215px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
row-gap: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel #selected-units-container button {
|
||||||
|
align-items: center;
|
||||||
|
border-radius: var(--border-radius-md);
|
||||||
|
display: flex;
|
||||||
|
font-size: 11px;
|
||||||
|
height: 32px;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-right: 5px;
|
||||||
|
position: relative;
|
||||||
|
width: calc(100% - 5px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel #selected-units-container button::after {
|
||||||
|
border-radius: 999px;
|
||||||
|
color: var(--secondary-semitransparent-white);
|
||||||
|
content: attr(data-label);
|
||||||
|
font-size: 10px;
|
||||||
|
padding: 4px 6px;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel #selected-units-container button:hover::after {
|
||||||
|
max-width: 100%;
|
||||||
|
text-overflow: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel #selected-units-container button::before {
|
||||||
|
border-radius: var(--border-radius-sm);
|
||||||
|
content: attr(data-callsign);
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 4px;
|
||||||
|
padding-left: 0;
|
||||||
|
text-align: left;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel h4 {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-dialog {
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-dialog>.ol-dialog-content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 10px;
|
||||||
|
row-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-dialog>.ol-dialog-content>div {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
row-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-dialog>.ol-dialog-content>div>.ol-group {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-dialog h4 {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-dialog hr {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#general-settings-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
row-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#general-settings-grid>div {
|
||||||
|
width: 49%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#flight-data .ol-slider {
|
||||||
|
margin: 20px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ol-slider-container dd {
|
||||||
|
column-gap: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#flight-data .ol-switch {
|
||||||
|
height: 20px;
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#flight-data .ol-switch-fill {
|
||||||
|
background-color: var(--accent-light-blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
#flight-data .ol-switch-fill::after {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#altitude-type-switch[data-value="true"]>.ol-switch-fill::before {
|
||||||
|
content: "AGL";
|
||||||
|
}
|
||||||
|
|
||||||
|
#altitude-type-switch[data-value="false"]>.ol-switch-fill::before {
|
||||||
|
content: "ASL";
|
||||||
|
}
|
||||||
|
|
||||||
|
#speed-type-switch[data-value="true"]>.ol-switch-fill::before {
|
||||||
|
content: "GS";
|
||||||
|
}
|
||||||
|
|
||||||
|
#speed-type-switch[data-value="false"]>.ol-switch-fill::before {
|
||||||
|
content: "CAS";
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .ol-slider-value {
|
||||||
|
color: var(--accent-light-blue);
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control {
|
||||||
|
align-items: center;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1.35fr 0.65fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control>*:nth-child(2) {
|
||||||
|
justify-self: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control>*:nth-child(3) {
|
||||||
|
color: var(--secondary-semitransparent-white);
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control h4 {
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control .ol-switch {
|
||||||
|
height: 25px;
|
||||||
|
width: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control .ol-switch-fill {
|
||||||
|
background-color: var(--accent-light-blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control .ol-switch-fill::after {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control .ol-switch[data-value="true"]>.ol-switch-fill::before {
|
||||||
|
content: "YES";
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control-panel .switch-control .ol-switch[data-value="false"]>.ol-switch-fill::before {
|
||||||
|
content: "NO";
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-div {
|
||||||
|
column-gap: 5px;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-div>*:nth-child(2) {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#advanced-settings-div button {
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Element visibility control */
|
||||||
|
#unit-control-panel:not([data-show-categories-tooltip]) #categories-tooltip,
|
||||||
|
#unit-control-panel:not([data-show-speed-slider]) #speed-slider,
|
||||||
|
#unit-control-panel:not([data-show-altitude-slider]) #altitude-slider,
|
||||||
|
#unit-control-panel:not([data-show-roe]) #roe,
|
||||||
|
#unit-control-panel:not([data-show-threat]) #threat,
|
||||||
|
#unit-control-panel:not([data-show-emissions-countermeasures]) #emissions-countermeasures,
|
||||||
|
#unit-control-panel:not([data-show-on-off]) #ai-on-off,
|
||||||
|
#unit-control-panel:not([data-show-follow-roads]) #follow-roads,
|
||||||
|
#unit-control-panel:not([data-show-advanced-settings-button]) #advanced-settings-button,
|
||||||
|
#advanced-settings-dialog:not([data-show-settings]) #general-settings,
|
||||||
|
#advanced-settings-dialog:not([data-show-tasking]) #tasking,
|
||||||
|
#advanced-settings-dialog:not([data-show-tanker]) #tanker-checkbox,
|
||||||
|
#advanced-settings-dialog:not([data-show-AWACS]) #AWACS-checkbox,
|
||||||
|
#advanced-settings-dialog:not([data-show-TACAN]) #TACAN-options,
|
||||||
|
#advanced-settings-dialog:not([data-show-radio]) #radio-options {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
124
client/public/stylesheets/panels/unitinfo.css
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
#unit-info-panel>* {
|
||||||
|
position: relative;
|
||||||
|
min-height: 100px;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#general {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
row-gap: 4px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-control {
|
||||||
|
color: var(--secondary-lighter-grey);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unit-name {
|
||||||
|
margin-bottom: 4px;
|
||||||
|
padding: 0px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#current-task {
|
||||||
|
border-radius: var(--border-radius-md);
|
||||||
|
margin-top: auto;
|
||||||
|
padding: 6px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#current-task::after {
|
||||||
|
content: attr(data-current-task);
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadout {
|
||||||
|
display: flex;
|
||||||
|
overflow: visible;
|
||||||
|
width: 100%;
|
||||||
|
min-width: 125px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadout-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadout-silhouette {
|
||||||
|
filter: invert(100%);
|
||||||
|
height: 100px;
|
||||||
|
margin-right: 25px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadout-items {
|
||||||
|
align-self: center;
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column nowrap;
|
||||||
|
row-gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadout-items>* {
|
||||||
|
align-items: center;
|
||||||
|
column-gap: 8px;
|
||||||
|
display: flex;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadout-items>*::before {
|
||||||
|
align-items: center;
|
||||||
|
background-color: var(--secondary-light-grey);
|
||||||
|
border-radius: 999px;
|
||||||
|
content: attr(data-qty);
|
||||||
|
display: flex;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 4px 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadout-items>*::after {
|
||||||
|
content: attr(data-item);
|
||||||
|
max-width: 125px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fuel-percentage {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
margin-top: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fuel-percentage::before {
|
||||||
|
content: url("/resources/theme/images/icons/fuel.svg");
|
||||||
|
display: inline-block;
|
||||||
|
filter: invert(100%);
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 6px;
|
||||||
|
width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fuel-percentage::after {
|
||||||
|
content: attr(data-percentage) "%";
|
||||||
|
}
|
||||||
|
|
||||||
|
#fuel-display {
|
||||||
|
background-color: var(--background-grey);
|
||||||
|
border-radius: var(--border-radius-md);
|
||||||
|
height: 6px;
|
||||||
|
margin-top: 4px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fuel-display #fuel-bar {
|
||||||
|
border-radius: var(--border-radius-md);
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
body.feature-forceShowUnitControlPanel #unit-control-panel {
|
|
||||||
display:block !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#unit-control-panel {
|
|
||||||
height: fit-content;
|
|
||||||
left: 10px;
|
|
||||||
position: absolute;
|
|
||||||
top: 80px;
|
|
||||||
width: 250px;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-control-panel #selected-units-container {
|
|
||||||
align-items: center;
|
|
||||||
border-radius: var( --border-radius-md );
|
|
||||||
display:flex;
|
|
||||||
flex-direction: column;
|
|
||||||
row-gap: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-control-panel #selected-units-container button {
|
|
||||||
font-size: 12px;
|
|
||||||
padding:8px 0;
|
|
||||||
position: relative;
|
|
||||||
width:90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-control-panel #selected-units-container button::before {
|
|
||||||
background-color: var( --accent-light-blue );
|
|
||||||
border-radius: var( --border-radius-sm );
|
|
||||||
content: attr( data-short-label );
|
|
||||||
padding:4px;
|
|
||||||
position: absolute;
|
|
||||||
translate:-40px -4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-control-panel #selected-units-container button::after {
|
|
||||||
content: attr( data-callsign );
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-control-panel h4 {
|
|
||||||
margin-bottom:8px;
|
|
||||||
margin-top:20px;
|
|
||||||
}
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
|
|
||||||
#unit-info-panel {
|
|
||||||
bottom: 20px;
|
|
||||||
font-size:12px;
|
|
||||||
position: absolute;
|
|
||||||
left: 10px;
|
|
||||||
width: fit-content;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#unit-info-panel #unit-name {
|
|
||||||
line-height: 18px;
|
|
||||||
margin-bottom:10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #current-task {
|
|
||||||
border-radius: var( --border-radius-lg );
|
|
||||||
margin-top:15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #current-task::after {
|
|
||||||
content: attr( data-current-task );
|
|
||||||
display:block;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#unit-info-panel #loadout-data {
|
|
||||||
max-width: 250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #loadout-data .ol-data-grid {
|
|
||||||
margin: 6px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #loadout-data .ol-data-grid dt:first-child {
|
|
||||||
text-indent: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #loadout-data .ol-data-grid dt:first-child::before {
|
|
||||||
content: url( /images/icons/fuel.svg );
|
|
||||||
display:inline-block;
|
|
||||||
filter:invert(100%);
|
|
||||||
height:16px;
|
|
||||||
text-indent:5px;
|
|
||||||
translate:-10px 5%;
|
|
||||||
width:16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #loadout-fuel-level::after {
|
|
||||||
content: attr( data-fuel-level ) "%";
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #loadout-container .loadout-item {
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
#unit-info-panel #loadout-container .loadout-item::before {
|
|
||||||
content: attr( data-loadout-item ) ' \d7 ' attr( data-loadout-qty );
|
|
||||||
}
|
|
||||||
@@ -1,590 +0,0 @@
|
|||||||
:root {
|
|
||||||
/* Generic marker settings */
|
|
||||||
--unit-centre-x: calc( var( --unit-width ) / 2 );
|
|
||||||
--unit-centre-y: calc( var( --unit-height ) / 2 );
|
|
||||||
|
|
||||||
--unit-hotgroup-height: 10px;
|
|
||||||
--unit-hotgroup-width: var( --unit-hotgroup-height );
|
|
||||||
|
|
||||||
|
|
||||||
/* Air units' marker settings */
|
|
||||||
--unit-air-label-x: calc( var( --unit-centre-x ) - ( var( --unit-air-width ) / 2 ) + ( var( --unit-stroke-width ) / 2 ) );
|
|
||||||
--unit-air-label-y: calc( var( --unit-centre-y ) - ( var( --unit-air-height ) / 2 ) + ( var( --unit-stroke-width ) / 2 ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] {
|
|
||||||
align-items: center;
|
|
||||||
cursor:pointer;
|
|
||||||
display:flex;
|
|
||||||
justify-content: center;
|
|
||||||
position:relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-hide-aircraft] #map-container [data-object|="unit-air"],
|
|
||||||
[data-hide-ground] #map-container [data-object|="unit-ground-mi"],
|
|
||||||
[data-hide-sam] #map-container [data-object|="unit-ground-sam"],
|
|
||||||
[data-hide-threat] #map-container .unit-threat,
|
|
||||||
[data-hide-naval] #map-container [data-object|="unit-naval"],
|
|
||||||
[data-hide-blue] #map-container [data-object|="unit"][data-coalition="blue"],
|
|
||||||
[data-hide-red] #map-container [data-object|="unit"][data-coalition="red"],
|
|
||||||
[data-hide-neutral] #map-container [data-object|="unit"][data-coalition="neutral"] {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-selected-spotlight {
|
|
||||||
background-color: var( --unit-spotlight-fill );
|
|
||||||
border-radius: 50%;
|
|
||||||
display:none;
|
|
||||||
padding: var( --unit-spotlight-radius );
|
|
||||||
position: absolute;
|
|
||||||
z-index:1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-vvi {
|
|
||||||
align-self: center;
|
|
||||||
background:var( --secondary-gunmetal-grey );
|
|
||||||
display:flex;
|
|
||||||
justify-self: center;
|
|
||||||
transform-origin: bottom;
|
|
||||||
translate:0 -50%;
|
|
||||||
padding-bottom: calc( ( var( --unit-air-width ) / 2 ) + var( --unit-stroke-width ) );
|
|
||||||
position:absolute;
|
|
||||||
width: var( --unit-air-vvi-width );
|
|
||||||
z-index: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-hotgroup {
|
|
||||||
align-content: center;
|
|
||||||
background-color: black;
|
|
||||||
border-radius: var( --border-radius-xs );
|
|
||||||
display:none;
|
|
||||||
height: var( --unit-hotgroup-height );
|
|
||||||
justify-content: center;
|
|
||||||
position:absolute;
|
|
||||||
transform: rotate( -45deg );
|
|
||||||
translate:0 -275%;
|
|
||||||
width: var( --unit-hotgroup-width );
|
|
||||||
z-index: 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-hotgroup-id {
|
|
||||||
background-color: transparent;
|
|
||||||
color:white;
|
|
||||||
font-size: 9px;
|
|
||||||
font-weight: bolder;
|
|
||||||
transform:rotate( 45deg );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-marker-border {
|
|
||||||
border-radius: var( --border-radius-sm );
|
|
||||||
display:none;
|
|
||||||
height: calc( var( --unit-air-height ) + ( var( --unit-label-border-width ) * 2 ) );
|
|
||||||
position:absolute;
|
|
||||||
width: calc( var( --unit-air-width ) + ( var( --unit-label-border-width ) * 2 ) );
|
|
||||||
z-index:2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************
|
|
||||||
Marker
|
|
||||||
******************************/
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-marker {
|
|
||||||
background-color: transparent;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
position:absolute;
|
|
||||||
transform-origin: center;
|
|
||||||
z-index:3;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Air */
|
|
||||||
|
|
||||||
[data-object|="unit-air"] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-neutral-url );
|
|
||||||
height: var( --unit-air-marker-height );
|
|
||||||
width: var( --unit-air-marker-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-neutral-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-neutral-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-air"][data-coalition="blue"] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][data-coalition="blue"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-blue-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][data-coalition="blue"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-blue-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-air"][data-coalition="red"] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][data-coalition="red"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-red-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][data-coalition="red"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-red-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Ground vehicles (not SAMs) */
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-neutral-url );
|
|
||||||
height: var( --unit-ground-mi-marker-height );
|
|
||||||
width: var( --unit-ground-mi-marker-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-neutral-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-neutral-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"][data-coalition="blue"] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"][data-coalition="blue"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-blue-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"][data-coalition="blue"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-blue-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"][data-coalition="red"] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"][data-coalition="red"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-red-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"][data-coalition="red"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-mi-marker-red-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* SAMs */
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"] .unit-selected-spotlight {
|
|
||||||
translate:0 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-neutral-url );
|
|
||||||
height: var( --unit-sam-marker-height );
|
|
||||||
width: var( --unit-sam-marker-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-neutral-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-neutral-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"][data-coalition="blue"] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"][data-coalition="blue"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-blue-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"][data-coalition="blue"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-blue-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"][data-coalition="red"] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"][data-coalition="red"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-red-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"][data-coalition="red"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-ground-sam-marker-red-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Naval */
|
|
||||||
|
|
||||||
[data-object|="unit-naval"] .unit-selected-spotlight {
|
|
||||||
translate:0 -2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-naval"] .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-neutral-url );
|
|
||||||
height: var( --unit-naval-marker-height );
|
|
||||||
width: var( --unit-naval-marker-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-naval"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-neutral-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-naval"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-neutral-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-naval"][data-coalition="blue"] .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-naval"][data-coalition="blue"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-blue-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-naval"][data-coalition="blue"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-blue-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-naval"][data-coalition="red"] .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-naval"][data-coalition="red"]:hover .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-red-hover-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-naval"][data-coalition="red"][data-is-selected] .unit-marker {
|
|
||||||
background-image: var( --unit-naval-marker-red-selected-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Building */
|
|
||||||
|
|
||||||
[data-object|="unit-building"] .unit-marker {
|
|
||||||
background-image: var( --unit-building-marker-neutral-url );
|
|
||||||
height: var( --unit-building-marker-height );
|
|
||||||
width: var( --unit-building-marker-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-building"][data-coalition="blue"] .unit-marker {
|
|
||||||
background-image: var( --unit-building-marker-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-building"][data-coalition="red"] .unit-marker {
|
|
||||||
background-image: var( --unit-building-marker-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Weapons */
|
|
||||||
|
|
||||||
[data-object|="unit-weapon"] {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-weapon-missile"] .unit-marker {
|
|
||||||
background-image: var( --unit-weapons-missile-marker-neutral-url );
|
|
||||||
height: var( --unit-weapons-missile-marker-height );
|
|
||||||
width: var( --unit-weapons-missile-marker-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-weapon-missile"][data-coalition="blue"] .unit-marker {
|
|
||||||
background-image: var( --unit-weapons-missile-marker-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-weapon-missile"][data-coalition="red"] .unit-marker {
|
|
||||||
background-image: var( --unit-weapons-missile-marker-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************
|
|
||||||
* Labels
|
|
||||||
********************************************/
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-short-label {
|
|
||||||
color: var( --secondary-gunmetal-grey );
|
|
||||||
font-size: var(--unit-font-size);
|
|
||||||
font-weight: var(--unit-font-weight);
|
|
||||||
line-height: normal;
|
|
||||||
position: absolute;
|
|
||||||
z-index:10;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-mi"] .unit-short-label {
|
|
||||||
translate: -1px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-ground-sam"] .unit-short-label {
|
|
||||||
translate:0 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-naval"] .unit-short-label {
|
|
||||||
translate:0 -50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-fuel {
|
|
||||||
background:white;
|
|
||||||
border: var( --unit-air-fuel-border-width ) solid var( --secondary-dark-steel );
|
|
||||||
border-radius: var( --border-radius-sm );
|
|
||||||
display:none;
|
|
||||||
height: var( --unit-air-fuel-height );
|
|
||||||
position: absolute;
|
|
||||||
translate:var( --unit-air-fuel-x ) var( --unit-air-fuel-y );
|
|
||||||
width: var( --unit-air-fuel-width );
|
|
||||||
z-index: 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-fuel-level {
|
|
||||||
background-color: var( --secondary-light-grey );
|
|
||||||
height:100%;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-ammo {
|
|
||||||
column-gap: var( --unit-air-ammo-spacing );
|
|
||||||
display:none;
|
|
||||||
height:fit-content;
|
|
||||||
position:absolute;
|
|
||||||
translate:var( --unit-air-ammo-x ) var( --unit-air-ammo-y );
|
|
||||||
width:fit-content;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-ammo > * {
|
|
||||||
background-color: white;
|
|
||||||
border: var( --unit-air-ammo-border-width ) solid var( --secondary-dark-steel );
|
|
||||||
border-radius: 50%;
|
|
||||||
padding: var( --unit-air-ammo-radius );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-summary {
|
|
||||||
column-gap: 6px;
|
|
||||||
color:white;
|
|
||||||
display:flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
font-size:11px;
|
|
||||||
font-weight: bold;
|
|
||||||
justify-content: right;
|
|
||||||
line-height: 12px;
|
|
||||||
position:absolute;
|
|
||||||
row-gap: 1px;
|
|
||||||
text-shadow:
|
|
||||||
-1px -1px 0 #000,
|
|
||||||
1px -1px 0 #000,
|
|
||||||
-1px 1px 0 #000,
|
|
||||||
1px 1px 0 #000;
|
|
||||||
translate: -60px 0;
|
|
||||||
width:fit-content;
|
|
||||||
z-index:20;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-hide-labels] [data-object|="unit"] .unit-summary {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-summary > * {
|
|
||||||
padding:1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-summary .unit-callsign {
|
|
||||||
color:white;
|
|
||||||
overflow: hidden;
|
|
||||||
text-align: right;
|
|
||||||
transform-origin: right;
|
|
||||||
white-space: nowrap;
|
|
||||||
width: 80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-summary .unit-callsign:hover {
|
|
||||||
direction: rtl;
|
|
||||||
overflow:visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"][data-pilot|="ai"]:hover .unit-ammo,
|
|
||||||
[data-object|="unit"][data-pilot|="ai"]:hover .unit-fuel {
|
|
||||||
display:flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-is-in-hotgroup] .unit-hotgroup,
|
|
||||||
[data-object|="unit"][data-pilot|="ai"][data-is-selected] .unit-ammo,
|
|
||||||
[data-object|="unit"][data-pilot|="ai"][data-is-selected] .unit-fuel,
|
|
||||||
[data-object|="unit"][data-is-selected] .unit-selected-spotlight {
|
|
||||||
display:flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-has-fox-1] .unit-ammo-fox-1,
|
|
||||||
[data-object|="unit"][data-has-fox-2] .unit-ammo-fox-2,
|
|
||||||
[data-object|="unit"][data-has-fox-3] .unit-ammo-fox-3,
|
|
||||||
[data-object|="unit"][data-has-other-ammo] .unit-ammo-other {
|
|
||||||
background-color: var( --secondary-gunmetal-grey );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"][data-coalition="blue"][data-is-selected] .unit-short-label {
|
|
||||||
color: var( --secondary-blue-text );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-coalition="blue"] .unit-fuel-level,
|
|
||||||
[data-object|="unit"][data-coalition="blue"][data-has-fox-1] .unit-ammo-fox-1,
|
|
||||||
[data-object|="unit"][data-coalition="blue"][data-has-fox-2] .unit-ammo-fox-2,
|
|
||||||
[data-object|="unit"][data-coalition="blue"][data-has-fox-3] .unit-ammo-fox-3,
|
|
||||||
[data-object|="unit"][data-coalition="blue"][data-has-other-ammo] .unit-ammo-other {
|
|
||||||
background-color: var( --primary-blue );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-coalition="blue"] .unit-vvi {
|
|
||||||
background-color: var( --secondary-blue-outline );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"][data-coalition="red"][data-is-selected] .unit-short-label {
|
|
||||||
color: var( --secondary-red-text );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-coalition="red"] .unit-fuel-level,
|
|
||||||
[data-object|="unit"][data-coalition="red"][data-has-fox-1] .unit-ammo-fox-1,
|
|
||||||
[data-object|="unit"][data-coalition="red"][data-has-fox-2] .unit-ammo-fox-2,
|
|
||||||
[data-object|="unit"][data-coalition="red"][data-has-fox-3] .unit-ammo-fox-3,
|
|
||||||
[data-object|="unit"][data-coalition="red"][data-has-other-ammo] .unit-ammo-other {
|
|
||||||
background-color: var( --primary-red );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-coalition="blue"] .unit-vvi {
|
|
||||||
background-color: var( --secondary-red-outline );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@keyframes pulse {
|
|
||||||
50% {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-pilot|="ai"][data-has-low-fuel] .unit-fuel {
|
|
||||||
animation: pulse 1.5s linear infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"] .unit-status {
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
position:absolute;
|
|
||||||
height:var( --unit-air-status-rtb-height );
|
|
||||||
width:var( --unit-air-status-rtb-width );
|
|
||||||
z-index: 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-status="rtb"] .unit-status {
|
|
||||||
background-image: var( --unit-air-status-rtb-neutral-url );
|
|
||||||
height:var( --unit-air-status-rtb-height );
|
|
||||||
width:var( --unit-air-status-rtb-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-status="rtb"][data-coalition="blue"] .unit-status {
|
|
||||||
background-image: var( --unit-air-status-rtb-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-status="rtb"][data-coalition="red"] .unit-status {
|
|
||||||
background-image: var( --unit-air-status-rtb-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit"][data-status="hold"] .unit-status {
|
|
||||||
background-image: var( --unit-air-status-hold-neutral-url );
|
|
||||||
height:var( --unit-air-status-hold-height );
|
|
||||||
width:var( --unit-air-status-hold-width );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-status="hold"][data-coalition="blue"] .unit-status {
|
|
||||||
background-image: var( --unit-air-status-hold-blue-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit"][data-status="hold"][data-coalition="red"] .unit-status {
|
|
||||||
background-image: var( --unit-air-status-hold-red-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*** DEAD ***/
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-neutral-dead-url );
|
|
||||||
background-position: 50% 50%;
|
|
||||||
background-size: auto 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][ data-is-dead ][data-coalition="blue"] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-blue-dead-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][ data-is-dead ][data-coalition="red"] .unit-marker {
|
|
||||||
background-image: var( --unit-air-marker-red-dead-url );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-selected-spotlight,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-short-label,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-vvi,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-hotgroup,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-hotgroup-id,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-status,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-fuel,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-ammo,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ]:hover .unit-fuel,
|
|
||||||
[data-object|="unit-air"][ data-is-dead ]:hover .unit-ammo {
|
|
||||||
display:none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-summary > * {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-object|="unit-air"][ data-is-dead ] .unit-summary .unit-callsign {
|
|
||||||
display:block;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="15"
|
||||||
|
height="15"
|
||||||
|
viewBox="0 0 15 15"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="designated.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
width="30px"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="5.9428571"
|
||||||
|
inkscape:cx="-29.026442"
|
||||||
|
inkscape:cy="16.237981"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 7.5000002,0 c 0.498,0 0.9375,0.4395 0.9375,0.9375 V 1.2598 C 11.1621,1.6699 13.3301,3.8379002 13.7402,6.5625002 h 0.3223 c 0.498,0 0.9375,0.4395 0.9375,0.9375 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 H 13.7402 C 13.3301,11.1914 11.1621,13.3594 8.4375002,13.7695 v 0.293 c 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 v -0.293 C 3.8086002,13.3594 1.6406,11.1914 1.2305,8.4375002 h -0.293 c -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 h 0.293 C 1.6406,3.8379002 3.8086002,1.6699 6.5625002,1.2598 V 0.9375 c 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 z m -4.3652,8.4375002 c 0.3515,1.7284998 1.6992,3.0761998 3.4277,3.4276998 V 11.25 c 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 0.498,0 0.9375,0.4395 0.9375,0.9375 v 0.6152 C 10.1367,11.5137 11.4844,10.166 11.8359,8.4375002 H 11.25 c -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 h 0.5859 c -0.3515,-1.6992 -1.6992,-3.0469 -3.3983998,-3.3984 v 0.5859 c 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 v -0.5859 c -1.7285,0.3515 -3.0762,1.6992 -3.4277,3.3984 h 0.6152 c 0.498,0 0.9375,0.4395 0.9375,0.9375 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 z m 4.3652,0 c -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 0.498,0 0.9375,0.4395 0.9375,0.9375 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="14.063629"
|
||||||
|
height="14.9414"
|
||||||
|
viewBox="0 0 14.063629 14.9414"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="return.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="3.218149"
|
||||||
|
inkscape:cy="7.1304087"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 7.0324294,0 c 0.1172,0 0.2637,0.0293 0.3809,0.0879 l 5.5077996,2.3437 c 0.6445,0.293 1.1425,0.9082 1.1425,1.67 -0.0292,2.9296 -1.2304,8.2324 -6.2694996,10.664 -0.498,0.2344 -1.0547,0.2344 -1.5527,0 -5.0391,-2.4316 -6.24020004,-7.7344 -6.24020004,-10.664 -0.0293,-0.7618 0.4687,-1.377 1.11320004,-1.67 l 5.5078,-2.3437 C 6.7394294,0.0293 6.8859294,0 7.0324294,0 Z m 0,1.9629 V 13.0371 C 11.075429,11.0742 12.159429,6.7676 12.188629,4.1602 Z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="13.126647"
|
||||||
|
height="15.015483"
|
||||||
|
viewBox="0 0 13.126647 15.015483"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="free.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="43.789474"
|
||||||
|
inkscape:cx="4.5330529"
|
||||||
|
inkscape:cy="6.7710337"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 10.796771,3.75 c 0,1.31836 -0.7618,2.46094 -1.8750496,3.13476 v 0.61525 c 0,0.5273 -0.43945,0.9375 -0.9375,0.9375 h -2.8125 c -0.52734,0 -0.9375,-0.4102 -0.9375,-0.9375 V 6.88476 c -1.14258,-0.67382 -1.875,-1.8164 -1.875,-3.13476 0,-2.05078 1.875,-3.75 4.21875,-3.75 2.31445,0 4.2187996,1.69922 4.2187996,3.75 z M 4.9373514,5.15625 c 0.49804,0 0.9375,-0.41016 0.9375,-0.9375 0,-0.49805 -0.43946,-0.9375 -0.9375,-0.9375 -0.52735,0 -0.9375,0.43945 -0.9375,0.9375 0,0.52734 0.41015,0.9375 0.9375,0.9375 z m 4.21872,-0.9375 c 0,-0.49805 -0.43943,-0.9375 -0.93748,-0.9375 -0.52734,0 -0.9375,0.43945 -0.9375,0.9375 0,0.52734 0.41016,0.9375 0.9375,0.9375 0.49805,0 0.93748,-0.41016 0.93748,-0.9375 z M 0.10336144,8.02731 c 0.23438,-0.4687 0.79102,-0.6445 1.25976996,-0.4101 l 5.21484,2.6074 5.1854996,-2.6074 c 0.4688,-0.2344 1.0254,-0.0586 1.2598,0.4101 0.2344,0.4688 0.0586,1.0254 -0.4101,1.2598 l -3.9551196,1.9629 3.9551196,1.9922 c 0.4687,0.2344 0.6445,0.791 0.4101,1.2597 -0.2344,0.4688 -0.791,0.6446 -1.2598,0.4102 l -5.1854996,-2.6074 -5.21484,2.6074 c -0.46874996,0.2344 -1.02538996,0.0586 -1.25976996,-0.4102 -0.234374,-0.4687 -0.058593,-1.0253 0.41016,-1.2597 L 4.4685914,11.25001 0.51352144,9.28711 c -0.468753,-0.2344 -0.644534,-0.791 -0.41016,-1.2598 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="9.3896503"
|
||||||
|
height="9.3896503"
|
||||||
|
viewBox="0 0 9.3896503 9.3896503"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="hold.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="1.1989183"
|
||||||
|
inkscape:cy="4.311899"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 9.103975,1.603975 c 0.3809,-0.3515 0.3809,-0.9668 0,-1.3183 -0.3515,-0.3809 -0.9668,-0.3809 -1.3183,0 l -3.0762,3.0761 -3.1055,-3.0761 c -0.3515,-0.3809 -0.9668,-0.3809 -1.3183,0 -0.3809,0.3515 -0.3809,0.9668 0,1.3183 l 3.0761,3.0762 -3.0761,3.1055 c -0.3809,0.3515 -0.3809,0.9668 0,1.3183 0.3515,0.3809 0.9668,0.3809 1.3183,0 l 3.1055,-3.0761 3.0762,3.0761 c 0.3515,0.3809 0.9668,0.3809 1.3183,0 0.3809,-0.3515 0.3809,-0.9668 0,-1.3183 l -3.0761,-3.1055 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
41
client/public/themes/olympus/images/buttons/other/back.svg
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="back.svg"
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="13.078125"
|
||||||
|
inkscape:cx="19.918757"
|
||||||
|
inkscape:cy="17.663082"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
|
||||||
|
<path
|
||||||
|
d="M 29.911273,24.547406 H 2.1935652 c -0.9582092,0 -1.73235714,0.774146 -1.73235714,1.732357 0,0.958208 0.77414794,1.732356 1.73235714,1.732356 H 29.911273 c 0.958209,0 1.732357,-0.774148 1.732357,-1.732356 0,-0.958211 -0.774148,-1.732357 -1.732357,-1.732357 z m -7.215201,-9.890675 c -0.676702,-0.676702 -1.775666,-0.676702 -2.452368,0 l -2.235822,2.241238 V 5.4914811 c 0,-0.9582093 -0.774146,-1.7323555 -1.732357,-1.7323555 -0.958211,0 -1.732355,0.7741462 -1.732355,1.7323555 V 16.897969 l -2.241238,-2.241238 c -0.676702,-0.676702 -1.775666,-0.676702 -2.4523675,0 -0.6767003,0.676702 -0.6767003,1.775666 0,2.452368 l 5.1970695,5.197069 c 0.676701,0.676702 1.775668,0.676702 2.452368,0 l 5.19707,-5.197069 c 0.676703,-0.676702 0.676703,-1.775666 0,-2.452368 z"
|
||||||
|
id="path2"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.0541362"
|
||||||
|
sodipodi:nodetypes="ssssssssccssscssccccs" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
40
client/public/themes/olympus/images/buttons/other/delete.svg
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1940"
|
||||||
|
sodipodi:docname="delete.svg"
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1944" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1942"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="13.078125"
|
||||||
|
inkscape:cx="27.870968"
|
||||||
|
inkscape:cy="20.415771"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1940" />
|
||||||
|
<!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
|
||||||
|
<path
|
||||||
|
d="m 13.120438,4.047182 -1.120204,1.6744053 h 8.548913 L 19.428943,4.047182 C 19.340506,3.9174745 19.193112,3.8349334 19.033925,3.8349334 h -5.524364 c -0.159185,0 -0.306581,0.076645 -0.39502,0.2122486 z m 8.666825,-1.5682824 2.163757,3.2426877 h 0.813623 2.829981 0.471664 c 0.784142,0 1.414993,0.6308515 1.414993,1.4149933 0,0.7841418 -0.630851,1.4149912 -1.414993,1.4149912 H 27.594624 V 26.474805 c 0,2.605944 -2.110695,4.716638 -4.716639,4.716638 H 9.6713954 c -2.6059417,0 -4.7166402,-2.110694 -4.7166402,-4.716638 V 8.5515718 H 4.4830908 c -0.7841402,0 -1.4149907,-0.6308494 -1.4149907,-1.4149912 0,-0.7841418 0.6308505,-1.4149933 1.4149907,-1.4149933 H 4.9547552 7.7847397 8.5983591 L 10.762118,2.4730039 C 11.375281,1.559155 12.407047,1.0049496 13.509561,1.0049496 h 5.524364 c 1.102514,0 2.13428,0.5542053 2.747441,1.4680543 z M 7.7847397,8.5515718 V 26.474805 c 0,1.043557 0.8430989,1.886656 1.8866557,1.886656 H 22.877985 c 1.043557,0 1.886658,-0.843099 1.886658,-1.886656 V 8.5515718 Z m 4.7166383,3.7733162 v 12.263261 c 0,0.51883 -0.424497,0.943327 -0.943327,0.943327 -0.51883,0 -0.943327,-0.424497 -0.943327,-0.943327 V 12.324888 c 0,-0.518832 0.424497,-0.943328 0.943327,-0.943328 0.51883,0 0.943327,0.424496 0.943327,0.943328 z m 4.71664,0 v 12.263261 c 0,0.51883 -0.424499,0.943327 -0.943327,0.943327 -0.518832,0 -0.943328,-0.424497 -0.943328,-0.943327 V 12.324888 c 0,-0.518832 0.424496,-0.943328 0.943328,-0.943328 0.518828,0 0.943327,0.424496 0.943327,0.943328 z m 4.71664,0 v 12.263261 c 0,0.51883 -0.424498,0.943327 -0.943328,0.943327 -0.518829,0 -0.943327,-0.424497 -0.943327,-0.943327 V 12.324888 c 0,-0.518832 0.424498,-0.943328 0.943327,-0.943328 0.51883,0 0.943328,0.424496 0.943328,0.943328 z"
|
||||||
|
id="path1938"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.0589579;stroke-opacity:1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z"/></svg>
|
||||||
|
After Width: | Height: | Size: 508 B |
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="15"
|
||||||
|
height="15"
|
||||||
|
viewBox="0 0 15 15"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="designated.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
width="30px"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="5.9428571"
|
||||||
|
inkscape:cx="-29.026442"
|
||||||
|
inkscape:cy="16.237981"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 7.5000002,0 c 0.498,0 0.9375,0.4395 0.9375,0.9375 V 1.2598 C 11.1621,1.6699 13.3301,3.8379002 13.7402,6.5625002 h 0.3223 c 0.498,0 0.9375,0.4395 0.9375,0.9375 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 H 13.7402 C 13.3301,11.1914 11.1621,13.3594 8.4375002,13.7695 v 0.293 c 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 v -0.293 C 3.8086002,13.3594 1.6406,11.1914 1.2305,8.4375002 h -0.293 c -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 h 0.293 C 1.6406,3.8379002 3.8086002,1.6699 6.5625002,1.2598 V 0.9375 c 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 z m -4.3652,8.4375002 c 0.3515,1.7284998 1.6992,3.0761998 3.4277,3.4276998 V 11.25 c 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 0.498,0 0.9375,0.4395 0.9375,0.9375 v 0.6152 C 10.1367,11.5137 11.4844,10.166 11.8359,8.4375002 H 11.25 c -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 h 0.5859 c -0.3515,-1.6992 -1.6992,-3.0469 -3.3983998,-3.3984 v 0.5859 c 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 v -0.5859 c -1.7285,0.3515 -3.0762,1.6992 -3.4277,3.3984 h 0.6152 c 0.498,0 0.9375,0.4395 0.9375,0.9375 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 z m 4.3652,0 c -0.5273,0 -0.9375,-0.4102 -0.9375,-0.9375 0,-0.498 0.4102,-0.9375 0.9375,-0.9375 0.498,0 0.9375,0.4395 0.9375,0.9375 0,0.5273 -0.4395,0.9375 -0.9375,0.9375 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
43
client/public/themes/olympus/images/buttons/roe/free.svg
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="13.126647"
|
||||||
|
height="15.015483"
|
||||||
|
viewBox="0 0 13.126647 15.015483"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="free.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="43.789474"
|
||||||
|
inkscape:cx="4.5330529"
|
||||||
|
inkscape:cy="6.7710337"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 10.796771,3.75 c 0,1.31836 -0.7618,2.46094 -1.8750496,3.13476 v 0.61525 c 0,0.5273 -0.43945,0.9375 -0.9375,0.9375 h -2.8125 c -0.52734,0 -0.9375,-0.4102 -0.9375,-0.9375 V 6.88476 c -1.14258,-0.67382 -1.875,-1.8164 -1.875,-3.13476 0,-2.05078 1.875,-3.75 4.21875,-3.75 2.31445,0 4.2187996,1.69922 4.2187996,3.75 z M 4.9373514,5.15625 c 0.49804,0 0.9375,-0.41016 0.9375,-0.9375 0,-0.49805 -0.43946,-0.9375 -0.9375,-0.9375 -0.52735,0 -0.9375,0.43945 -0.9375,0.9375 0,0.52734 0.41015,0.9375 0.9375,0.9375 z m 4.21872,-0.9375 c 0,-0.49805 -0.43943,-0.9375 -0.93748,-0.9375 -0.52734,0 -0.9375,0.43945 -0.9375,0.9375 0,0.52734 0.41016,0.9375 0.9375,0.9375 0.49805,0 0.93748,-0.41016 0.93748,-0.9375 z M 0.10336144,8.02731 c 0.23438,-0.4687 0.79102,-0.6445 1.25976996,-0.4101 l 5.21484,2.6074 5.1854996,-2.6074 c 0.4688,-0.2344 1.0254,-0.0586 1.2598,0.4101 0.2344,0.4688 0.0586,1.0254 -0.4101,1.2598 l -3.9551196,1.9629 3.9551196,1.9922 c 0.4687,0.2344 0.6445,0.791 0.4101,1.2597 -0.2344,0.4688 -0.791,0.6446 -1.2598,0.4102 l -5.1854996,-2.6074 -5.21484,2.6074 c -0.46874996,0.2344 -1.02538996,0.0586 -1.25976996,-0.4102 -0.234374,-0.4687 -0.058593,-1.0253 0.41016,-1.2597 L 4.4685914,11.25001 0.51352144,9.28711 c -0.468753,-0.2344 -0.644534,-0.791 -0.41016,-1.2598 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
43
client/public/themes/olympus/images/buttons/roe/hold.svg
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="9.3896503"
|
||||||
|
height="9.3896503"
|
||||||
|
viewBox="0 0 9.3896503 9.3896503"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="hold.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="1.1989183"
|
||||||
|
inkscape:cy="4.311899"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 9.103975,1.603975 c 0.3809,-0.3515 0.3809,-0.9668 0,-1.3183 -0.3515,-0.3809 -0.9668,-0.3809 -1.3183,0 l -3.0762,3.0761 -3.1055,-3.0761 c -0.3515,-0.3809 -0.9668,-0.3809 -1.3183,0 -0.3809,0.3515 -0.3809,0.9668 0,1.3183 l 3.0761,3.0762 -3.0761,3.1055 c -0.3809,0.3515 -0.3809,0.9668 0,1.3183 0.3515,0.3809 0.9668,0.3809 1.3183,0 l 3.1055,-3.0761 3.0762,3.0761 c 0.3515,0.3809 0.9668,0.3809 1.3183,0 0.3809,-0.3515 0.3809,-0.9668 0,-1.3183 l -3.0761,-3.1055 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
43
client/public/themes/olympus/images/buttons/roe/return.svg
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="14.063629"
|
||||||
|
height="14.9414"
|
||||||
|
viewBox="0 0 14.063629 14.9414"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="return.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="3.218149"
|
||||||
|
inkscape:cy="7.1304087"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 7.0324294,0 c 0.1172,0 0.2637,0.0293 0.3809,0.0879 l 5.5077996,2.3437 c 0.6445,0.293 1.1425,0.9082 1.1425,1.67 -0.0292,2.9296 -1.2304,8.2324 -6.2694996,10.664 -0.498,0.2344 -1.0547,0.2344 -1.5527,0 -5.0391,-2.4316 -6.24020004,-7.7344 -6.24020004,-10.664 -0.0293,-0.7618 0.4687,-1.377 1.11320004,-1.67 l 5.5078,-2.3437 C 6.7394294,0.0293 6.8859294,0 7.0324294,0 Z m 0,1.9629 V 13.0371 C 11.075429,11.0742 12.159429,6.7676 12.188629,4.1602 Z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,60 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
sodipodi:docname="aircraft.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata14">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs12" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
id="namedview10"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="18.782524"
|
||||||
|
inkscape:cx="26.114701"
|
||||||
|
inkscape:cy="15.493125"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg8"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<path
|
||||||
|
d="m 25.924821,12.489287 c 1.68985,0 4.671853,1.44138 4.671853,3.180851 0,1.789275 -2.982003,3.180853 -4.671853,3.180853 h -5.81496 l -4.970125,8.747341 c -0.298273,0.496938 -0.845015,0.795212 -1.391577,0.795212 h -2.783336 c -0.546743,0 -0.944259,-0.496941 -0.795213,-0.994063 l 2.435441,-8.54849 H 7.5355007 L 5.348676,21.733567 C 5.1995608,21.932416 5.0007624,22.031842 4.7522572,22.031842 H 2.6648175 c -0.3976052,0 -0.6958054,-0.298275 -0.6958054,-0.695789 0,-0.04981 0,-0.09943 0,-0.149048 l 1.590426,-5.516867 -1.590426,-5.467065 c 0,-0.04981 0,-0.09943 0,-0.198849 0,-0.3478937 0.2982002,-0.6957888 0.6958054,-0.6957888 h 2.0874397 c 0.2485052,0 0.4473003,0.1490479 0.5964188,0.3478951 L 7.5355007,12.489287 H 12.605051 L 10.16961,3.9904523 C 10.020569,3.4934397 10.41808,2.9467331 10.964823,2.9467331 h 2.783336 c 0.546562,0 1.093304,0.3479124 1.391577,0.8449069 l 4.970125,8.697647 z"
|
||||||
|
fill="#202831"
|
||||||
|
id="path4"
|
||||||
|
style="fill-opacity:1;stroke-width:1.81764" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,42 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 32 31.999584"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="explosion.svg"
|
||||||
|
width="32"
|
||||||
|
height="31.999584"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="13.078125"
|
||||||
|
inkscape:cx="18.389486"
|
||||||
|
inkscape:cy="12.157706"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
|
||||||
|
<path
|
||||||
|
d="m 26.759564,2.1225723 c 0.340688,-0.6068538 1.042401,-0.822372 1.611908,-0.4820802 0.569507,0.3402919 0.80341,1.1059486 0.538997,1.7581747 L 21.939094,20.685494 c 0.111864,0.130442 0.218653,0.266561 0.320348,0.402678 l 4.942507,-3.102328 c 0.533912,-0.334619 1.200033,-0.175817 1.571229,0.362979 0.371196,0.538795 0.320348,1.304451 -0.111863,1.786531 l -4.423848,4.934232 h -3.635691 c -0.671205,-2.11548 -2.476338,-3.629779 -4.601819,-3.629779 -2.125482,0 -3.9357,1.514299 -4.601818,3.629779 H 7.345485 L 3.506398,22.109048 C 3.013164,21.729056 2.840278,20.997429 3.104692,20.390574 3.369106,19.783721 3.989462,19.488801 4.564053,19.687305 L 9.50656,21.411449 C 9.659102,21.190258 9.8167362,20.974741 9.9845364,20.770566 L 6.816656,14.883519 c -0.310177,-0.572827 -0.198311,-1.310126 0.25933,-1.741162 0.457639,-0.431036 1.128844,-0.425365 1.581397,0.0055 l 5.20692,4.985277 c 0.07626,-0.02268 0.152542,-0.04537 0.22882,-0.06239 l 0.691544,-8.093192 c 0.06101,-0.6975963 0.584761,-1.2307211 1.215286,-1.2307211 0.630526,0 1.154267,0.5331248 1.215285,1.2307211 l 0.686461,8.047904 z M 4.609817,26.890147 v 0 H 27.39009 v 0 h 1.627161 c 0.900024,0 1.627164,0.81103 1.627164,1.814891 0,1.003862 -0.72714,1.814889 -1.627164,1.814889 H 2.982655 c -0.900024,0 -1.627163,-0.811027 -1.627163,-1.814889 0,-1.003861 0.727139,-1.814891 1.627163,-1.814891 z M 15.999953,1.4816894 c 0.676288,0 1.220371,0.6068538 1.220371,1.3611673 v 2.7223348 c 0,0.7543135 -0.544083,1.3611677 -1.220371,1.3611677 -0.676289,0 -1.220372,-0.6068542 -1.220372,-1.3611677 V 2.8428567 c 0,-0.7543135 0.544083,-1.3611673 1.220372,-1.3611673 z"
|
||||||
|
fill="#ffffff"
|
||||||
|
stroke="#ffffff"
|
||||||
|
id="path2"
|
||||||
|
style="fill-opacity:1;stroke-width:0.0537019" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
@@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
sodipodi:docname="helicopter.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata14">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs12" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
id="namedview10"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="13.28125"
|
||||||
|
inkscape:cx="11.858824"
|
||||||
|
inkscape:cy="13.101176"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg8"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<path
|
||||||
|
d="m 6.3544349,4.6930773 c 0,-0.8721964 0.7046585,-1.5768552 1.5768567,-1.5768552 H 26.853493 c 0.872197,0 1.576856,0.7046588 1.576856,1.5768552 0,0.8721978 -0.704659,1.5768478 -1.576856,1.5768478 h -7.884254 v 3.1537018 h 1.576855 c 4.356045,0 7.884255,3.5282031 7.884255,7.8842541 v 3.153697 c 0,0.872195 -0.704659,1.576855 -1.576856,1.576855 h -7.884254 -3.153695 c -0.990466,0 -1.926715,-0.468129 -2.522966,-1.26148 L 9.7742292,16.085817 c -0.1724691,-0.2316 -0.4089908,-0.408991 -0.67509,-0.517398 l -6.72625,-2.690505 C 1.90476,12.690662 1.5499693,12.286593 1.4267781,11.793826 L 0.29342123,7.25053 C 0.16529133,6.7528385 0.54472759,6.2699251 1.0572018,6.2699251 h 1.3551113 c 0.49769,0 0.9658193,0.2315996 1.2614793,0.6307441 L 5.5660161,9.4236269 H 15.815544 V 6.2699251 H 7.9312916 c -0.8721982,0 -1.5768567,-0.70465 -1.5768567,-1.5768478 z M 18.969239,18.884729 h 6.307407 v -1.576848 c 0,-2.611659 -2.118892,-4.73055 -4.730552,-4.73055 h -1.576855 z m 12.151606,5.19375 c 0.615961,0.615957 0.615961,1.616279 0,2.232229 l -0.192176,0.192183 c -1.182641,1.182634 -2.789057,1.84787 -4.459529,1.84787 h -13.8073 c -0.872195,0 -1.576855,-0.704658 -1.576855,-1.576847 0,-0.872197 0.70466,-1.576855 1.576855,-1.576855 h 13.8073 c 0.837698,0 1.640911,-0.330154 2.232231,-0.921474 l 0.192176,-0.192177 c 0.615959,-0.615959 1.61627,-0.615959 2.232229,0 z"
|
||||||
|
id="path1174"
|
||||||
|
style="fill-opacity:1;stroke-width:0.0492765" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.0 KiB |
70
client/public/themes/olympus/images/buttons/spawn/more.svg
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
sodipodi:docname="unit.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata14">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs12" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
id="namedview10"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="9.391262"
|
||||||
|
inkscape:cx="25.715394"
|
||||||
|
inkscape:cy="24.171405"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg8"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<rect
|
||||||
|
id="rect894"
|
||||||
|
width="5.696785"
|
||||||
|
height="22.699497"
|
||||||
|
x="13.203763"
|
||||||
|
y="4.5254831"
|
||||||
|
ry="1.6436043" />
|
||||||
|
<rect
|
||||||
|
id="rect894-7"
|
||||||
|
width="5.696785"
|
||||||
|
height="22.699497"
|
||||||
|
x="12.751214"
|
||||||
|
y="-27.588247"
|
||||||
|
ry="1.6436043"
|
||||||
|
transform="rotate(90)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
sodipodi:docname="navyunit.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata14">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs12" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
id="namedview10"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="18.782524"
|
||||||
|
inkscape:cx="35.857801"
|
||||||
|
inkscape:cy="16.398222"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg8"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<path
|
||||||
|
d="m 11.24439,3.5672501 c 0,-0.9200678 0.743331,-1.6634002 1.663401,-1.6634002 h 6.653596 c 0.920068,0 1.663398,0.7433324 1.663398,1.6634002 v 1.6633976 h 2.495098 c 1.377503,0 2.495102,1.1175989 2.495102,2.4951006 v 6.6535967 l 2.307964,0.769323 c 1.200768,0.400255 1.533447,1.949294 0.597785,2.801785 l -5.250104,4.813463 c -0.842097,0.488625 -1.803748,0.784917 -2.645845,0.784917 -1.018831,0 -2.120833,-0.400253 -3.077288,-1.055219 -1.148785,-0.805708 -2.682232,-0.805708 -3.831017,0 -0.88888,0.613379 -1.975286,1.055219 -3.077289,1.055219 -0.842094,0 -1.8037459,-0.296292 -2.6458445,-0.784917 L 3.3432428,17.950453 C 2.4075824,17.092766 2.7402625,15.548923 3.9410271,15.148668 L 6.25419,14.379345 V 7.7257483 c 0,-1.3775017 1.1175986,-2.4951006 2.4951017,-2.4951006 H 11.24439 Z M 9.5809881,13.272145 15.184569,11.406021 c 0.680952,-0.228708 1.419085,-0.228708 2.105238,0 l 5.59838,1.866124 V 8.5574463 H 9.5809881 Z m 7.6152529,10.562584 c 1.169577,0.805711 2.599061,1.356711 4.028544,1.356711 1.398295,0 2.879759,-0.561396 4.023347,-1.356711 v 0 c 0.618575,-0.44184 1.460674,-0.405453 2.037665,0.08836 0.748531,0.618578 1.689389,1.091607 2.630247,1.309929 0.894079,0.207933 1.45028,1.102 1.242353,1.996079 -0.207931,0.894078 -1.102001,1.450276 -1.99608,1.242351 -1.273537,-0.296292 -2.333955,-0.857691 -3.025306,-1.299534 -1.507454,0.81091 -3.196843,1.346319 -4.912226,1.346319 -1.6582,0 -3.150063,-0.514616 -4.17929,-0.982449 -0.301493,-0.140338 -0.576991,-0.275498 -0.810906,-0.400255 -0.233924,0.12477 -0.50422,0.265105 -0.810908,0.400255 -1.02923,0.467833 -2.521091,0.982449 -4.179291,0.982449 -1.7153815,0 -3.404772,-0.535409 -4.9122277,-1.341118 C 5.6356148,27.613758 4.5803957,28.180351 3.306857,28.476646 2.4127783,28.684579 1.5186998,28.128372 1.3107769,27.234294 1.1028445,26.340218 1.6590517,25.44614 2.5531281,25.238215 3.4939891,25.019896 4.4348476,24.546866 5.1833783,23.928289 5.7603695,23.439666 6.6024647,23.403277 7.2210429,23.83993 v 0 c 1.1487833,0.790114 2.6250524,1.35151 4.0233471,1.35151 1.429485,0 2.858967,-0.550998 4.028544,-1.356711 0.576995,-0.410651 1.346314,-0.410651 1.923307,3e-6 z"
|
||||||
|
id="path6267"
|
||||||
|
style="fill-opacity:1;stroke-width:0.0519812" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.7 KiB |
65
client/public/themes/olympus/images/buttons/spawn/sam.svg
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
69
client/public/themes/olympus/images/buttons/spawn/smoke.svg
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg15"
|
||||||
|
sodipodi:docname="smoke.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata19">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<sodipodi:namedview
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
id="namedview17"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="18.782524"
|
||||||
|
inkscape:cx="15.572987"
|
||||||
|
inkscape:cy="14.481547"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg15"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<path
|
||||||
|
style="fill-opacity:1;stroke:none;stroke-width:0.0484484;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 2.1124942,10.397531 c 0,3.896829 3.0916459,7.058413 6.902283,7.058413 h 5.9100798 c 1.083274,0.975432 2.502076,1.568533 4.059882,1.568533 1.557807,0 2.976608,-0.593101 4.059884,-1.568533 h 1.308559 c 2.967023,0 5.36844,-2.455741 5.36844,-5.489878 0,-3.0341379 -2.401417,-5.4898771 -5.36844,-5.4898771 -0.512881,0 -1.006585,0.073539 -1.476324,0.2107723 -1.025756,-1.9900807 -3.072474,-3.3478452 -5.42596,-3.3478452 -1.5626,0 -2.990989,0.5980041 -4.079057,1.5832415 C 12.183116,3.9322186 10.668447,3.339116 9.0147772,3.339116 c -3.8106371,0 -6.902283,3.1615822 -6.902283,7.058415 z M 30.105081,21.377284 H 13.999759 c -0.637501,0 -1.150382,0.52448 -1.150382,1.176402 0,0.651921 0.512881,1.176402 1.150382,1.176402 h 16.105322 c 0.637505,0 1.150382,-0.524481 1.150382,-1.176402 0,-0.651922 -0.512877,-1.176402 -1.150382,-1.176402 z m -3.067679,4.705608 h -5.36844 c -0.637503,0 -1.150383,0.52448 -1.150383,1.176405 0,0.651921 0.51288,1.176399 1.150383,1.176399 h 5.36844 c 0.637501,0 1.15038,-0.524478 1.15038,-1.176399 0,-0.651925 -0.512879,-1.176405 -1.15038,-1.176405 z m -9.203043,0 H 1.7290339 c -0.6375035,0 -1.15038115,0.52448 -1.15038115,1.176405 0,0.651921 0.51287765,1.176399 1.15038115,1.176399 H 17.834359 c 0.637503,0 1.15038,-0.524478 1.15038,-1.176399 0,-0.651925 -0.512877,-1.176405 -1.15038,-1.176405 z m -6.518823,-3.529206 c 0,-0.651922 -0.512876,-1.176402 -1.150379,-1.176402 H 5.180174 c -0.6375013,0 -1.1503785,0.52448 -1.1503785,1.176402 0,0.651921 0.5128772,1.176402 1.1503785,1.176402 h 4.984983 c 0.637503,0 1.150379,-0.524481 1.150379,-1.176402 z"
|
||||||
|
id="path2-7" />
|
||||||
|
<defs
|
||||||
|
id="defs13">
|
||||||
|
<clipPath
|
||||||
|
id="clip0_277_1705">
|
||||||
|
<rect
|
||||||
|
width="19"
|
||||||
|
height="19"
|
||||||
|
fill="white"
|
||||||
|
transform="translate(6.5 6.5)"
|
||||||
|
id="rect10" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.5 KiB |
62
client/public/themes/olympus/images/buttons/threat/evade.svg
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="23.317165"
|
||||||
|
height="17.896727"
|
||||||
|
viewBox="0 0 23.317165 17.896727"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg12"
|
||||||
|
sodipodi:docname="evade.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs16" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview14"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="11.757812"
|
||||||
|
inkscape:cy="9.4020433"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg12" />
|
||||||
|
<path
|
||||||
|
d="m 0.02182384,14.515426 c -0.0453,0.1119 -0.01864,0.2398 0.06662,0.325 0.08526,0.0853 0.21314,0.1119 0.32505,0.0666 l 1.95830996,-0.7833 c 0.15188,-0.0613 0.2891,-0.1505 0.405,-0.2664 l 1.02578,-1.0258 3.03735,0.7993 -0.2504,0.2504 c -0.1772,0.1772 -0.1772,0.4623 0,0.6395 0.1772,0.1772 0.4623,0.1772 0.6394,0 l 0.7461,-0.746 0.4263,-0.4263 0.3197,-0.3198 c 0.1772,-0.1771 0.1772,-0.4622 0,-0.6394 -0.1772,-0.1772 -0.4623,-0.1772 -0.6395,0 l -0.1065,0.1066 -1.9184,-1.9184 0.4356,-0.4356 1.4628,0.0959 c 0.0866,0.0066 0.1718,-0.0253 0.2331,-0.0866 l 0.2132,-0.2130999 c 0.1172,-0.1173 0.1172,-0.3091 0,-0.4263 l -1.2789,-1.2789 -0.8526,0.8526 c -0.1173,0.1172 -0.3091,0.1172 -0.4263,0 -0.1173,-0.1173 -0.1173,-0.3091 0,-0.4263 l 0.8526,-0.8526 -1.2789,-1.2789 c -0.1173,-0.1173 -0.3091,-0.1173 -0.4263,0 l -0.2132,0.2131 c -0.0613,0.0613 -0.0933,0.1465 -0.0866,0.2331 l 0.0959,1.4628 -0.4356,0.4356 -1.91834,-1.9183 0.10657,-0.1066 c 0.17717,-0.1772 0.17717,-0.4623 0,-0.6395 -0.17717,-0.1771 -0.46228,-0.1771 -0.63945,0 l -0.31972,0.3198 -0.4263,0.4263 -0.74602996,0.746 c -0.17717,0.1772 -0.17717,0.4623 0,0.6394 0.17717,0.1772 0.46228,0.1772 0.63944996,0 l 0.25041,-0.2504 0.79936,3.0373999 -1.02578,1.0258 c -0.11590996,0.1159 -0.20516996,0.2531 -0.26644996,0.405 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
d="m 9.0916338,5.3111261 c 2.5638002,-2.3307 8.3905002,-6.43275 11.1873002,-4.19528 3.4961,2.79688 4.1953,9.0895799 -2.7968,16.7808799"
|
||||||
|
stroke="#5ca7ff"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-dasharray="2, 2"
|
||||||
|
id="path4"
|
||||||
|
style="fill:none" />
|
||||||
|
<path
|
||||||
|
d="m 14.783034,12.805026 -0.1001,0.8985 0.9106,-0.2539 0.0806,0.6152 -0.8301,0.0586 0.5444,0.7251 -0.5542,0.2954 -0.3808,-0.7642 -0.3345,0.7593 -0.5762,-0.2905 0.5396,-0.7251 -0.8252,-0.0635 0.0952,-0.6103 0.8911,0.2539 -0.1001,-0.8985 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path6" />
|
||||||
|
<path
|
||||||
|
d="m 13.384534,7.2113261 -0.1001,0.8984 0.9107,-0.2539 0.0805,0.6152 -0.83,0.0586 0.5444,0.7251 -0.5542,0.2954 -0.3809,-0.7641 -0.3344,0.7593 -0.5762,-0.2906 0.5395,-0.7251 -0.8252,-0.0634 0.0953,-0.6104 0.8911,0.2539 -0.1001,-0.8984 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path8" />
|
||||||
|
<path
|
||||||
|
d="m 18.977834,7.2113261 -0.1001,0.8984 0.9106,-0.2539 0.0806,0.6152 -0.8301,0.0586 0.5445,0.7251 -0.5542,0.2954 -0.3809,-0.7641 -0.3345,0.7593 -0.5761,-0.2906 0.5395,-0.7251 -0.8252,-0.0634 0.0952,-0.6104 0.8911,0.2539 -0.1001,-0.8984 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path10" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1,50 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="23.317165"
|
||||||
|
height="17.896727"
|
||||||
|
viewBox="0 0 23.317165 17.896727"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg12"
|
||||||
|
sodipodi:docname="manoeuvre.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs16" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview14"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="11.757812"
|
||||||
|
inkscape:cy="9.4020431"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg12" />
|
||||||
|
<path
|
||||||
|
d="m 0.02182384,14.515426 c -0.0453,0.1119 -0.01864,0.2398 0.06662,0.325 0.08526,0.0853 0.21314,0.1119 0.32505,0.0666 l 1.95830996,-0.7833 c 0.15188,-0.0613 0.2891,-0.1505 0.405,-0.2664 l 1.02578,-1.0258 3.03735,0.7993 -0.2504,0.2504 c -0.1772,0.1772 -0.1772,0.4623 0,0.6395 0.1772,0.1772 0.4623,0.1772 0.6394,0 l 0.7461,-0.746 0.4263,-0.4263 0.3197,-0.3198 c 0.1772,-0.1771 0.1772,-0.4622 0,-0.6394 -0.1772,-0.1772 -0.4623,-0.1772 -0.6395,0 l -0.1065,0.1066 -1.9184,-1.9184 0.4356,-0.4356 1.4628,0.0959 c 0.0866,0.0066 0.1718,-0.0253 0.2331,-0.0866 l 0.2132,-0.2130999 c 0.1172,-0.1173 0.1172,-0.3091 0,-0.4263 l -1.2789,-1.2789 -0.8526,0.8526 c -0.1173,0.1172 -0.3091,0.1172 -0.4263,0 -0.1173,-0.1173 -0.1173,-0.3091 0,-0.4263 l 0.8526,-0.8526 -1.2789,-1.2789 c -0.1173,-0.1173 -0.3091,-0.1173 -0.4263,0 l -0.2132,0.2131 c -0.0613,0.0613 -0.0933,0.1465 -0.0866,0.2331 l 0.0959,1.4628 -0.4356,0.4356 -1.91834,-1.9183 0.10657,-0.1066 c 0.17717,-0.1772 0.17717,-0.4623 0,-0.6395 -0.17717,-0.1771 -0.46228,-0.1771 -0.63945,0 l -0.31972,0.3198 -0.4263,0.4263 -0.74602996,0.746 c -0.17717,0.1772 -0.17717,0.4623 0,0.6394 0.17717,0.1772 0.46228,0.1772 0.63944996,0 l 0.25041,-0.2504 0.79936,3.0373999 -1.02578,1.0258 c -0.11590996,0.1159 -0.20516996,0.2531 -0.26644996,0.405 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
d="m 9.0916338,5.3111261 c 2.5638002,-2.3307 8.3905002,-6.43275 11.1873002,-4.19528 3.4961,2.79688 4.1953,9.0895799 -2.7968,16.7808799"
|
||||||
|
stroke="#5ca7ff"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-dasharray="2, 2"
|
||||||
|
id="path4"
|
||||||
|
style="fill:none" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
43
client/public/themes/olympus/images/buttons/threat/none.svg
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="9.3896503"
|
||||||
|
height="9.3896503"
|
||||||
|
viewBox="0 0 9.3896503 9.3896503"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="none.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="4.984976"
|
||||||
|
inkscape:cy="4.311899"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 9.103975,1.603975 c 0.3809,-0.3515 0.3809,-0.9668 0,-1.3183 -0.3515,-0.3809 -0.9668,-0.3809 -1.3183,0 l -3.0762,3.0761 -3.1055,-3.0761 c -0.3515,-0.3809 -0.9668,-0.3809 -1.3183,0 -0.3809,0.3515 -0.3809,0.9668 0,1.3183 l 3.0761,3.0762 -3.0761,3.1055 c -0.3809,0.3515 -0.3809,0.9668 0,1.3183 0.3515,0.3809 0.9668,0.3809 1.3183,0 l 3.1055,-3.0761 3.0762,3.0761 c 0.3515,0.3809 0.9668,0.3809 1.3183,0 0.3809,-0.3515 0.3809,-0.9668 0,-1.3183 l -3.0761,-3.1055 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,64 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="23.2749"
|
||||||
|
height="12.9971"
|
||||||
|
viewBox="0 0 23.2749 12.9971"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg14"
|
||||||
|
sodipodi:docname="passive.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs18" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview16"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:zoom="23.771429"
|
||||||
|
inkscape:cx="11.631611"
|
||||||
|
inkscape:cy="6.7518029"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg14" />
|
||||||
|
<path
|
||||||
|
d="M 0.1977,6.4546 C 0.07745,6.5055 0,6.6237 0,6.7542 0,6.8846 0.07745,7.0028 0.1977,7.0538 l 2.09719,0.8987 c 0.16304,0.0694 0.33629,0.106 0.51361,0.106 h 1.5693 l 1.712,2.9349 H 5.7067 c -0.2711,0 -0.4892,0.2181 -0.4892,0.4891 0,0.2711 0.2181,0.4892 0.4892,0.4892 H 6.848 7.5002 7.9893 c 0.2711,0 0.4892,-0.2181 0.4892,-0.4892 0,-0.271 -0.2181,-0.4891 -0.4892,-0.4891 H 7.8263 V 8.0585 h 0.6664 l 1.0456,1.1923 c 0.0611,0.0713 0.1508,0.1121 0.2445,0.1121 h 0.3261 c 0.1794,0 0.3261,-0.1467 0.3261,-0.3261 V 7.0802 H 9.1306 c -0.1793,0 -0.326,-0.1467 -0.326,-0.326 0,-0.1794 0.1467,-0.3261 0.326,-0.3261 H 10.435 V 4.4715 c 0,-0.1794 -0.1467,-0.3261 -0.3261,-0.3261 H 9.7828 c -0.0937,0 -0.1834,0.0407 -0.2445,0.112 L 8.4927,5.4498 H 7.8263 V 2.5149 h 0.163 c 0.2711,0 0.4892,-0.2181 0.4892,-0.4891 0,-0.2711 -0.2181,-0.4892 -0.4892,-0.4892 H 7.5002 6.848 5.7067 c -0.2711,0 -0.4892,0.2181 -0.4892,0.4892 0,0.271 0.2181,0.4891 0.4892,0.4891 H 6.0898 L 4.3778,5.4498 H 2.8085 c -0.17732,0 -0.35057,0.0367 -0.51361,0.106 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
d="M 12.8398,6.5498 H 23.2749"
|
||||||
|
stroke="#5ca7ff"
|
||||||
|
stroke-dasharray="2, 2"
|
||||||
|
id="path4" />
|
||||||
|
<path
|
||||||
|
d="m 16.4116,9 -0.1,0.8984 0.9106,-0.2539 0.0806,0.6152 -0.8301,0.0586 0.5444,0.7251 -0.5542,0.2955 L 16.0821,10.5747 15.7476,11.334 15.1714,11.0434 15.711,10.3183 14.8858,10.2549 14.981,9.6445 15.8721,9.8984 15.772,9 Z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path6" />
|
||||||
|
<path
|
||||||
|
d="m 21.4116,10.6582 -0.1,0.8984 0.9106,-0.2539 0.0806,0.6153 -0.8301,0.0585 0.5444,0.7251 -0.5542,0.2955 -0.3808,-0.7642 -0.3345,0.7593 -0.5762,-0.2906 0.5396,-0.7251 -0.8252,-0.0634 0.0952,-0.6104 0.8911,0.2539 -0.1001,-0.8984 z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path8" />
|
||||||
|
<path
|
||||||
|
d="m 21.4116,0 -0.1,0.8984 0.9106,-0.2539 0.0806,0.6152 -0.8301,0.0586 0.5444,0.7251 L 21.4629,2.3389 21.0821,1.5747 20.7476,2.334 20.1714,2.0434 20.711,1.3183 19.8858,1.2549 19.981,0.6445 20.8721,0.8984 20.772,0 Z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path10" />
|
||||||
|
<path
|
||||||
|
d="m 16.4116,1.6582 -0.1,0.8984 0.9106,-0.2539 0.0806,0.6153 -0.8301,0.0585 0.5444,0.7251 L 16.4629,3.9971 16.0821,3.2329 15.7476,3.9922 15.1714,3.7016 15.711,2.9765 14.8858,2.9131 14.981,2.3027 15.8721,2.5566 15.772,1.6582 Z"
|
||||||
|
fill="#5ca7ff"
|
||||||
|
id="path12" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M96 151.4V360.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c0-.1 .1-.2 .1-.3l-4.5-7.9-32-56 0 0c-1.4 .1-2.8 .1-4.2 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64c1.4 0 2.8 0 4.2 .1l0 0 32-56 4.5-7.9-.1-.3H119.4c-5.6 9.7-13.7 17.8-23.4 23.4zM384.3 352c35.2 .2 63.7 28.7 63.7 64c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V151.4C12.9 140.4 0 119.7 0 96C0 60.7 28.7 32 64 32c23.7 0 44.4 12.9 55.4 32H328.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 35.3-28.5 63.8-63.7 64l-4.5 7.9-32 56-2.3 4c4.2 8.5 6.5 18 6.5 28.1s-2.3 19.6-6.5 28.1l2.3 4 32 56 4.5 7.9z"/></svg>
|
||||||
|
After Width: | Height: | Size: 872 B |
44
client/public/themes/olympus/images/buttons/tools/ground.svg
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="ground.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="1.1559539"
|
||||||
|
inkscape:cx="432.97576"
|
||||||
|
inkscape:cy="301.91516"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
|
||||||
|
<path
|
||||||
|
d="m 130.61192,122.94993 c 4.83398,-2.4171 10.52734,-2.4171 15.36132,0 l 85.9375,42.97085 c 8.48633,4.24336 11.92383,14.55637 7.68066,23.04312 -3.00781,6.01593 -9.07714,9.5073 -15.36132,9.5073 v 42.97085 c 0,9.50729 -7.68066,17.18833 -17.1875,17.18833 h -2.63184 l 17.1875,103.13004 266.68729,0 c 9.50683,0 17.1875,7.68105 17.1875,17.18835 0,9.5073 -7.68067,17.18833 -17.1875,17.18833 l -280.97441,0 H 206.72031 69.86485 69.27404 17.98008 c -9.50683,0 -17.1875,-7.68103 -17.1875,-17.18833 0,-9.5073 7.68067,-17.18835 17.1875,-17.18835 h 37.00684 l 17.1875,-103.13004 h -2.63184 c -9.50684,0 -17.1875,-7.68104 -17.1875,-17.18833 V 198.4712 c -6.28418,0 -12.35351,-3.49137 -15.36132,-9.5073 -4.24317,-8.48675 -0.80567,-18.79976 7.68066,-23.04312 z m 39.10155,238.81049 -31.42089,-26.21222 -31.4209,26.21222 z m -62.68066,-103.13004 -2.52441,15.20096 33.78418,28.19961 33.78418,-28.19961 -2.52441,-15.20096 z m -7.46582,44.68969 -6.01561,35.98808 24.59961,-20.51857 z m 58.86718,15.46951 24.59961,20.46487 -6.01561,-35.98809 z M 95.32383,189.87702 c -4.72656,0 -8.59374,3.86738 -8.59374,8.59418 0,4.72679 3.86718,8.59417 8.59374,8.59417 h 85.9375 c 4.72656,0 8.59374,-3.86738 8.59374,-8.59417 0,-4.7268 -3.86718,-8.59418 -8.59374,-8.59418 z"
|
||||||
|
id="path2"
|
||||||
|
style="stroke-width:0.537122"
|
||||||
|
sodipodi:nodetypes="cccscssccsssccccsssccsscsccccccccccccccccccccsssssss" />
|
||||||
|
<path
|
||||||
|
d="m 398.88439,290.60444 -56.18308,-59.35032 c -4.82498,-5.06298 -11.50756,-7.93072 -18.4952,-7.84559 l -20.1384,0.17717 c -4.88076,0.0647 -7.83178,5.39609 -5.3158,9.5508 l 35.56198,58.63664 -43.41565,0.78856 -16.07612,-19.15941 c -2.39827,-2.87404 -5.9964,-4.54245 -9.73595,-4.48875 l -14.13363,0.13667 c -4.09068,0.0573 -7.05613,3.89607 -6.017,7.85435 l 11.10611,42.68377 c 0.92991,3.55548 3.36429,6.5345 6.64574,8.13577 l 48.58659,23.70886 c 1.76422,0.86089 3.69975,1.28114 5.63108,1.26246 l 119.77611,-1.14062 c 20.41896,-0.21499 40.00846,-8.13034 54.85055,-22.163 7.69088,-7.25597 5.74152,-20.00247 -3.78528,-24.65128 l -20.25324,-9.883 c -7.12743,-3.47798 -15.01076,-5.22788 -22.94599,-5.08091 z"
|
||||||
|
id="path1903"
|
||||||
|
sodipodi:nodetypes="ccccccccccccsscccsscc"
|
||||||
|
style="stroke-width:0.392612" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z"/></svg>
|
||||||
|
After Width: | Height: | Size: 508 B |
44
client/public/themes/olympus/images/buttons/tools/tower.svg
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="tower.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.40869141"
|
||||||
|
inkscape:cx="532.18638"
|
||||||
|
inkscape:cy="298.51374"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
|
||||||
|
<path
|
||||||
|
d="m 130.61192,122.94993 c 4.83398,-2.4171 10.52734,-2.4171 15.36132,0 l 85.9375,42.97085 c 8.48633,4.24336 11.92383,14.55637 7.68066,23.04312 -3.00781,6.01593 -9.07714,9.5073 -15.36132,9.5073 v 42.97085 c 0,9.50729 -7.68066,17.18833 -17.1875,17.18833 h -2.63184 l 17.1875,103.13004 266.68729,0 c 9.50683,0 17.1875,7.68105 17.1875,17.18835 0,9.5073 -7.68067,17.18833 -17.1875,17.18833 l -280.97441,0 H 206.72031 69.86485 69.27404 17.98008 c -9.50683,0 -17.1875,-7.68103 -17.1875,-17.18833 0,-9.5073 7.68067,-17.18835 17.1875,-17.18835 h 37.00684 l 17.1875,-103.13004 h -2.63184 c -9.50684,0 -17.1875,-7.68104 -17.1875,-17.18833 V 198.4712 c -6.28418,0 -12.35351,-3.49137 -15.36132,-9.5073 -4.24317,-8.48675 -0.80567,-18.79976 7.68066,-23.04312 z m 39.10155,238.81049 -31.42089,-26.21222 -31.4209,26.21222 z m -62.68066,-103.13004 -2.52441,15.20096 33.78418,28.19961 33.78418,-28.19961 -2.52441,-15.20096 z m -7.46582,44.68969 -6.01561,35.98808 24.59961,-20.51857 z m 58.86718,15.46951 24.59961,20.46487 -6.01561,-35.98809 z M 95.32383,189.87702 c -4.72656,0 -8.59374,3.86738 -8.59374,8.59418 0,4.72679 3.86718,8.59417 8.59374,8.59417 h 85.9375 c 4.72656,0 8.59374,-3.86738 8.59374,-8.59417 0,-4.7268 -3.86718,-8.59418 -8.59374,-8.59418 z"
|
||||||
|
id="path2"
|
||||||
|
style="stroke-width:0.537122"
|
||||||
|
sodipodi:nodetypes="cccscssccsssccccsssccsscsccccccccccccccccccccsssssss" />
|
||||||
|
<path
|
||||||
|
d="m 387.14987,87.347348 -58.62532,-21.98825 c -5.0233,-1.86494 -10.58805,-1.59423 -15.37072,0.81215 l -13.80658,6.88825 c -3.33884,1.68446 -3.57948,6.34681 -0.45119,8.36215 l 44.18707,28.425312 -29.6285,15.13009 -17.50638,-7.79064 c -2.61694,-1.17311 -5.65498,-1.11295 -8.21176,0.18048 l -9.68566,4.84283 c -2.79741,1.41374 -3.5494,5.05338 -1.50398,7.42968 l 21.98825,25.65798 c 1.83486,2.13566 4.51196,3.36892 7.30937,3.36892 h 41.41973 c 1.50399,0 2.97789,-0.36095 4.3014,-1.02271 l 82.08748,-41.0287 c 13.98706,-7.00856 24.81575,-19.040442 30.32033,-33.689252 2.85757,-7.58008 -2.76733,-15.7016 -10.88885,-15.7016 h -17.26574 c -6.0761,0 -12.09204,1.44382 -17.50638,4.21116 z"
|
||||||
|
id="path1903"
|
||||||
|
sodipodi:nodetypes="ccccccccccccsscccsscc"
|
||||||
|
style="stroke-width:0.300797" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="21.327999"
|
||||||
|
height="21.327999"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 21.327999 21.327999"
|
||||||
|
id="svg7226"
|
||||||
|
sodipodi:docname="airbase.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs7230" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7228"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="26.15625"
|
||||||
|
inkscape:cx="10.666667"
|
||||||
|
inkscape:cy="10.666667"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg7226" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7218">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<path
|
||||||
|
d="m 10.664,18.4362 c 4.2922,0 7.7717,-3.4796 7.7717,-7.7717 0,-4.2921 -3.4796,-7.7717 -7.7717,-7.7717 -4.2921,0 -7.7717,3.4796 -7.7717,7.7717 0,4.2921 3.4796,7.7717 7.7717,7.7717 z m 0,2.8918 c 5.8893,0 10.664,-4.7742 10.664,-10.664 C 21.328,4.7742 16.5538,0 10.664,0 4.7742,0 0,4.7742 0,10.664 0,16.5538 4.7742,21.328 10.664,21.328 Z"
|
||||||
|
clip-rule="evenodd"
|
||||||
|
fill="#ffffff"
|
||||||
|
fill-rule="evenodd"
|
||||||
|
stroke-width="0"
|
||||||
|
style="fill:#000000"
|
||||||
|
id="path7220" />
|
||||||
|
<line
|
||||||
|
x1="7.796"
|
||||||
|
x2="13.187"
|
||||||
|
y1="6.8541994"
|
||||||
|
y2="14.231199"
|
||||||
|
stroke="#247BE2"
|
||||||
|
stroke-linecap="square"
|
||||||
|
style="fill:none;stroke:#000000"
|
||||||
|
id="line7222" />
|
||||||
|
<line
|
||||||
|
x1="14.397999"
|
||||||
|
x2="7.8680005"
|
||||||
|
y1="11.885201"
|
||||||
|
y2="11.450199"
|
||||||
|
stroke="#247BE2"
|
||||||
|
stroke-linecap="square"
|
||||||
|
style="fill:none;stroke:#000000"
|
||||||
|
id="line7224" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="15.75"
|
||||||
|
height="14"
|
||||||
|
viewBox="0 0 15.75 14"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg7234"
|
||||||
|
sodipodi:docname="aircraft.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs7238" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7236"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="26.15625"
|
||||||
|
inkscape:cx="7.8757467"
|
||||||
|
inkscape:cy="7.2640382"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg7234" />
|
||||||
|
<path
|
||||||
|
stroke-width="0"
|
||||||
|
d="m 13.1797,5.25 c 0.9297,0 2.5703,0.793 2.5703,1.75 0,0.9844 -1.6406,1.75 -2.5703,1.75 H 9.9805 L 7.2461,13.5625 C 7.082,13.8359 6.7812,14 6.4805,14 H 4.9492 C 4.6484,14 4.4297,13.7266 4.5117,13.4531 L 5.8516,8.75 H 3.0625 L 1.85938,10.3359 C 1.77734,10.4453 1.66797,10.5 1.53125,10.5 H 0.38281 C 0.16406,10.5 0,10.3359 0,10.1172 0,10.0898 0,10.0625 0,10.0352 L 0.875,7 0,3.9922 C 0,3.9648 0,3.9375 0,3.8828 0,3.6914 0.16406,3.5 0.38281,3.5 h 1.14844 c 0.13672,0 0.24609,0.082 0.32813,0.1914 L 3.0625,5.25 H 5.8516 L 4.5117,0.57422 C 4.4297,0.30078 4.6484,0 4.9492,0 H 6.4805 C 6.7812,0 7.082,0.19141 7.2461,0.46484 L 9.9805,5.25 Z"
|
||||||
|
fill="#202831"
|
||||||
|
id="path7232" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
id="svg6"
|
||||||
|
version="1.1"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 12.952619 10.362093"
|
||||||
|
height="10.362093"
|
||||||
|
width="12.952619"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs10" />
|
||||||
|
<path
|
||||||
|
stroke-width="0"
|
||||||
|
fill="black"
|
||||||
|
id="path3711"
|
||||||
|
d="m 6.4763089,0 c 0.358221,0 0.6476303,0.2894099 0.6476303,0.6476303 v 1.2952618 h 2.428616 c 0.8054918,0 1.4571708,0.6516785 1.4571708,1.4571695 v 5.5048619 c 0,0.805491 -0.651679,1.4571685 -1.4571708,1.4571685 H 3.4000627 c -0.8054909,0 -1.4571694,-0.6516775 -1.4571694,-1.4571685 V 3.4000616 c 0,-0.805491 0.6516785,-1.4571695 1.4571694,-1.4571695 H 5.8286776 V 0.6476303 C 5.8286776,0.2894099 6.1180887,0 6.4763089,0 Z M 4.2096006,7.7715699 c -0.1780979,0 -0.3238152,0.145716 -0.3238152,0.3238146 0,0.178099 0.1457173,0.323817 0.3238152,0.323817 h 0.6476303 c 0.1780991,0 0.3238164,-0.145718 0.3238164,-0.323817 0,-0.1780986 -0.1457173,-0.3238146 -0.3238164,-0.3238146 z m 1.9428933,0 c -0.178099,0 -0.3238163,0.145716 -0.3238163,0.3238146 0,0.178099 0.1457173,0.323817 0.3238163,0.323817 h 0.64763 c 0.178099,0 0.3238153,-0.145718 0.3238153,-0.323817 0,-0.1780986 -0.1457163,-0.3238146 -0.3238153,-0.3238146 z m 1.9428923,0 c -0.178098,0 -0.323815,0.145716 -0.323815,0.3238146 0,0.178099 0.145717,0.323817 0.323815,0.323817 h 0.647631 c 0.178098,0 0.323816,-0.145718 0.323816,-0.323817 0,-0.1780986 -0.145718,-0.3238146 -0.323816,-0.3238146 z M 5.3429549,5.1810458 a 0.8095391,0.8095391 0 1 0 -1.6190782,0 0.8095391,0.8095391 0 1 0 1.6190782,0 z m 3.0762473,0.809538 a 0.80953865,0.80953865 0 1 0 0,-1.6190771 0.80953865,0.80953865 0 1 0 0,1.6190771 z M 0.9714467,4.5334156 h 0.323815 V 8.4192015 H 0.9714467 C 0.4351272,8.4192015 0,7.9840739 0,7.4477529 V 5.504861 C 0,4.9685428 0.4351272,4.5334156 0.9714467,4.5334156 Z m 11.0097253,0 c 0.536319,0 0.971446,0.4351272 0.971446,0.9714454 v 1.9428919 c 0,0.536321 -0.435127,0.9714486 -0.971446,0.9714486 H 11.657355 V 4.5334156 Z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
@@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
||||||
|
sodipodi:docname="human.svg"
|
||||||
|
id="svg6"
|
||||||
|
version="1.1"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 12.14064 10.677204"
|
||||||
|
height="10.677204"
|
||||||
|
width="12.14064">
|
||||||
|
<metadata
|
||||||
|
id="metadata8">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs10" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-top="0"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
inkscape:current-layer="svg6"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:cy="3.5052403"
|
||||||
|
inkscape:cx="-1.3921341"
|
||||||
|
inkscape:zoom="27.733334"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
id="namedview8" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="ccccccc"
|
||||||
|
id="path1359"
|
||||||
|
d="M 1.2277422,10.677204 C 0.50620893,10.667383 0.04230013,10.430984 0.00390353,9.8358148 -0.07761857,7.3028212 1.1300144,6.7967364 2.4770775,6.2662917 l 6.6154506,-0.012246 c 2.4502799,0.2890709 3.0477749,1.846629 3.0477749,3.4797821 0.0127,0.3604432 -0.331282,0.9019572 -1.478805,0.9433762 z"
|
||||||
|
stroke-width="0"
|
||||||
|
style="stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
fill="black" />
|
||||||
|
<path
|
||||||
|
fill="black"
|
||||||
|
id="path916"
|
||||||
|
stroke-width="0"
|
||||||
|
d="m 5.9808108,5.7908995 c 1.6415273,0 2.9733343,-1.2969197 2.9733343,-2.8954494 C 8.9541451,1.2969203 7.6223381,0 5.9808108,0 4.3392825,0 3.0074758,1.2969203 3.0074758,2.8954501 c 0,1.5985297 1.3318067,2.8954494 2.973335,2.8954494 z M 8.6237741,6.4343342 H 7.4860601 C 7.0276691,6.6394281 6.5176619,6.7560505 5.9808108,6.7560505 5.4439597,6.7560505 4.9360143,6.6394281 4.475561,6.4343342 H 3.3378464 c -1.4598251,0 -2.64296517,1.152148 -2.64296517,2.5737386 v 0.321716 c 0,0.532843 0.44393577,0.9651492 0.99111197,0.9651492 h 8.5896338 c 0.547177,0 0.991112,-0.4323062 0.991112,-0.9651492 v -0.321716 c 0,-1.4215906 -1.18314,-2.5737386 -2.6429649,-2.5737386 z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="15.767666"
|
||||||
|
height="14.022505"
|
||||||
|
viewBox="0 0 15.767666 14.022505"
|
||||||
|
fill="none"
|
||||||
|
version="1.1"
|
||||||
|
id="svg7279"
|
||||||
|
sodipodi:docname="navyunit.svg"
|
||||||
|
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs7283" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7281"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="26.15625"
|
||||||
|
inkscape:cx="7.9139785"
|
||||||
|
inkscape:cy="7.2640382"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1017"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg7279" />
|
||||||
|
<path
|
||||||
|
stroke-width="0"
|
||||||
|
d="m 5.2724978,0.875 c 0,-0.46484 0.3828,-0.875 0.875,-0.875 h 3.5 C 10.112298,0 10.522498,0.41016 10.522498,0.875 V 1.75 h 1.3125 c 0.7109,0 1.3125,0.6016 1.3125,1.3125 v 3.5 l 1.2031,0.4102 c 0.6289,0.2187 0.793,1.039 0.3008,1.4765 l -2.7617,2.543 c -0.4375,0.2461 -0.9297,0.4101 -1.3672,0.4101 -0.5469002,0 -1.1211002,-0.2187 -1.6406002,-0.5468 -0.6016,-0.4375 -1.3946,-0.4375 -1.9961,0 -0.4649,0.3007 -1.0391,0.5468 -1.6406,0.5468 -0.4375,0 -0.9297,-0.164 -1.3672,-0.4101 l -2.76175,-2.543 C 0.62405778,8.0117 0.78811778,7.1914 1.4170278,6.9727 l 1.23047,-0.4102 v -3.5 c 0,-0.7109 0.5742,-1.3125 1.3125,-1.3125 h 1.3125 z m -0.875,5.1133 2.9258,-0.9844 c 0.3554,-0.1094 0.7656,-0.1094 1.1211,0 L 11.397498,5.9883 V 3.5 H 4.3974978 Z m 3.9922,5.5508 c 0.6289,0.4375 1.3672,0.7109 2.1328002,0.7109 0.7109,0 1.5039,-0.2734 2.1055,-0.7109 0.3281,-0.2188 0.7656,-0.1914 1.0664,0.0547 0.4101,0.3281 0.9023,0.5742 1.3945,0.6835 0.4648,0.1094 0.7656,0.5743 0.6563,1.0665 -0.1094,0.4648 -0.6016,0.7656 -1.0665,0.6562 -0.6562,-0.1641 -1.2304,-0.4648 -1.5859,-0.6836 -0.793,0.4102 -1.668,0.6836 -2.5703,0.6836 -0.8750002,0 -1.6680002,-0.2461 -2.2148002,-0.4922 -0.1641,-0.082 -0.3008,-0.164 -0.4102,-0.2187 -0.1367,0.0547 -0.2734,0.1367 -0.4375,0.2187 -0.5469,0.2461 -1.3398,0.4922 -2.1875,0.4922 -0.9023,0 -1.8047,-0.2734 -2.5977,-0.6836 -0.3554,0.2188 -0.92964,0.5195 -1.58589,0.6836 -0.46485002,0.1094 -0.95703002,-0.1914 -1.06641002,-0.6562 -0.10938,-0.4649 0.19141,-0.9571 0.65625,-1.0665 0.49219002,-0.1093 1.01172002,-0.3554 1.39455002,-0.6835 0.3008,-0.2461 0.7383,-0.2735 1.0664,-0.0547 0.6016,0.4375 1.3945,0.7109 2.1328,0.7109 0.7383,0 1.5039,-0.2734 2.1055,-0.7109 0.3007,-0.2188 0.7109,-0.2188 1.0117,0 z"
|
||||||
|
fill="#181e25"
|
||||||
|
id="path7277" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -1,3 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="#3BB9FF" stroke="#082E44" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 207 B |
@@ -1,4 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M45.7733 41.3423L25.9481 7.63951C25.5228 6.91648 24.4772 6.91646 24.0519 7.63951L4.22671 41.3423C3.79536 42.0756 4.32409 43 5.17484 43H44.8252C45.6759 43 46.2046 42.0756 45.7733 41.3423Z" fill="#3BB9FF" stroke="white" stroke-width="2"/>
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="#3BB9FF" stroke="#082E44" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 453 B |
@@ -1,4 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M45.7733 41.3423L25.9481 7.63951C25.5228 6.91648 24.4772 6.91646 24.0519 7.63951L4.22671 41.3423C3.79536 42.0756 4.32409 43 5.17484 43H44.8252C45.6759 43 46.2046 42.0756 45.7733 41.3423Z" fill="#3BB9FF" stroke="white" stroke-width="2"/>
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="white" stroke="#082E44" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 451 B |
@@ -1,3 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="#CFD9E8" stroke="#2F2F2F" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 207 B |
@@ -1,4 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M45.7733 41.3423L25.9481 7.63951C25.5228 6.91648 24.4772 6.91646 24.0519 7.63951L4.22671 41.3423C3.79536 42.0756 4.32409 43 5.17484 43H44.8252C45.6759 43 46.2046 42.0756 45.7733 41.3423Z" fill="#CFD9E8" stroke="white" stroke-width="2"/>
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="#CFD9E8" stroke="#2F2F2F" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 453 B |
@@ -1,4 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M45.7733 41.3423L25.9481 7.63951C25.5228 6.91648 24.4772 6.91646 24.0519 7.63951L4.22671 41.3423C3.79536 42.0756 4.32409 43 5.17484 43H44.8252C45.6759 43 46.2046 42.0756 45.7733 41.3423Z" fill="#CFD9E8" stroke="white" stroke-width="2"/>
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="white" stroke="#2F2F2F" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 451 B |
@@ -1,3 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="#FF5858" stroke="#262222" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 207 B |
@@ -1,4 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M45.7733 41.3423L25.9481 7.63951C25.5228 6.91648 24.4772 6.91646 24.0519 7.63951L4.22671 41.3423C3.79536 42.0756 4.32409 43 5.17484 43H44.8252C45.6759 43 46.2046 42.0756 45.7733 41.3423Z" fill="#FF5858" stroke="white" stroke-width="2"/>
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="#FF5858" stroke="#262222" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 453 B |
@@ -1,4 +0,0 @@
|
|||||||
<svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M45.7733 41.3423L25.9481 7.63951C25.5228 6.91648 24.4772 6.91646 24.0519 7.63951L4.22671 41.3423C3.79536 42.0756 4.32409 43 5.17484 43H44.8252C45.6759 43 46.2046 42.0756 45.7733 41.3423Z" fill="#FF5858" stroke="white" stroke-width="2"/>
|
|
||||||
<path d="M6.74842 41L25 9.97231L43.2516 41H6.74842Z" fill="white" stroke="#262222" stroke-width="2"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 451 B |
@@ -1,10 +0,0 @@
|
|||||||
<svg width="63" height="63" viewBox="0 0 63 63" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.4998 46.9756C40.0468 46.9756 46.9756 40.0468 46.9756 31.4998C46.9756 22.9528 40.0468 16.024 31.4998 16.024C22.9528 16.024 16.024 22.9528 16.024 31.4998C16.024 40.0468 22.9528 46.9756 31.4998 46.9756ZM31.4998 52.734C43.2271 52.734 52.734 43.2271 52.734 31.4998C52.734 19.7725 43.2271 10.2656 31.4998 10.2656C19.7725 10.2656 10.2656 19.7725 10.2656 31.4998C10.2656 43.2271 19.7725 52.734 31.4998 52.734Z" fill="white"/>
|
|
||||||
<path d="M35.3291 61L37.3291 61L37.3291 59L37.3291 49.2532L37.3291 47.2532L35.3291 47.2532L27.6709 47.2532L25.6709 47.2532L25.6709 49.2532L25.6709 59L25.6709 61L27.6709 61L35.3291 61Z" fill="#247BE2" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M47.2529 35.3291V37.3291H49.2529H58.9998H60.9998V35.3291V27.6709V25.6709L58.9998 25.6709H49.2529H47.2529V27.6709V35.3291Z" fill="#247BE2" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M35.3291 15.7471L37.3291 15.7471L37.3291 13.7471L37.3291 4.00023L37.3291 2.00023L35.3291 2.00023L27.6709 2.00023L25.6709 2.00023L25.6709 4.00023L25.6709 13.7471L25.6709 15.7471L27.6709 15.7471L35.3291 15.7471Z" fill="#247BE2" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M2 35.3291V37.3291H4H13.7468H15.7468V35.3291L15.7468 27.6709V25.6709L13.7468 25.6709H4H2V27.6709L2 35.3291Z" fill="#247BE2" stroke="white" stroke-width="4"/>
|
|
||||||
<circle cx="31.5001" cy="31.5001" r="15.4494" fill="white" stroke="#247BE2" stroke-width="6"/>
|
|
||||||
<line x1="25.7895" y1="23.9132" x2="36.5242" y2="38.6028" stroke="#247BE2" stroke-width="2" stroke-linecap="square"/>
|
|
||||||
<line x1="38.9357" y1="33.9313" x2="25.9313" y2="33.0643" stroke="#247BE2" stroke-width="2" stroke-linecap="square"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,10 +0,0 @@
|
|||||||
<svg width="63" height="63" viewBox="0 0 63 63" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.4998 46.9756C40.0468 46.9756 46.9756 40.0468 46.9756 31.4998C46.9756 22.9528 40.0468 16.024 31.4998 16.024C22.9528 16.024 16.024 22.9528 16.024 31.4998C16.024 40.0468 22.9528 46.9756 31.4998 46.9756ZM31.4998 52.734C43.2271 52.734 52.734 43.2271 52.734 31.4998C52.734 19.7725 43.2271 10.2656 31.4998 10.2656C19.7725 10.2656 10.2656 19.7725 10.2656 31.4998C10.2656 43.2271 19.7725 52.734 31.4998 52.734Z" fill="white"/>
|
|
||||||
<path d="M35.3291 61L37.3291 61L37.3291 59L37.3291 49.2532L37.3291 47.2532L35.3291 47.2532L27.6709 47.2532L25.6709 47.2532L25.6709 49.2532L25.6709 59L25.6709 61L27.6709 61L35.3291 61Z" fill="#CFD9E8" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M47.2529 35.3291V37.3291H49.2529H58.9998H60.9998V35.3291V27.6709V25.6709L58.9998 25.6709H49.2529H47.2529V27.6709V35.3291Z" fill="#CFD9E8" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M35.3291 15.7471L37.3291 15.7471L37.3291 13.7471L37.3291 4.00023L37.3291 2.00023L35.3291 2.00023L27.6709 2.00023L25.6709 2.00023L25.6709 4.00023L25.6709 13.7471L25.6709 15.7471L27.6709 15.7471L35.3291 15.7471Z" fill="#CFD9E8" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M2 35.3291V37.3291H4H13.7468H15.7468V35.3291L15.7468 27.6709V25.6709L13.7468 25.6709H4H2V27.6709L2 35.3291Z" fill="#CFD9E8" stroke="white" stroke-width="4"/>
|
|
||||||
<circle cx="31.5001" cy="31.5001" r="15.4494" fill="white" stroke="#CFD9E8" stroke-width="6"/>
|
|
||||||
<line x1="25.7895" y1="23.9132" x2="36.5242" y2="38.6028" stroke="#CFD9E8" stroke-width="2" stroke-linecap="square"/>
|
|
||||||
<line x1="38.9357" y1="33.9313" x2="25.9313" y2="33.0643" stroke="#CFD9E8" stroke-width="2" stroke-linecap="square"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,10 +0,0 @@
|
|||||||
<svg width="63" height="63" viewBox="0 0 63 63" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M31.4998 46.9756C40.0468 46.9756 46.9756 40.0468 46.9756 31.4998C46.9756 22.9528 40.0468 16.024 31.4998 16.024C22.9528 16.024 16.024 22.9528 16.024 31.4998C16.024 40.0468 22.9528 46.9756 31.4998 46.9756ZM31.4998 52.734C43.2271 52.734 52.734 43.2271 52.734 31.4998C52.734 19.7725 43.2271 10.2656 31.4998 10.2656C19.7725 10.2656 10.2656 19.7725 10.2656 31.4998C10.2656 43.2271 19.7725 52.734 31.4998 52.734Z" fill="white"/>
|
|
||||||
<path d="M35.3291 61L37.3291 61L37.3291 59L37.3291 49.2532L37.3291 47.2532L35.3291 47.2532L27.6709 47.2532L25.6709 47.2532L25.6709 49.2532L25.6709 59L25.6709 61L27.6709 61L35.3291 61Z" fill="#ff5858" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M47.2529 35.3291V37.3291H49.2529H58.9998H60.9998V35.3291V27.6709V25.6709L58.9998 25.6709H49.2529H47.2529V27.6709V35.3291Z" fill="#ff5858" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M35.3291 15.7471L37.3291 15.7471L37.3291 13.7471L37.3291 4.00023L37.3291 2.00023L35.3291 2.00023L27.6709 2.00023L25.6709 2.00023L25.6709 4.00023L25.6709 13.7471L25.6709 15.7471L27.6709 15.7471L35.3291 15.7471Z" fill="#ff5858" stroke="white" stroke-width="4"/>
|
|
||||||
<path d="M2 35.3291V37.3291H4H13.7468H15.7468V35.3291L15.7468 27.6709V25.6709L13.7468 25.6709H4H2V27.6709L2 35.3291Z" fill="#ff5858" stroke="white" stroke-width="4"/>
|
|
||||||
<circle cx="31.5001" cy="31.5001" r="15.4494" fill="white" stroke="#ff5858" stroke-width="6"/>
|
|
||||||
<line x1="25.7895" y1="23.9132" x2="36.5242" y2="38.6028" stroke="#ff5858" stroke-width="2" stroke-linecap="square"/>
|
|
||||||
<line x1="38.9357" y1="33.9313" x2="25.9313" y2="33.0643" stroke="#ff5858" stroke-width="2" stroke-linecap="square"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.7 KiB |