Initial commit
This commit is contained in:
parent
dfa97b698d
commit
307a168b4d
95
package-lock.json
generated
95
package-lock.json
generated
@ -2385,7 +2385,6 @@
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
|
||||
"integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"normalize-path": "^3.0.0",
|
||||
"picomatch": "^2.0.4"
|
||||
@ -2591,6 +2590,15 @@
|
||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
|
||||
"dev": true
|
||||
},
|
||||
"axios": {
|
||||
"version": "0.21.0",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz",
|
||||
"integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"follow-redirects": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"babel-eslint": {
|
||||
"version": "10.1.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
|
||||
@ -2731,8 +2739,7 @@
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
|
||||
"integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "3.7.2",
|
||||
@ -3251,7 +3258,6 @@
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
|
||||
"integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"anymatch": "~3.1.1",
|
||||
"braces": "~3.0.2",
|
||||
@ -3268,7 +3274,6 @@
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"fill-range": "^7.0.1"
|
||||
}
|
||||
@ -3278,7 +3283,6 @@
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
}
|
||||
@ -3287,15 +3291,13 @@
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"is-number": "^7.0.0"
|
||||
}
|
||||
@ -6529,7 +6531,6 @@
|
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"binary-extensions": "^2.0.0"
|
||||
}
|
||||
@ -6974,6 +6975,12 @@
|
||||
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
||||
"dev": true
|
||||
},
|
||||
"klona": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
|
||||
"integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==",
|
||||
"dev": true
|
||||
},
|
||||
"launch-editor": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz",
|
||||
@ -6993,6 +7000,12 @@
|
||||
"launch-editor": "^2.2.1"
|
||||
}
|
||||
},
|
||||
"leaflet": {
|
||||
"version": "1.7.1",
|
||||
"resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.7.1.tgz",
|
||||
"integrity": "sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==",
|
||||
"dev": true
|
||||
},
|
||||
"levn": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
|
||||
@ -8225,8 +8238,7 @@
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
||||
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"pify": {
|
||||
"version": "4.0.1",
|
||||
@ -9148,7 +9160,6 @@
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
|
||||
"integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"picomatch": "^2.2.1"
|
||||
}
|
||||
@ -9503,6 +9514,58 @@
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||
"dev": true
|
||||
},
|
||||
"sass": {
|
||||
"version": "1.29.0",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.29.0.tgz",
|
||||
"integrity": "sha512-ZpwAUFgnvAUCdkjwPREny+17BpUj8nh5Yr6zKPGtLNTLrmtoRYIjm7njP24COhjJldjwW1dcv52Lpf4tNZVVRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chokidar": ">=2.0.0 <4.0.0"
|
||||
}
|
||||
},
|
||||
"sass-loader": {
|
||||
"version": "10.1.0",
|
||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz",
|
||||
"integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"klona": "^2.0.4",
|
||||
"loader-utils": "^2.0.0",
|
||||
"neo-async": "^2.6.2",
|
||||
"schema-utils": "^3.0.0",
|
||||
"semver": "^7.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"loader-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
|
||||
"integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/json-schema": "^7.0.6",
|
||||
"ajv": "^6.12.5",
|
||||
"ajv-keywords": "^3.5.2"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
|
||||
"integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"sax": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||
@ -11232,6 +11295,12 @@
|
||||
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
|
||||
"dev": true
|
||||
},
|
||||
"vuex": {
|
||||
"version": "4.0.0-rc.1",
|
||||
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.0-rc.1.tgz",
|
||||
"integrity": "sha512-zgXVCQygF1Sm7ezyudEEMynoV2PBxZdcjE12D0BY1xIKZMrA7GFP6xqADTEAzwfVemXboExJ+/KThfxJFtM/5w==",
|
||||
"dev": true
|
||||
},
|
||||
"watchpack": {
|
||||
"version": "1.7.5",
|
||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
|
||||
|
@ -16,9 +16,14 @@
|
||||
"@vue/cli-plugin-eslint": "~4.5.0",
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"@vue/compiler-sfc": "^3.0.0",
|
||||
"axios": "^0.21.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-plugin-vue": "^7.0.0-0"
|
||||
"eslint-plugin-vue": "^7.0.0-0",
|
||||
"leaflet": "^1.7.1",
|
||||
"sass": "^1.29.0",
|
||||
"sass-loader": "^10.1.0",
|
||||
"vuex": "^4.0.0-rc.1"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
|
1019
public/css/dynmap_style.css
Normal file
1019
public/css/dynmap_style.css
Normal file
File diff suppressed because it is too large
Load Diff
371
public/css/rtgame.css
Normal file
371
public/css/rtgame.css
Normal file
@ -0,0 +1,371 @@
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Raleway'), local('Raleway-Regular'), url(https://fonts.gstatic.com/s/raleway/v14/1Ptug8zYS_SKggPNyC0ITw.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: .625em;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Raleway, sans-serif;
|
||||
color: #cccccc;
|
||||
text-shadow: 0.1rem 0.1rem #000000;
|
||||
letter-spacing: 0.02rem;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.dynmap .sidebar {
|
||||
background-color: #222222;
|
||||
border: none;
|
||||
color: inherit;
|
||||
width: 21rem;
|
||||
box-shadow: -2px 0px 4px 1px rgba(17,17,17,0.8);
|
||||
}
|
||||
|
||||
.dynmap .panel {
|
||||
padding: 1rem 1.5rem;
|
||||
}
|
||||
|
||||
.panel .scrollup,
|
||||
.panel .scrolldown {
|
||||
background-color: #111111;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
height: 2.5rem;
|
||||
}
|
||||
|
||||
.panel .scrollup:hover,
|
||||
.panel .scrollup:focus ,
|
||||
.panel .scrolldown:hover,
|
||||
.panel .scrolldown:focus {
|
||||
border: none;
|
||||
height: 2.5rem;
|
||||
}
|
||||
|
||||
.dynmap .sidebar .panel > .pin {
|
||||
right: 1.5rem;
|
||||
top: 1.5rem;
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.dynmap .panel .section {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0 0 2rem;
|
||||
}
|
||||
|
||||
.dynmap .panel .section legend {
|
||||
color: #eeeeee;
|
||||
font-size: 1.4rem;
|
||||
letter-spacing: 0.04rem;
|
||||
padding: 0.8rem 0.4rem 0.8rem 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.dynmap .panel .subsection {
|
||||
margin-bottom: 1rem;
|
||||
border-bottom: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.dynmap .panel .sublist {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 0 0 auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.dynmap .panel .sublist .item {
|
||||
float: none;
|
||||
background-color: #111111 !important;
|
||||
width: 2.6rem;
|
||||
height: 2.6rem;
|
||||
border-radius: 0.2rem;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.dynmap .panel .sublist .item + .item {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.dynmap .panel .sublist .item a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.dynmap .panel .playerlist {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.dynmap .playerlist .player {
|
||||
display: inline-block;
|
||||
float: none;
|
||||
width: auto;
|
||||
padding: 0;
|
||||
border: none;
|
||||
padding: 0.5rem 0.2rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dynmap .playerlist .player.following {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding: 0.5rem 0.2rem;
|
||||
}
|
||||
|
||||
.dynmap .playerlist .player .playerIcon {
|
||||
margin: 0 1rem 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.dynmap .panel .playerlist .player a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.dynmap .hitbar {
|
||||
background-color: #222222;
|
||||
}
|
||||
|
||||
.leaflet-container {
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
.leaflet-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 50%;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.leaflet-left:before,
|
||||
.leaflet-left.leaflet-bottom:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 4rem;
|
||||
background-color: #222222;
|
||||
z-index: -1;
|
||||
box-shadow: 2px -4px 4px 1px rgba(17,17,17,0.8);
|
||||
}
|
||||
|
||||
.leaflet-left.leaflet-bottom:after {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
left: 4rem;
|
||||
height: 4rem;
|
||||
right: 0;
|
||||
width: auto;
|
||||
box-shadow: 0 -2px 4px 1px rgba(17,17,17,0.8);
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
.leaflet-left.leaflet-top {
|
||||
justify-content: flex-start;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.leaflet-left.leaflet-bottom {
|
||||
justify-content: flex-end;
|
||||
z-index: 1;
|
||||
box-shadow: 2px 0px 4px 1px rgba(17,17,17,0.8);
|
||||
}
|
||||
|
||||
.leaflet-left .leaflet-control {
|
||||
margin-left: 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.leaflet-top .leaflet-control {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.leaflet-container .leaflet-control-zoom {
|
||||
margin-top: 1rem;
|
||||
border: none;
|
||||
order: 1;
|
||||
}
|
||||
|
||||
.leaflet-control-zoom a,
|
||||
.leaflet-control-zoom a.leaflet-control-zoom-disabled,
|
||||
.leaflet-control-layers,
|
||||
.leaflet-control-layers-list,
|
||||
.dynmap .dynmap-link a {
|
||||
background-color: #111111;
|
||||
color: #eeeeee;
|
||||
}
|
||||
|
||||
.leaflet-bar,
|
||||
.leaflet-control-layers,
|
||||
.dynmap .dynmap-link a {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.leaflet-control-zoom a,
|
||||
.leaflet-control-layers-toggle,
|
||||
.dynmap .dynmap-link a {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.leaflet-control-zoom a:hover,
|
||||
.leaflet-control-zoom a:focus,
|
||||
.dynmap .dynmap-link a:hover,
|
||||
.dynmap .dynmap-link a:focus,
|
||||
.leaflet-control-layers:hover,
|
||||
.leaflet-control-layers:focus {
|
||||
background-color: rgba(64,64,64,0.6);
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.leaflet-control-zoom a {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-size: 2rem;
|
||||
line-height: 2rem;
|
||||
padding: 1rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.leaflet-control-zoom a.leaflet-control-zoom-disabled {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.leaflet-control-layers {
|
||||
border-radius: 0;
|
||||
order: 2;
|
||||
}
|
||||
|
||||
.leaflet-control-layers-list {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 4rem;
|
||||
width: 15rem;
|
||||
padding: 1rem;
|
||||
color: #cccccc;
|
||||
}
|
||||
|
||||
.leaflet-control-layers-expanded {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-list {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.dynmap .dynmap-link {
|
||||
padding: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.largeclock.digitalclock {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
margin: 0;
|
||||
right: 4rem;
|
||||
top: auto;
|
||||
right: auto;
|
||||
left: 4rem;
|
||||
background-color: #111111;
|
||||
height: 4rem;
|
||||
border: none;
|
||||
font-size: 3rem;
|
||||
line-height: 4rem;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.dynmap .coord-control {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 21rem;
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
width: auto;
|
||||
font-size: 2rem;
|
||||
white-space: nowrap;
|
||||
margin: 0;
|
||||
height: 4rem;
|
||||
line-height: 4rem;
|
||||
}
|
||||
|
||||
.leaflet-container .leaflet-control-attribution {
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
margin: 0;
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
order: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.leaflet-container .leaflet-control-attribution a {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
padding: 1rem 0.5rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.leaflet-container .leaflet-control-attribution img {
|
||||
display: block;
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
.dynmap .mapMarker:hover .markerName,
|
||||
.dynmap .mapMarker .markerName-show,
|
||||
.dynmap .playerNameSm {
|
||||
padding: 0.2rem 0.5rem;
|
||||
color: #eeeeee;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-control-zoom {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-layers-toggle,
|
||||
.leaflet-touch .leaflet-control-zoom a {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-bar-part {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-bar-part-bottom,
|
||||
.leaflet-touch .leaflet-bar-part-top {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/*.leaflet-touch .coord-control {*/
|
||||
/* display: none;*/
|
||||
/*}*/
|
||||
|
||||
.sidebar .content.worldlist {
|
||||
min-height: 20rem;
|
||||
}
|
@ -3,15 +3,27 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
|
||||
<meta name="keywords" content="minecraft, map, dynamic" />
|
||||
<meta name="description" content="Minecraft Dynamic Map" />
|
||||
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="css/standalone.css?_=a" media="screen" />
|
||||
<link rel="stylesheet" type="text/css" href="css/dynmap_style.css?_=a" media="screen" />
|
||||
<link rel="stylesheet" type="text/css" href="css/rtgame.css?_=a" media="screen" />
|
||||
|
||||
<link rel="icon" href="images/dynmap.ico" type="image/ico" />
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<div id="mcmap" class="dynmap"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
|
19
src/App.vue
19
src/App.vue
@ -1,26 +1,21 @@
|
||||
<template>
|
||||
<img alt="Vue logo" src="./assets/logo.png">
|
||||
<HelloWorld msg="Welcome to Your Vue.js App"/>
|
||||
<Map />
|
||||
<Sidebar />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HelloWorld from './components/HelloWorld.vue'
|
||||
import Sidebar from "@/components/Sidebar";
|
||||
import Map from "@/components/Map";
|
||||
|
||||
export default {
|
||||
name: 'App',
|
||||
components: {
|
||||
HelloWorld
|
||||
Map,
|
||||
Sidebar,
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
#app {
|
||||
font-family: Avenir, Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: center;
|
||||
color: #2c3e50;
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
2
src/api.js
Normal file
2
src/api.js
Normal file
@ -0,0 +1,2 @@
|
||||
import axios from 'axios';
|
||||
|
@ -1,58 +0,0 @@
|
||||
<template>
|
||||
<div class="hello">
|
||||
<h1>{{ msg }}</h1>
|
||||
<p>
|
||||
For a guide and recipes on how to configure / customize this project,<br>
|
||||
check out the
|
||||
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
|
||||
</p>
|
||||
<h3>Installed CLI Plugins</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
|
||||
</ul>
|
||||
<h3>Essential Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
|
||||
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
|
||||
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
|
||||
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
|
||||
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
|
||||
</ul>
|
||||
<h3>Ecosystem</h3>
|
||||
<ul>
|
||||
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
|
||||
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
|
||||
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
|
||||
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'HelloWorld',
|
||||
props: {
|
||||
msg: String
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||
<style scoped>
|
||||
h3 {
|
||||
margin: 40px 0 0;
|
||||
}
|
||||
ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
li {
|
||||
display: inline-block;
|
||||
margin: 0 10px;
|
||||
}
|
||||
a {
|
||||
color: #42b983;
|
||||
}
|
||||
</style>
|
19
src/components/Map.vue
Normal file
19
src/components/Map.vue
Normal file
@ -0,0 +1,19 @@
|
||||
<template>
|
||||
<div class="map"></div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import "leaflet/dist/leaflet.css";
|
||||
import L from "leaflet";
|
||||
|
||||
export default {
|
||||
name: "Map",
|
||||
mounted() {
|
||||
L;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
29
src/components/PlayerList.vue
Normal file
29
src/components/PlayerList.vue
Normal file
@ -0,0 +1,29 @@
|
||||
<template>
|
||||
<fieldset class="section">
|
||||
<legend>Players [5/500]</legend>
|
||||
<div class="scrollup" style="display: block;"></div>
|
||||
<ul class="list content playerlist" style="height: 65px;">
|
||||
<li class="player"><span class="playerIcon" title="Follow player"><img src="images/player_face.png"></span><a
|
||||
href="#" title="Center on player">Blooping2</a></li>
|
||||
<li class="player otherworld"><span class="playerIcon" title="Follow player"><img
|
||||
src="images/player_face.png"></span><a href="#" title="Center on player">Clamor_</a></li>
|
||||
<li class="player"><span class="playerIcon" title="Follow player"><img src="images/player_face.png"></span><a
|
||||
href="#" title="Center on player">G0rd0nFreeman</a></li>
|
||||
<li class="player"><span class="playerIcon" title="Follow player"><img src="images/player_face.png"></span><a
|
||||
href="#" title="Center on player">Ravenpuffe</a></li>
|
||||
<li class="player"><span class="playerIcon" title="Follow player"><img src="images/player_face.png"></span><a
|
||||
href="#" title="Center on player">TheGoldenCarts</a></li>
|
||||
</ul>
|
||||
<div class="scrolldown" style="display: block;"></div>
|
||||
</fieldset>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "PlayerList"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
158
src/components/Sidebar.vue
Normal file
158
src/components/Sidebar.vue
Normal file
@ -0,0 +1,158 @@
|
||||
<template>
|
||||
<div class="sidebar pinned">
|
||||
<div class="panel">
|
||||
<div class="pin"></div>
|
||||
<fieldset class="section">
|
||||
<legend>Map Types</legend>
|
||||
<div class="scrollup" style="display: block;"></div>
|
||||
<ul class="list content worldlist" style="height: 277px;">
|
||||
<li class="world subsection">Hub
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">New Earth®
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item selected" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">City
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">Island
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">Train
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">Planets
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">Single Material - Part 1
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">Single Material - Part 2
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">Mall
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">Chunks
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">The Netherlands
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_nether_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_nether_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">1.14 Builds
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="world subsection">1.13 Builds
|
||||
<ul class="maplist sublist">
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Flat" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_flat.png');">Flat</a>
|
||||
</li>
|
||||
<li class="map item" style="background: rgb(0, 0, 0);"><a title="Surface" href="#" class="maptype"
|
||||
style="background-image: url('images/block_world_surface.png');">Surface</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="scrolldown" style="display: block;"></div>
|
||||
</fieldset>
|
||||
<PlayerList></PlayerList>
|
||||
<div class="hitbar"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PlayerList from "@/components/PlayerList";
|
||||
export default {
|
||||
name: "Sidebar",
|
||||
components: {PlayerList}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@ -1,4 +1,6 @@
|
||||
import { createApp } from 'vue'
|
||||
import App from './App.vue'
|
||||
import store from "@/store";
|
||||
|
||||
createApp(App).mount('#app')
|
||||
const app = createApp(App);
|
||||
app.use(store).mount('#mcmap');
|
0
src/scss/_variables.scss
Normal file
0
src/scss/_variables.scss
Normal file
20
src/store.js
Normal file
20
src/store.js
Normal file
@ -0,0 +1,20 @@
|
||||
import {createStore} from 'vuex'
|
||||
|
||||
const store = createStore({
|
||||
state() {
|
||||
return {
|
||||
servers: [],
|
||||
worlds: [],
|
||||
maps: [],
|
||||
players: [],
|
||||
|
||||
following: null,
|
||||
|
||||
currentServer: null,
|
||||
currentWorld: null,
|
||||
currentMap: null,
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export default store;
|
11
tsconfig.json
Normal file
11
tsconfig.json
Normal file
@ -0,0 +1,11 @@
|
||||
// tsconfig.json
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "esnext",
|
||||
"module": "esnext",
|
||||
// this enables stricter inference for data properties on `this`
|
||||
"strict": true,
|
||||
"jsx": "preserve",
|
||||
"moduleResolution": "node"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user