import json files via read file
update translation templates make sure webpack builds in root transpile passport-reddit don't use babel for webpack config
This commit is contained in:
parent
7e2ef92c53
commit
54e482a8d7
|
@ -95,38 +95,38 @@ msgid ""
|
||||||
"one (Note: you can use those links just once)"
|
"one (Note: you can use those links just once)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr/Win.jsx:32
|
#: src/ssr/Win.jsx:31
|
||||||
msgid "PixelPlanet.Fun Window"
|
msgid "PixelPlanet.Fun Window"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr/Win.jsx:33
|
#: src/ssr/Win.jsx:32
|
||||||
msgid "PixelPlanet.Fun Windows"
|
msgid "PixelPlanet.Fun Windows"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr/Main.jsx:58
|
#: src/ssr/Globe.jsx:33
|
||||||
msgid "PixelPlanet.Fun"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/ssr/Main.jsx:59
|
|
||||||
msgid "Place color pixels on an map styled canvas with other players online"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/ssr/Globe.jsx:34
|
|
||||||
msgid "PixelPlanet.Fun 3DGlobe"
|
msgid "PixelPlanet.Fun 3DGlobe"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr/Globe.jsx:35
|
#: src/ssr/Globe.jsx:34
|
||||||
msgid "A 3D globe of our whole map"
|
msgid "A 3D globe of our whole map"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr/Globe.jsx:48
|
#: src/ssr/Globe.jsx:47
|
||||||
msgid "Double click on globe to go back."
|
msgid "Double click on globe to go back."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr/Globe.jsx:49
|
#: src/ssr/Globe.jsx:48
|
||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/ssr/Main.jsx:54
|
||||||
|
msgid "PixelPlanet.Fun"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/ssr/Main.jsx:55
|
||||||
|
msgid "Place color pixels on an map styled canvas with other players online"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/core/mail.js:71
|
#: src/core/mail.js:71
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -271,6 +271,22 @@ msgstr ""
|
||||||
msgid "Server error occured"
|
msgid "Server error occured"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/modtools.js:53
|
||||||
|
msgid "You are not logged in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/modtools.js:65
|
||||||
|
msgid "You are not allowed to access this page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/modtools.js:207
|
||||||
|
msgid "Just admins can do that"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/baninfo.js:24
|
||||||
|
msgid "You are not banned"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/utils/validation.js:17
|
#: src/utils/validation.js:17
|
||||||
msgid "Email can't be empty."
|
msgid "Email can't be empty."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -319,22 +335,6 @@ msgstr ""
|
||||||
msgid "Password must be shorter than 60 characters."
|
msgid "Password must be shorter than 60 characters."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/api/modtools.js:53
|
|
||||||
msgid "You are not logged in"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/modtools.js:65
|
|
||||||
msgid "You are not allowed to access this page"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/modtools.js:207
|
|
||||||
msgid "Just admins can do that"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/baninfo.js:24
|
|
||||||
msgid "You are not banned"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/auth/register.js:26
|
#: src/routes/api/auth/register.js:26
|
||||||
msgid "No Captcha given"
|
msgid "No Captcha given"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -355,27 +355,6 @@ msgstr ""
|
||||||
msgid "Failed to establish session after register :("
|
msgid "Failed to establish session after register :("
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/api/auth/change_mail.js:38
|
|
||||||
#: src/routes/api/auth/change_passwd.js:34
|
|
||||||
#: src/routes/api/auth/delete_account.js:34
|
|
||||||
msgid "You are not authenticated."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/auth/change_mail.js:47
|
|
||||||
#: src/routes/api/auth/change_passwd.js:43
|
|
||||||
#: src/routes/api/auth/delete_account.js:44
|
|
||||||
msgid "Incorrect password!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/auth/logout.js:11
|
|
||||||
msgid "You are not even logged in."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/auth/delete_account.js:54
|
|
||||||
#: src/routes/api/auth/logout.js:20
|
|
||||||
msgid "Server error when logging out."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/auth/verify.js:22
|
#: src/routes/api/auth/verify.js:22
|
||||||
#: src/routes/api/auth/verify.js:29
|
#: src/routes/api/auth/verify.js:29
|
||||||
msgid "Mail verification"
|
msgid "Mail verification"
|
||||||
|
@ -391,6 +370,27 @@ msgid ""
|
||||||
"request a new one."
|
"request a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/auth/logout.js:11
|
||||||
|
msgid "You are not even logged in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/auth/delete_account.js:54
|
||||||
|
#: src/routes/api/auth/logout.js:20
|
||||||
|
msgid "Server error when logging out."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/auth/change_mail.js:38
|
||||||
|
#: src/routes/api/auth/change_passwd.js:34
|
||||||
|
#: src/routes/api/auth/delete_account.js:34
|
||||||
|
msgid "You are not authenticated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/auth/change_mail.js:47
|
||||||
|
#: src/routes/api/auth/change_passwd.js:43
|
||||||
|
#: src/routes/api/auth/delete_account.js:44
|
||||||
|
msgid "Incorrect password!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr/RedirectionPage.jsx:19
|
#: src/ssr/RedirectionPage.jsx:19
|
||||||
msgid "PixelPlanet.fun Accounts"
|
msgid "PixelPlanet.fun Accounts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -404,69 +404,69 @@ msgstr ""
|
||||||
msgid "Or ${ clickHere } to go back to pixelplanet"
|
msgid "Or ${ clickHere } to go back to pixelplanet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:18
|
#: src/canvasesDesc.js:19
|
||||||
msgid "Earth"
|
msgid "Earth"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:19
|
#: src/canvasesDesc.js:20
|
||||||
msgid "Moon"
|
msgid "Moon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:20
|
#: src/canvasesDesc.js:21
|
||||||
msgid "3D Canvas"
|
msgid "3D Canvas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:21
|
#: src/canvasesDesc.js:22
|
||||||
msgid "Coronavirus"
|
msgid "Coronavirus"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:22
|
#: src/canvasesDesc.js:23
|
||||||
msgid "PixelZone"
|
msgid "PixelZone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:23
|
#: src/canvasesDesc.js:24
|
||||||
msgid "PixelCanvas"
|
msgid "PixelCanvas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:24
|
#: src/canvasesDesc.js:25
|
||||||
msgid "1bit"
|
msgid "1bit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:25
|
#: src/canvasesDesc.js:26
|
||||||
msgid "Top10"
|
msgid "Top10"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:28
|
#: src/canvasesDesc.js:29
|
||||||
msgid "Our main canvas, a huge map of the world. Place everywhere you like"
|
msgid "Our main canvas, a huge map of the world. Place everywhere you like"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:29
|
#: src/canvasesDesc.js:30
|
||||||
msgid ""
|
msgid ""
|
||||||
"Moon canvas. Safe space for art. No flags or large text (unless part of "
|
"Moon canvas. Safe space for art. No flags or large text (unless part of "
|
||||||
"art) or art larger than 1.5k x 1.5k pixels."
|
"art) or art larger than 1.5k x 1.5k pixels."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:30
|
#: src/canvasesDesc.js:31
|
||||||
msgid "Place Voxels on a 3D canvas with others"
|
msgid "Place Voxels on a 3D canvas with others"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:31
|
#: src/canvasesDesc.js:32
|
||||||
msgid "Special canvas to spread awareness of SARS-CoV2"
|
msgid "Special canvas to spread awareness of SARS-CoV2"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:32
|
#: src/canvasesDesc.js:33
|
||||||
msgid "Mirror of PixelZone"
|
msgid "Mirror of PixelZone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:33
|
#: src/canvasesDesc.js:34
|
||||||
msgid "Mirror of PixelCanvas"
|
msgid "Mirror of PixelCanvas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:34
|
#: src/canvasesDesc.js:35
|
||||||
msgid "Black and White canvas"
|
msgid "Black and White canvas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/canvasesDesc.js:35
|
#: src/canvasesDesc.js:36
|
||||||
msgid ""
|
msgid ""
|
||||||
"A canvas for the most active players from the the previous day. Daily "
|
"A canvas for the most active players from the the previous day. Daily "
|
||||||
"ranking updates at 00:00 UTC."
|
"ranking updates at 00:00 UTC."
|
||||||
|
|
|
@ -54,109 +54,109 @@ msgstr ""
|
||||||
msgid "Didn't get an answer from pixelplanet. Maybe try to refresh?"
|
msgid "Didn't get an answer from pixelplanet. Maybe try to refresh?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:203
|
#: src/ui/placePixel.js:202
|
||||||
msgid "Invalid Canvas"
|
msgid "Invalid Canvas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:204
|
#: src/ui/placePixel.js:203
|
||||||
msgid "This canvas doesn't exist"
|
msgid "This canvas doesn't exist"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:207
|
#: src/ui/placePixel.js:206
|
||||||
#: src/ui/placePixel.js:211
|
#: src/ui/placePixel.js:210
|
||||||
#: src/ui/placePixel.js:215
|
#: src/ui/placePixel.js:214
|
||||||
msgid "Invalid Coordinates"
|
msgid "Invalid Coordinates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:208
|
#: src/ui/placePixel.js:207
|
||||||
msgid "x out of bounds"
|
msgid "x out of bounds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:212
|
#: src/ui/placePixel.js:211
|
||||||
msgid "y out of bounds"
|
msgid "y out of bounds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:216
|
#: src/ui/placePixel.js:215
|
||||||
msgid "z out of bounds"
|
msgid "z out of bounds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:219
|
#: src/ui/placePixel.js:218
|
||||||
msgid "Wrong Color"
|
msgid "Wrong Color"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:220
|
#: src/ui/placePixel.js:219
|
||||||
msgid "Invalid color selected"
|
msgid "Invalid color selected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:223
|
#: src/ui/placePixel.js:222
|
||||||
msgid "Just for registered Users"
|
msgid "Just for registered Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:224
|
#: src/ui/placePixel.js:223
|
||||||
msgid "You have to be logged in to place on this canvas"
|
msgid "You have to be logged in to place on this canvas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:227
|
#: src/ui/placePixel.js:226
|
||||||
msgid "Place more :)"
|
msgid "Place more :)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:229
|
#: src/ui/placePixel.js:228
|
||||||
msgid "You can not access this canvas yet. You need to place more pixels"
|
msgid "You can not access this canvas yet. You need to place more pixels"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:232
|
#: src/ui/placePixel.js:231
|
||||||
msgid "Pixel protected!"
|
msgid "Pixel protected!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:239
|
#: src/ui/placePixel.js:238
|
||||||
msgid "Please prove that you are human"
|
msgid "Please prove that you are human"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:243
|
#: src/ui/placePixel.js:242
|
||||||
msgid "No Proxies Allowed :("
|
msgid "No Proxies Allowed :("
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:244
|
#: src/ui/placePixel.js:243
|
||||||
msgid "You are using a Proxy."
|
msgid "You are using a Proxy."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:247
|
#: src/ui/placePixel.js:246
|
||||||
msgid "Not allowed"
|
msgid "Not allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:248
|
#: src/ui/placePixel.js:247
|
||||||
msgid "Just the Top10 of yesterday can place here"
|
msgid "Just the Top10 of yesterday can place here"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:251
|
#: src/ui/placePixel.js:250
|
||||||
msgid "You are weird"
|
msgid "You are weird"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:253
|
#: src/ui/placePixel.js:252
|
||||||
msgid "Server got confused by your pixels. Are you playing on multiple devices?"
|
msgid "Server got confused by your pixels. Are you playing on multiple devices?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:256
|
#: src/ui/placePixel.js:255
|
||||||
msgid "Banned"
|
msgid "Banned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:260
|
#: src/ui/placePixel.js:259
|
||||||
msgid "Range Banned"
|
msgid "Range Banned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:261
|
#: src/ui/placePixel.js:260
|
||||||
msgid "Your Internet Provider is banned from playing this game"
|
msgid "Your Internet Provider is banned from playing this game"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:264
|
#: src/ui/placePixel.js:263
|
||||||
msgid "Weird"
|
msgid "Weird"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:265
|
#: src/ui/placePixel.js:264
|
||||||
msgid "Couldn't set Pixel"
|
msgid "Couldn't set Pixel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ui/placePixel.js:270
|
#: src/ui/placePixel.js:269
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Error ${ retCode }"
|
msgid "Error ${ retCode }"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -261,11 +261,6 @@ msgstr ""
|
||||||
msgid "Open Chat"
|
msgid "Open Chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/buttons/CanvasSwitchButton.jsx:22
|
|
||||||
#: src/components/windows/index.js:19
|
|
||||||
msgid "Canvas Selection"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/buttons/ExpandMenuButton.jsx:22
|
#: src/components/buttons/ExpandMenuButton.jsx:22
|
||||||
msgid "Close Menu"
|
msgid "Close Menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -274,6 +269,11 @@ msgstr ""
|
||||||
msgid "Open Menu"
|
msgid "Open Menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/buttons/CanvasSwitchButton.jsx:22
|
||||||
|
#: src/components/windows/index.js:19
|
||||||
|
msgid "Canvas Selection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/HistorySelect.jsx:144
|
#: src/components/HistorySelect.jsx:144
|
||||||
msgid "Loading"
|
msgid "Loading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -311,18 +311,6 @@ msgstr ""
|
||||||
msgid "Resize"
|
msgid "Resize"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/buttons/GlobeButton.jsx:34
|
|
||||||
msgid "Globe View"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/buttons/PalselButton.jsx:30
|
|
||||||
msgid "Close Palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/buttons/PalselButton.jsx:30
|
|
||||||
msgid "Open Palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/BanInfo.jsx:76
|
#: src/components/BanInfo.jsx:76
|
||||||
#: src/components/buttons/HelpButton.jsx:22
|
#: src/components/buttons/HelpButton.jsx:22
|
||||||
#: src/components/windows/index.js:13
|
#: src/components/windows/index.js:13
|
||||||
|
@ -343,6 +331,18 @@ msgstr ""
|
||||||
msgid "Make Screenshot"
|
msgid "Make Screenshot"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/buttons/GlobeButton.jsx:34
|
||||||
|
msgid "Globe View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/buttons/PalselButton.jsx:30
|
||||||
|
msgid "Close Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/buttons/PalselButton.jsx:30
|
||||||
|
msgid "Open Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/BanInfo.jsx:81
|
#: src/components/BanInfo.jsx:81
|
||||||
#: src/components/Captcha.jsx:77
|
#: src/components/Captcha.jsx:77
|
||||||
#: src/components/ChangeMail.jsx:72
|
#: src/components/ChangeMail.jsx:72
|
||||||
|
@ -477,6 +477,124 @@ msgstr ""
|
||||||
msgid "Enter Characters"
|
msgid "Enter Characters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:86
|
||||||
|
msgid "Show Grid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:91
|
||||||
|
msgid "Turn on grid to highlight pixel borders."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:94
|
||||||
|
msgid "Show Pixel Activity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:99
|
||||||
|
msgid "Show circles where pixels are placed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:102
|
||||||
|
msgid "Disable Game Sounds"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:108
|
||||||
|
msgid "All sound effects will be disabled."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:112
|
||||||
|
msgid ""
|
||||||
|
"Your Browser doesn't allow us to use AudioContext to play sounds. Do you "
|
||||||
|
"have some privacy feature blocking us?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:118
|
||||||
|
msgid "Enable chat notifications"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:122
|
||||||
|
msgid "Play a sound when new chat messages arrive"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:125
|
||||||
|
msgid "Auto Zoom In"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:130
|
||||||
|
msgid ""
|
||||||
|
"Zoom in instead of placing a pixel when you tap the canvas and your zoom is "
|
||||||
|
"small."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:133
|
||||||
|
msgid "Compact Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:138
|
||||||
|
msgid "Display Palette in a compact form that takes less screen space."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:141
|
||||||
|
msgid "Potato Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:145
|
||||||
|
msgid "For when you are playing on a potato."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/Converter.jsx:376
|
||||||
|
#: src/components/windows/Settings.jsx:148
|
||||||
|
msgid "Light Grid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:152
|
||||||
|
msgid "Show Grid in white instead of black."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:156
|
||||||
|
msgid "Historical View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:161
|
||||||
|
msgid "Check out past versions of the canvas."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:166
|
||||||
|
msgid "Themes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:171
|
||||||
|
msgid "How pixelplanet should look like."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:178
|
||||||
|
msgid "Select Language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/UserArea.jsx:31
|
||||||
|
#: src/components/windows/UserArea.jsx:50
|
||||||
|
msgid "Profile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/UserArea.jsx:53
|
||||||
|
msgid "Ranking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/UserArea.jsx:56
|
||||||
|
msgid "Converter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/UserArea.jsx:62
|
||||||
|
msgid "Modtools"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/UserArea.jsx:63
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/UserArea.jsx:70
|
||||||
|
msgid "Consider joining us on Guilded:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Help.jsx:42
|
#: src/components/windows/Help.jsx:42
|
||||||
msgid "Place color pixels on a large canvas with other players online!"
|
msgid "Place color pixels on a large canvas with other players online!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -650,122 +768,15 @@ msgstr ""
|
||||||
msgid "Credit for the Palette of the Top10 canvas goes to ${ vinikLink }."
|
msgid "Credit for the Palette of the Top10 canvas goes to ${ vinikLink }."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:134
|
#: src/components/windows/CanvasSelect.jsx:27
|
||||||
msgid "Show Grid"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:139
|
|
||||||
msgid "Turn on grid to highlight pixel borders."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:142
|
|
||||||
msgid "Show Pixel Activity"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:147
|
|
||||||
msgid "Show circles where pixels are placed."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:150
|
|
||||||
msgid "Disable Game Sounds"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:156
|
|
||||||
msgid "All sound effects will be disabled."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:160
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Your Browser doesn't allow us to use AudioContext to play sounds. Do you "
|
"Select the canvas you want to use. Every canvas is unique and has "
|
||||||
"have some privacy feature blocking us?"
|
"different palettes, cooldown and requirements. Archive of closed canvases "
|
||||||
|
"can be accessed here:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:166
|
#: src/components/windows/CanvasSelect.jsx:35
|
||||||
msgid "Enable chat notifications"
|
msgid "Archive"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:170
|
|
||||||
msgid "Play a sound when new chat messages arrive"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:173
|
|
||||||
msgid "Auto Zoom In"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:178
|
|
||||||
msgid ""
|
|
||||||
"Zoom in instead of placing a pixel when you tap the canvas and your zoom is "
|
|
||||||
"small."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:181
|
|
||||||
msgid "Compact Palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:186
|
|
||||||
msgid "Display Palette in a compact form that takes less screen space."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:189
|
|
||||||
msgid "Potato Mode"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:193
|
|
||||||
msgid "For when you are playing on a potato."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Converter.jsx:376
|
|
||||||
#: src/components/windows/Settings.jsx:196
|
|
||||||
msgid "Light Grid"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:200
|
|
||||||
msgid "Show Grid in white instead of black."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:204
|
|
||||||
msgid "Historical View"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:209
|
|
||||||
msgid "Check out past versions of the canvas."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:214
|
|
||||||
msgid "Themes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:219
|
|
||||||
msgid "How pixelplanet should look like."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:226
|
|
||||||
msgid "Select Language"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/UserArea.jsx:31
|
|
||||||
#: src/components/windows/UserArea.jsx:50
|
|
||||||
msgid "Profile"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/UserArea.jsx:53
|
|
||||||
msgid "Ranking"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/UserArea.jsx:56
|
|
||||||
msgid "Converter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/UserArea.jsx:62
|
|
||||||
msgid "Modtools"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/UserArea.jsx:63
|
|
||||||
msgid "Loading..."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/UserArea.jsx:70
|
|
||||||
msgid "Consider joining us on Guilded:"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Register.jsx:85
|
#: src/components/windows/Register.jsx:85
|
||||||
|
@ -845,17 +856,6 @@ msgid ""
|
||||||
"how the canvas was at that time."
|
"how the canvas was at that time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/CanvasSelect.jsx:33
|
|
||||||
msgid ""
|
|
||||||
"Select the canvas you want to use. Every canvas is unique and has "
|
|
||||||
"different palettes, cooldown and requirements. Archive of closed canvases "
|
|
||||||
"can be accessed here:"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/CanvasSelect.jsx:41
|
|
||||||
msgid "Archive"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/windows/Chat.jsx:143
|
#: src/components/windows/Chat.jsx:143
|
||||||
msgid "Start chatting here"
|
msgid "Start chatting here"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -928,14 +928,6 @@ msgstr ""
|
||||||
msgid "Password must be shorter than 60 characters."
|
msgid "Password must be shorter than 60 characters."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/GetIID.jsx:44
|
|
||||||
msgid "Get IID"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/GetIID.jsx:53
|
|
||||||
msgid "Copy"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangeMail.jsx:91
|
#: src/components/ChangeMail.jsx:91
|
||||||
#: src/components/ChangeName.jsx:68
|
#: src/components/ChangeName.jsx:68
|
||||||
#: src/components/ChangePassword.jsx:109
|
#: src/components/ChangePassword.jsx:109
|
||||||
|
@ -1103,6 +1095,14 @@ msgstr ""
|
||||||
msgid "Download Template"
|
msgid "Download Template"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/GetIID.jsx:44
|
||||||
|
msgid "Get IID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/GetIID.jsx:53
|
||||||
|
msgid "Copy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/CanvasItem.jsx:29
|
#: src/components/CanvasItem.jsx:29
|
||||||
msgid "Online Users"
|
msgid "Online Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1208,15 +1208,15 @@ msgstr ""
|
||||||
msgid "Yes, Delete My Account!"
|
msgid "Yes, Delete My Account!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SocialSettings.jsx:37
|
#: src/components/SocialSettings.jsx:24
|
||||||
msgid "Block all Private Messages"
|
msgid "Block all Private Messages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SocialSettings.jsx:55
|
#: src/components/SocialSettings.jsx:37
|
||||||
msgid "Unblock Users"
|
msgid "Unblock Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SocialSettings.jsx:80
|
#: src/components/SocialSettings.jsx:62
|
||||||
msgid "You have no users blocked"
|
msgid "You have no users blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1394,19 +1394,24 @@ msgid "(0 = infinite)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Help.jsx:15
|
#: src/components/windows/Help.jsx:15
|
||||||
#: src/components/windows/Settings.jsx:135
|
#: src/components/windows/Settings.jsx:87
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "G"
|
msgid "G"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Help.jsx:16
|
#: src/components/windows/Help.jsx:16
|
||||||
#: src/components/windows/Settings.jsx:143
|
#: src/components/windows/Settings.jsx:95
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "X"
|
msgid "X"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/windows/Settings.jsx:103
|
||||||
|
msgctxt "keybinds"
|
||||||
|
msgid "M"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Help.jsx:17
|
#: src/components/windows/Help.jsx:17
|
||||||
#: src/components/windows/Settings.jsx:206
|
#: src/components/windows/Settings.jsx:158
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "H"
|
msgid "H"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1455,8 +1460,3 @@ msgstr ""
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "C"
|
msgid "C"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/windows/Settings.jsx:151
|
|
||||||
msgctxt "keybinds"
|
|
||||||
msgid "M"
|
|
||||||
msgstr ""
|
|
102
package-lock.json
generated
102
package-lock.json
generated
|
@ -33,12 +33,10 @@
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-icons": "^4.3.1",
|
"react-icons": "^4.3.1",
|
||||||
"react-redux": "^8.0.2",
|
"react-redux": "^8.0.2",
|
||||||
"react-responsive": "^8.2.0",
|
|
||||||
"react-stay-scrolled": "^8.0.0",
|
"react-stay-scrolled": "^8.0.0",
|
||||||
"react-toggle": "^4.1.3",
|
"react-toggle": "^4.1.3",
|
||||||
"redis": "^4.2.0",
|
"redis": "^4.2.0",
|
||||||
"redux": "^4.1.2",
|
"redux": "^4.1.2",
|
||||||
"redux-logger": "^3.0.6",
|
|
||||||
"redux-persist": "^6.0.0",
|
"redux-persist": "^6.0.0",
|
||||||
"redux-thunk": "^2.4.1",
|
"redux-thunk": "^2.4.1",
|
||||||
"reselect": "^4.1.6",
|
"reselect": "^4.1.6",
|
||||||
|
@ -4329,11 +4327,6 @@
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/css-mediaquery": {
|
|
||||||
"version": "0.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz",
|
|
||||||
"integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q=="
|
|
||||||
},
|
|
||||||
"node_modules/cssesc": {
|
"node_modules/cssesc": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
||||||
|
@ -4402,11 +4395,6 @@
|
||||||
"integrity": "sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==",
|
"integrity": "sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/deep-diff": {
|
|
||||||
"version": "0.3.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz",
|
|
||||||
"integrity": "sha512-yVn6RZmHiGnxRKR9sJb3iVV2XTF1Ghh2DiWRZ3dMnGc43yUdWWF/kX6lQyk3+P84iprfWKU/8zFTrlkvtFm1ug=="
|
|
||||||
},
|
|
||||||
"node_modules/deep-equal": {
|
"node_modules/deep-equal": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
|
||||||
|
@ -6237,11 +6225,6 @@
|
||||||
"hunspell-tojson": "bin/hunspell-tojson.js"
|
"hunspell-tojson": "bin/hunspell-tojson.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/hyphenate-style-name": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
|
|
||||||
},
|
|
||||||
"node_modules/iconv-lite": {
|
"node_modules/iconv-lite": {
|
||||||
"version": "0.4.24",
|
"version": "0.4.24",
|
||||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||||
|
@ -7296,14 +7279,6 @@
|
||||||
"semver": "bin/semver"
|
"semver": "bin/semver"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/matchmediaquery": {
|
|
||||||
"version": "0.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz",
|
|
||||||
"integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"css-mediaquery": "^0.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/media-typer": {
|
"node_modules/media-typer": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||||
|
@ -8852,23 +8827,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
|
||||||
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
|
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
|
||||||
},
|
},
|
||||||
"node_modules/react-responsive": {
|
|
||||||
"version": "8.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-8.2.0.tgz",
|
|
||||||
"integrity": "sha512-iagCqVrw4QSjhxKp3I/YK6+ODkWY6G+YPElvdYKiUUbywwh9Ds0M7r26Fj2/7dWFFbOpcGnJE6uE7aMck8j5Qg==",
|
|
||||||
"dependencies": {
|
|
||||||
"hyphenate-style-name": "^1.0.0",
|
|
||||||
"matchmediaquery": "^0.3.0",
|
|
||||||
"prop-types": "^15.6.1",
|
|
||||||
"shallow-equal": "^1.1.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.10"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"react": ">=16.8.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/react-stay-scrolled": {
|
"node_modules/react-stay-scrolled": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-stay-scrolled/-/react-stay-scrolled-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-stay-scrolled/-/react-stay-scrolled-8.0.0.tgz",
|
||||||
|
@ -8965,14 +8923,6 @@
|
||||||
"@babel/runtime": "^7.9.2"
|
"@babel/runtime": "^7.9.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/redux-logger": {
|
|
||||||
"version": "3.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz",
|
|
||||||
"integrity": "sha512-JoCIok7bg/XpqA1JqCqXFypuqBbQzGQySrhFzewB7ThcnysTO30l4VCst86AuB9T9tuT03MAA56Jw2PNhRSNCg==",
|
|
||||||
"dependencies": {
|
|
||||||
"deep-diff": "^0.3.5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/redux-persist": {
|
"node_modules/redux-persist": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz",
|
||||||
|
@ -9475,11 +9425,6 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/shallow-equal": {
|
|
||||||
"version": "1.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
|
|
||||||
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
|
|
||||||
},
|
|
||||||
"node_modules/sharp": {
|
"node_modules/sharp": {
|
||||||
"version": "0.30.7",
|
"version": "0.30.7",
|
||||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz",
|
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz",
|
||||||
|
@ -14360,11 +14305,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"css-mediaquery": {
|
|
||||||
"version": "0.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz",
|
|
||||||
"integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q=="
|
|
||||||
},
|
|
||||||
"cssesc": {
|
"cssesc": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
||||||
|
@ -14410,11 +14350,6 @@
|
||||||
"integrity": "sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==",
|
"integrity": "sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"deep-diff": {
|
|
||||||
"version": "0.3.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.8.tgz",
|
|
||||||
"integrity": "sha512-yVn6RZmHiGnxRKR9sJb3iVV2XTF1Ghh2DiWRZ3dMnGc43yUdWWF/kX6lQyk3+P84iprfWKU/8zFTrlkvtFm1ug=="
|
|
||||||
},
|
|
||||||
"deep-equal": {
|
"deep-equal": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
|
||||||
|
@ -15820,11 +15755,6 @@
|
||||||
"integrity": "sha512-4DwmFAvlz+ChsqLDsZT2cwBsYNXh+oWboemxXtafwKIyItq52xfR4e4kr017sLAoPaSYVofSOvPUfmOAhXyYvw==",
|
"integrity": "sha512-4DwmFAvlz+ChsqLDsZT2cwBsYNXh+oWboemxXtafwKIyItq52xfR4e4kr017sLAoPaSYVofSOvPUfmOAhXyYvw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"hyphenate-style-name": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
|
|
||||||
},
|
|
||||||
"iconv-lite": {
|
"iconv-lite": {
|
||||||
"version": "0.4.24",
|
"version": "0.4.24",
|
||||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||||
|
@ -16610,14 +16540,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"matchmediaquery": {
|
|
||||||
"version": "0.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.3.1.tgz",
|
|
||||||
"integrity": "sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==",
|
|
||||||
"requires": {
|
|
||||||
"css-mediaquery": "^0.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"media-typer": {
|
"media-typer": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||||
|
@ -17743,17 +17665,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-responsive": {
|
|
||||||
"version": "8.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-8.2.0.tgz",
|
|
||||||
"integrity": "sha512-iagCqVrw4QSjhxKp3I/YK6+ODkWY6G+YPElvdYKiUUbywwh9Ds0M7r26Fj2/7dWFFbOpcGnJE6uE7aMck8j5Qg==",
|
|
||||||
"requires": {
|
|
||||||
"hyphenate-style-name": "^1.0.0",
|
|
||||||
"matchmediaquery": "^0.3.0",
|
|
||||||
"prop-types": "^15.6.1",
|
|
||||||
"shallow-equal": "^1.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"react-stay-scrolled": {
|
"react-stay-scrolled": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-stay-scrolled/-/react-stay-scrolled-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-stay-scrolled/-/react-stay-scrolled-8.0.0.tgz",
|
||||||
|
@ -17827,14 +17738,6 @@
|
||||||
"@babel/runtime": "^7.9.2"
|
"@babel/runtime": "^7.9.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"redux-logger": {
|
|
||||||
"version": "3.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz",
|
|
||||||
"integrity": "sha512-JoCIok7bg/XpqA1JqCqXFypuqBbQzGQySrhFzewB7ThcnysTO30l4VCst86AuB9T9tuT03MAA56Jw2PNhRSNCg==",
|
|
||||||
"requires": {
|
|
||||||
"deep-diff": "^0.3.5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"redux-persist": {
|
"redux-persist": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz",
|
||||||
|
@ -18203,11 +18106,6 @@
|
||||||
"kind-of": "^6.0.2"
|
"kind-of": "^6.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"shallow-equal": {
|
|
||||||
"version": "1.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
|
|
||||||
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
|
|
||||||
},
|
|
||||||
"sharp": {
|
"sharp": {
|
||||||
"version": "0.30.7",
|
"version": "0.30.7",
|
||||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz",
|
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz",
|
||||||
|
|
10
package.json
10
package.json
|
@ -8,9 +8,9 @@
|
||||||
"description": "Unlimited planet canvas for placing pixels",
|
"description": "Unlimited planet canvas for placing pixels",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "babel-node scripts/build.js && npm run minify-css",
|
"build": "node scripts/build.js && npm run minify-css",
|
||||||
"build:dev": "webpack --env extract --config ./webpack.config.server.babel.js && webpack --env extract --env development --config ./webpack.config.client.babel.js && npm run minify-css",
|
"build:dev": "webpack --env extract --config ./webpack.config.server.js && webpack --env extract --env development --config ./webpack.config.client.js && npm run minify-css",
|
||||||
"minify-css": "babel-node scripts/minifyCss.js",
|
"minify-css": "node scripts/minifyCss.js",
|
||||||
"babel-node": "babel-node",
|
"babel-node": "babel-node",
|
||||||
"lint": "cd $INIT_CWD && eslint --ext .jsx --ext .js",
|
"lint": "cd $INIT_CWD && eslint --ext .jsx --ext .js",
|
||||||
"lint:src": "eslint --ext .jsx --ext .js src"
|
"lint:src": "eslint --ext .jsx --ext .js src"
|
||||||
|
@ -29,8 +29,8 @@
|
||||||
"etag": "^1.8.1",
|
"etag": "^1.8.1",
|
||||||
"express": "^4.17.2",
|
"express": "^4.17.2",
|
||||||
"express-session": "^1.17.2",
|
"express-session": "^1.17.2",
|
||||||
"image-q": "^4.0.0",
|
|
||||||
"js-file-download": "^0.4.12",
|
"js-file-download": "^0.4.12",
|
||||||
|
"image-q": "^4.0.0",
|
||||||
"morgan": "^1.10.0",
|
"morgan": "^1.10.0",
|
||||||
"multer": "^1.4.4",
|
"multer": "^1.4.4",
|
||||||
"mysql2": "^2.3.3",
|
"mysql2": "^2.3.3",
|
||||||
|
@ -47,12 +47,10 @@
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-icons": "^4.3.1",
|
"react-icons": "^4.3.1",
|
||||||
"react-redux": "^8.0.2",
|
"react-redux": "^8.0.2",
|
||||||
"react-responsive": "^8.2.0",
|
|
||||||
"react-stay-scrolled": "^8.0.0",
|
"react-stay-scrolled": "^8.0.0",
|
||||||
"react-toggle": "^4.1.3",
|
"react-toggle": "^4.1.3",
|
||||||
"redis": "^4.2.0",
|
"redis": "^4.2.0",
|
||||||
"redux": "^4.1.2",
|
"redux": "^4.1.2",
|
||||||
"redux-logger": "^3.0.6",
|
|
||||||
"redux-persist": "^6.0.0",
|
"redux-persist": "^6.0.0",
|
||||||
"redux-thunk": "^2.4.1",
|
"redux-thunk": "^2.4.1",
|
||||||
"reselect": "^4.1.6",
|
"reselect": "^4.1.6",
|
||||||
|
|
|
@ -3,9 +3,10 @@
|
||||||
* Lets split that here
|
* Lets split that here
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import webpack from 'webpack';
|
const webpack = require('webpack');
|
||||||
import serverConfig from '../webpack.config.server.babel.js';
|
const serverConfig = require('../webpack.config.server.js');
|
||||||
import clientConfig, {getAllAvailableLocals} from '../webpack.config.client.babel.js';
|
const clientConfig = require('../webpack.config.client.js');
|
||||||
|
const { getAllAvailableLocals } = clientConfig;
|
||||||
|
|
||||||
function compile(webpackConfig) {
|
function compile(webpackConfig) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
|
@ -4,17 +4,16 @@
|
||||||
* so files beginning with "theme-" in the src/styles folder will
|
* so files beginning with "theme-" in the src/styles folder will
|
||||||
* be read and automatically added.
|
* be read and automatically added.
|
||||||
*
|
*
|
||||||
* @flow
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* eslint-disable import/no-extraneous-dependencies */
|
/* eslint-disable import/no-extraneous-dependencies */
|
||||||
/* eslint-disable no-console */
|
/* eslint-disable no-console */
|
||||||
|
|
||||||
import fs from 'fs';
|
const fs = require('fs');
|
||||||
import path from 'path';
|
const path = require('path');
|
||||||
import CleanCSS from 'clean-css';
|
const CleanCSS = require('clean-css');
|
||||||
import crypto from 'crypto';
|
const crypto = require('crypto');
|
||||||
import mkdirp from 'mkdirp';
|
const mkdirp = require('mkdirp');
|
||||||
|
|
||||||
const assetdir = path.resolve(__dirname, '..', 'dist', 'public', 'assets');
|
const assetdir = path.resolve(__dirname, '..', 'dist', 'public', 'assets');
|
||||||
const builddir = path.resolve(__dirname, '..', 'dist');
|
const builddir = path.resolve(__dirname, '..', 'dist');
|
||||||
|
@ -71,4 +70,4 @@ if (require.main === module) {
|
||||||
doMinifyCss();
|
doMinifyCss();
|
||||||
}
|
}
|
||||||
|
|
||||||
export default minifyCss;
|
module.exports = minifyCss;
|
||||||
|
|
|
@ -22,8 +22,7 @@ import {
|
||||||
createPngBackup,
|
createPngBackup,
|
||||||
incrementialBackupRedis,
|
incrementialBackupRedis,
|
||||||
} from './core/tilesBackup';
|
} from './core/tilesBackup';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './core/canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* use low cpu priority
|
* use low cpu priority
|
||||||
|
|
|
@ -4,9 +4,10 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import canvases from './canvases.json';
|
import canvases from './core/canvases';
|
||||||
import ttag from './core/ttag';
|
import ttag from './core/ttag';
|
||||||
|
|
||||||
|
|
||||||
/* eslint-disable max-len */
|
/* eslint-disable max-len */
|
||||||
|
|
||||||
function getCanvases(t) {
|
function getCanvases(t) {
|
||||||
|
@ -55,7 +56,6 @@ function getCanvases(t) {
|
||||||
return localicedCanvases;
|
return localicedCanvases;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const lCanvases = {};
|
const lCanvases = {};
|
||||||
(() => {
|
(() => {
|
||||||
const langs = Object.keys(ttag);
|
const langs = Object.keys(ttag);
|
||||||
|
|
|
@ -19,8 +19,7 @@ import {
|
||||||
TILE_SIZE,
|
TILE_SIZE,
|
||||||
} from './constants';
|
} from './constants';
|
||||||
import logger from './logger';
|
import logger from './logger';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
|
|
||||||
const METHODS = {
|
const METHODS = {
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -11,8 +11,7 @@ import RedisCanvas from '../data/redis/RedisCanvas';
|
||||||
import logger from './logger';
|
import logger from './logger';
|
||||||
import { getChunkOfPixel } from './utils';
|
import { getChunkOfPixel } from './utils';
|
||||||
import { TILE_SIZE } from './constants';
|
import { TILE_SIZE } from './constants';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
import Palette from './Palette';
|
import Palette from './Palette';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,7 @@ import { protectCanvasArea } from './Image';
|
||||||
import { setPixelByOffset } from './setPixel';
|
import { setPixelByOffset } from './setPixel';
|
||||||
import { TILE_SIZE, EVENT_USER_NAME } from './constants';
|
import { TILE_SIZE, EVENT_USER_NAME } from './constants';
|
||||||
import chatProvider from './ChatProvider';
|
import chatProvider from './ChatProvider';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
|
|
||||||
// steps in minutes for event stages
|
// steps in minutes for event stages
|
||||||
// STEPS[5] is event duration, adjusted from 10 to 8 on 2022.04.26
|
// STEPS[5] is event duration, adjusted from 10 to 8 on 2022.04.26
|
||||||
|
|
|
@ -10,8 +10,7 @@ import PixelUpdate from '../socket/packets/PixelUpdateServer';
|
||||||
import { setPixelByOffset } from './setPixel';
|
import { setPixelByOffset } from './setPixel';
|
||||||
import { TILE_SIZE } from './constants';
|
import { TILE_SIZE } from './constants';
|
||||||
import { CANVAS_ID } from '../data/redis/Event';
|
import { CANVAS_ID } from '../data/redis/Event';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
|
|
||||||
const TARGET_RADIUS = 62;
|
const TARGET_RADIUS = 62;
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,7 @@ import {
|
||||||
getIPofIID,
|
getIPofIID,
|
||||||
getIIDofIP,
|
getIIDofIP,
|
||||||
} from '../data/sql/IPInfo';
|
} from '../data/sql/IPInfo';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
import {
|
import {
|
||||||
imageABGR2Canvas,
|
imageABGR2Canvas,
|
||||||
protectCanvasArea,
|
protectCanvasArea,
|
||||||
|
|
9
src/core/assets.js
Normal file
9
src/core/assets.js
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import path from 'path';
|
||||||
|
import { readFileSync } from 'fs';
|
||||||
|
|
||||||
|
export const assets = JSON.parse(readFileSync(
|
||||||
|
path.resolve(__dirname, './assets.json'),
|
||||||
|
));
|
||||||
|
export const styleassets = JSON.parse(readFileSync(
|
||||||
|
path.resolve(__dirname, './styleassets.json'),
|
||||||
|
));
|
8
src/core/canvases.js
Normal file
8
src/core/canvases.js
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
import path from 'path';
|
||||||
|
import { readFileSync } from 'fs';
|
||||||
|
|
||||||
|
const canvases = JSON.parse(readFileSync(
|
||||||
|
path.resolve(__dirname, './canvases.json'),
|
||||||
|
));
|
||||||
|
|
||||||
|
export default canvases;
|
|
@ -12,8 +12,7 @@ import {
|
||||||
setPixelByCoords,
|
setPixelByCoords,
|
||||||
} from './setPixel';
|
} from './setPixel';
|
||||||
import rankings from './ranking';
|
import rankings from './ranking';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
|
|
||||||
import { THREE_CANVAS_HEIGHT, THREE_TILE_SIZE, TILE_SIZE } from './constants';
|
import { THREE_CANVAS_HEIGHT, THREE_TILE_SIZE, TILE_SIZE } from './constants';
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
* various api endpoints.
|
* various api endpoints.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// eslint-disable-next-line import/no-unresolved
|
|
||||||
import { getLocalicedCanvases } from '../canvasesDesc';
|
import { getLocalicedCanvases } from '../canvasesDesc';
|
||||||
import { USE_MAILER } from './config';
|
import { USE_MAILER } from './config';
|
||||||
import chatProvider from './ChatProvider';
|
import chatProvider from './ChatProvider';
|
||||||
|
|
|
@ -16,8 +16,7 @@ import { getChunkOfPixel } from './utils';
|
||||||
import Palette from './Palette';
|
import Palette from './Palette';
|
||||||
import { TILE_SIZE } from './constants';
|
import { TILE_SIZE } from './constants';
|
||||||
import { BACKUP_DIR } from './config';
|
import { BACKUP_DIR } from './config';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
|
|
||||||
export default async function rollbackToDate(
|
export default async function rollbackToDate(
|
||||||
canvasId, // number
|
canvasId, // number
|
||||||
|
|
|
@ -8,8 +8,7 @@ import {
|
||||||
getOffsetOfPixel,
|
getOffsetOfPixel,
|
||||||
} from './utils';
|
} from './utils';
|
||||||
import pixelCache from './PixelCache';
|
import pixelCache from './PixelCache';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -7,8 +7,7 @@ import fs from 'fs';
|
||||||
import { Worker } from 'worker_threads';
|
import { Worker } from 'worker_threads';
|
||||||
|
|
||||||
import logger from './logger';
|
import logger from './logger';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from './canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
import RedisCanvas from '../data/redis/RedisCanvas';
|
import RedisCanvas from '../data/redis/RedisCanvas';
|
||||||
|
|
||||||
import { TILE_FOLDER } from './config';
|
import { TILE_FOLDER } from './config';
|
||||||
|
|
|
@ -16,7 +16,7 @@ import captcha from './captcha';
|
||||||
import resetPassword from './reset_password';
|
import resetPassword from './reset_password';
|
||||||
import api from './api';
|
import api from './api';
|
||||||
|
|
||||||
import assets from './assets.json'; // eslint-disable-line import/no-unresolved
|
import { assets } from '../core/assets';
|
||||||
import { expressTTag } from '../core/ttag';
|
import { expressTTag } from '../core/ttag';
|
||||||
import generateGlobePage from '../ssr/Globe';
|
import generateGlobePage from '../ssr/Globe';
|
||||||
import generateWinPage from '../ssr/Win';
|
import generateWinPage from '../ssr/Win';
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import express from 'express';
|
import express from 'express';
|
||||||
|
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from '../core/canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
import { getMaxTiledZoom } from '../core/utils';
|
import { getMaxTiledZoom } from '../core/utils';
|
||||||
import { TILE_FOLDER } from '../core/config';
|
import { TILE_FOLDER } from '../core/config';
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
import WebSocket from 'ws';
|
import WebSocket from 'ws';
|
||||||
|
|
||||||
import logger from '../core/logger';
|
import logger from '../core/logger';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import canvases from '../core/canvases';
|
||||||
import canvases from './canvases.json';
|
|
||||||
import Counter from '../utils/Counter';
|
import Counter from '../utils/Counter';
|
||||||
import { getIPFromRequest, getHostFromRequest } from '../utils/ip';
|
import { getIPFromRequest, getHostFromRequest } from '../utils/ip';
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,7 @@
|
||||||
import { getTTag } from '../core/ttag';
|
import { getTTag } from '../core/ttag';
|
||||||
|
|
||||||
/* this will be set by webpack */
|
/* this will be set by webpack */
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import { assets } from '../core/assets';
|
||||||
import assets from './assets.json';
|
|
||||||
import { ASSET_SERVER } from '../core/config';
|
import { ASSET_SERVER } from '../core/config';
|
||||||
|
|
||||||
import globeCss from '../styles/globe.css';
|
import globeCss from '../styles/globe.css';
|
||||||
|
|
|
@ -7,11 +7,7 @@
|
||||||
|
|
||||||
import { langCodeToCC } from '../utils/location';
|
import { langCodeToCC } from '../utils/location';
|
||||||
import ttags, { getTTag } from '../core/ttag';
|
import ttags, { getTTag } from '../core/ttag';
|
||||||
/* this one is set by webpack */
|
import { styleassets, assets } from '../core/assets';
|
||||||
// eslint-disable-next-line import/no-unresolved
|
|
||||||
import assets from './assets.json';
|
|
||||||
// eslint-disable-next-line import/no-unresolved
|
|
||||||
import styleassets from './styleassets.json';
|
|
||||||
|
|
||||||
import { ASSET_SERVER, BACKUP_URL } from '../core/config';
|
import { ASSET_SERVER, BACKUP_URL } from '../core/config';
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,7 @@
|
||||||
import { getTTag } from '../core/ttag';
|
import { getTTag } from '../core/ttag';
|
||||||
|
|
||||||
/* this will be set by webpack */
|
/* this will be set by webpack */
|
||||||
// eslint-disable-next-line import/no-unresolved
|
import { assets } from '../core/assets';
|
||||||
import assets from './assets.json';
|
|
||||||
import { ASSET_SERVER } from '../core/config';
|
import { ASSET_SERVER } from '../core/config';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
/**
|
/**
|
||||||
|
* webpack config for client files
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fs from 'fs';
|
const fs = require('fs');
|
||||||
import path from 'path';
|
const path = require('path');
|
||||||
import webpack from 'webpack';
|
const process = require('process');
|
||||||
import AssetsPlugin from 'assets-webpack-plugin';
|
const webpack = require('webpack');
|
||||||
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
|
const AssetsPlugin = require('assets-webpack-plugin');
|
||||||
|
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
|
||||||
|
|
||||||
|
// make sure we build in root dir
|
||||||
|
process.chdir(__dirname);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Emit a file with assets paths
|
* Emit a file with assets paths
|
||||||
*/
|
*/
|
||||||
const assetPlugin = new AssetsPlugin({
|
const assetPlugin = new AssetsPlugin({
|
||||||
path: path.resolve(__dirname, 'dist'),
|
path: path.resolve('dist'),
|
||||||
filename: 'assets.json',
|
filename: 'assets.json',
|
||||||
update: true,
|
update: true,
|
||||||
entrypoints: true,
|
entrypoints: true,
|
||||||
|
@ -19,7 +24,7 @@ const assetPlugin = new AssetsPlugin({
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
export function buildWebpackClientConfig(
|
function buildWebpackClientConfig(
|
||||||
development,
|
development,
|
||||||
analyze,
|
analyze,
|
||||||
locale,
|
locale,
|
||||||
|
@ -28,14 +33,14 @@ export function buildWebpackClientConfig(
|
||||||
const ttag = {
|
const ttag = {
|
||||||
resolve: {
|
resolve: {
|
||||||
translations: (locale !== 'default')
|
translations: (locale !== 'default')
|
||||||
? path.resolve(__dirname, 'i18n', `${locale}.po`)
|
? path.resolve('i18n', `${locale}.po`)
|
||||||
: locale,
|
: locale,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (extract) {
|
if (extract) {
|
||||||
ttag.extract = {
|
ttag.extract = {
|
||||||
output: path.resolve(__dirname, 'i18n', 'template.pot'),
|
output: path.resolve('i18n', 'template.pot'),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,21 +60,20 @@ export function buildWebpackClientConfig(
|
||||||
name: 'client',
|
name: 'client',
|
||||||
target: 'web',
|
target: 'web',
|
||||||
|
|
||||||
context: __dirname,
|
|
||||||
mode: (development) ? 'development' : 'production',
|
mode: (development) ? 'development' : 'production',
|
||||||
devtool: (development) ? 'eval' : false,
|
devtool: (development) ? 'eval' : false,
|
||||||
|
|
||||||
entry: {
|
entry: {
|
||||||
[(locale !== 'default') ? `client-${locale}` : 'client']:
|
[(locale !== 'default') ? `client-${locale}` : 'client']:
|
||||||
[path.resolve(__dirname, 'src', 'client.js')],
|
[path.resolve('src', 'client.js')],
|
||||||
[(locale !== 'default') ? `globe-${locale}` : 'globe']:
|
[(locale !== 'default') ? `globe-${locale}` : 'globe']:
|
||||||
[path.resolve(__dirname, 'src', 'globe.js')],
|
[path.resolve('src', 'globe.js')],
|
||||||
[(locale !== 'default') ? `win-${locale}` : 'win']:
|
[(locale !== 'default') ? `win-${locale}` : 'win']:
|
||||||
[path.resolve(__dirname, 'src', 'win.js')],
|
[path.resolve('src', 'win.js')],
|
||||||
},
|
},
|
||||||
|
|
||||||
output: {
|
output: {
|
||||||
path: path.resolve(__dirname, 'dist', 'public', 'assets'),
|
path: path.resolve('dist', 'public', 'assets'),
|
||||||
publicPath: '/assets/',
|
publicPath: '/assets/',
|
||||||
filename: '[name].[chunkhash:8].js',
|
filename: '[name].[chunkhash:8].js',
|
||||||
chunkFilename: (locale !== 'default')
|
chunkFilename: (locale !== 'default')
|
||||||
|
@ -87,7 +91,7 @@ export function buildWebpackClientConfig(
|
||||||
/*
|
/*
|
||||||
* if we don't do that,we might load different versions of three
|
* if we don't do that,we might load different versions of three
|
||||||
*/
|
*/
|
||||||
three: path.resolve(__dirname, './node_modules/three'),
|
three: path.resolve('node_modules', 'three'),
|
||||||
},
|
},
|
||||||
extensions: ['.js', '.jsx'],
|
extensions: ['.js', '.jsx'],
|
||||||
},
|
},
|
||||||
|
@ -122,9 +126,9 @@ export function buildWebpackClientConfig(
|
||||||
test: /\.(js|jsx)$/,
|
test: /\.(js|jsx)$/,
|
||||||
loader: 'babel-loader',
|
loader: 'babel-loader',
|
||||||
include: [
|
include: [
|
||||||
path.resolve(__dirname, 'src'),
|
path.resolve('src'),
|
||||||
...['image-q'].map((moduleName) => (
|
...['image-q'].map((moduleName) => (
|
||||||
path.resolve(__dirname + '/node_modules/' + moduleName)
|
path.resolve('node_modules', moduleName)
|
||||||
))
|
))
|
||||||
],
|
],
|
||||||
options: {
|
options: {
|
||||||
|
@ -188,8 +192,8 @@ export function buildWebpackClientConfig(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getAllAvailableLocals() {
|
function getAllAvailableLocals() {
|
||||||
const langDir = path.resolve(__dirname, 'i18n');
|
const langDir = path.resolve('i18n');
|
||||||
const langs = fs.readdirSync(langDir)
|
const langs = fs.readdirSync(langDir)
|
||||||
.filter((e) => (e.endsWith('.po') && !e.startsWith('ssr')))
|
.filter((e) => (e.endsWith('.po') && !e.startsWith('ssr')))
|
||||||
.map((l) => l.slice(0, -3));
|
.map((l) => l.slice(0, -3));
|
||||||
|
@ -223,7 +227,7 @@ function buildWebpackClientConfigAllLangs() {
|
||||||
* @param analyze launch BundleAnalyzerPlugin after build
|
* @param analyze launch BundleAnalyzerPlugin after build
|
||||||
* @return webpack configuration
|
* @return webpack configuration
|
||||||
*/
|
*/
|
||||||
export default ({
|
module.exports = ({
|
||||||
development, analyze, extract, locale,
|
development, analyze, extract, locale,
|
||||||
}) => {
|
}) => {
|
||||||
if (extract || analyze || locale || development) {
|
if (extract || analyze || locale || development) {
|
||||||
|
@ -233,3 +237,6 @@ export default ({
|
||||||
}
|
}
|
||||||
return buildWebpackClientConfigAllLangs(development);
|
return buildWebpackClientConfigAllLangs(development);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.exports.buildWebpackClientConfig = buildWebpackClientConfig;
|
||||||
|
module.exports.getAllAvailableLocals = getAllAvailableLocals;
|
|
@ -1,14 +1,19 @@
|
||||||
/*
|
/*
|
||||||
|
* webpack config to build server files
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import fs from 'fs';
|
const fs = require('fs');
|
||||||
import path from 'path';
|
const path = require('path');
|
||||||
import webpack from 'webpack';
|
const process = require('process');
|
||||||
import nodeExternals from 'webpack-node-externals';
|
const webpack = require('webpack');
|
||||||
import GeneratePackageJsonPlugin from 'generate-package-json-webpack-plugin';
|
const nodeExternals = require('webpack-node-externals');
|
||||||
import CopyPlugin from 'copy-webpack-plugin';
|
const GeneratePackageJsonPlugin = require('generate-package-json-webpack-plugin');
|
||||||
|
const CopyPlugin = require('copy-webpack-plugin');
|
||||||
|
|
||||||
import pkg from './package.json';
|
const pkg = require('./package.json');
|
||||||
|
|
||||||
|
// make sure we build in root dir
|
||||||
|
process.chdir(__dirname);
|
||||||
|
|
||||||
const basePackageValues = {
|
const basePackageValues = {
|
||||||
name: pkg.name,
|
name: pkg.name,
|
||||||
|
@ -20,19 +25,17 @@ const basePackageValues = {
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
mysql2: '',
|
mysql2: '',
|
||||||
bufferutil: '',
|
|
||||||
'utf-8-validate': '',
|
'utf-8-validate': '',
|
||||||
bufferutil: '',
|
bufferutil: '',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const ttag = {};
|
const ttag = {};
|
||||||
|
|
||||||
const babelPlugins = [
|
const babelPlugins = [
|
||||||
['ttag', ttag],
|
['ttag', ttag],
|
||||||
];
|
];
|
||||||
|
|
||||||
export default ({
|
module.exports = ({
|
||||||
development, extract,
|
development, extract,
|
||||||
}) => {
|
}) => {
|
||||||
/*
|
/*
|
||||||
|
@ -40,7 +43,7 @@ export default ({
|
||||||
*/
|
*/
|
||||||
if (extract) {
|
if (extract) {
|
||||||
ttag.extract = {
|
ttag.extract = {
|
||||||
output: path.resolve(__dirname, 'i18n', 'template-ssr.pot'),
|
output: path.resolve('i18n', 'template-ssr.pot'),
|
||||||
};
|
};
|
||||||
ttag.discover = ['t', 'jt'];
|
ttag.discover = ['t', 'jt'];
|
||||||
}
|
}
|
||||||
|
@ -49,7 +52,7 @@ export default ({
|
||||||
* worker threads need to be their own
|
* worker threads need to be their own
|
||||||
* entry points
|
* entry points
|
||||||
*/
|
*/
|
||||||
const workersDir = path.resolve(__dirname, 'src', 'workers');
|
const workersDir = path.resolve('src', 'workers');
|
||||||
const workerEntries = {};
|
const workerEntries = {};
|
||||||
fs.readdirSync(workersDir)
|
fs.readdirSync(workersDir)
|
||||||
.filter((e) => e.endsWith('.js'))
|
.filter((e) => e.endsWith('.js'))
|
||||||
|
@ -63,19 +66,15 @@ export default ({
|
||||||
name: 'server',
|
name: 'server',
|
||||||
target: 'node',
|
target: 'node',
|
||||||
|
|
||||||
context: __dirname,
|
|
||||||
mode: (development) ? 'development' : 'production',
|
mode: (development) ? 'development' : 'production',
|
||||||
|
|
||||||
entry: {
|
entry: {
|
||||||
server: [path.resolve(__dirname, 'src', 'server.js')],
|
server: [path.resolve('src', 'server.js')],
|
||||||
backup: [path.resolve(__dirname, 'src', 'backup.js')],
|
backup: [path.resolve('src', 'backup.js')],
|
||||||
...workerEntries,
|
...workerEntries,
|
||||||
},
|
},
|
||||||
|
|
||||||
output: {
|
output: {
|
||||||
library: {
|
|
||||||
type: 'commonjs2',
|
|
||||||
},
|
|
||||||
clean: true,
|
clean: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -88,9 +87,7 @@ export default ({
|
||||||
{
|
{
|
||||||
test: /\.(js|jsx)$/,
|
test: /\.(js|jsx)$/,
|
||||||
loader: 'babel-loader',
|
loader: 'babel-loader',
|
||||||
include: [
|
include: [ path.resolve('src') ],
|
||||||
path.resolve(__dirname, 'src'),
|
|
||||||
],
|
|
||||||
options: {
|
options: {
|
||||||
cacheDirectory: false,
|
cacheDirectory: false,
|
||||||
plugins: babelPlugins,
|
plugins: babelPlugins,
|
||||||
|
@ -117,11 +114,17 @@ export default ({
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
externalsPresets: {
|
||||||
|
// exclude native node modules (path, fs, etc.)
|
||||||
|
node: true,
|
||||||
|
},
|
||||||
|
|
||||||
externals: [
|
externals: [
|
||||||
/\/canvases\.json$/,
|
nodeExternals({
|
||||||
/\/styleassets\.json$/,
|
// passport-reddit is an ESM module
|
||||||
/\/assets\.json$/,
|
// bundle it, then we don't have to import it
|
||||||
nodeExternals(),
|
allowlist: [ /^passport-/ ],
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
|
|
||||||
plugins: [
|
plugins: [
|
||||||
|
@ -131,36 +134,28 @@ export default ({
|
||||||
}),
|
}),
|
||||||
// create package.json for deployment
|
// create package.json for deployment
|
||||||
new GeneratePackageJsonPlugin(basePackageValues, {
|
new GeneratePackageJsonPlugin(basePackageValues, {
|
||||||
sourcePackageFilenames: [
|
sourcePackageFilenames: [ path.resolve('package.json') ],
|
||||||
path.resolve(__dirname, 'package.json'),
|
// provided by node itself
|
||||||
],
|
excludeDependencies: ['node:buffer'],
|
||||||
}),
|
}),
|
||||||
new CopyPlugin({
|
new CopyPlugin({
|
||||||
patterns: [
|
patterns: [
|
||||||
{
|
{
|
||||||
from: path.resolve(__dirname, 'public'),
|
from: path.resolve('public'),
|
||||||
to: path.resolve(__dirname, 'dist', 'public'),
|
to: path.resolve('dist', 'public'),
|
||||||
},
|
},
|
||||||
path.resolve(__dirname, 'src', 'canvases.json'),
|
path.resolve('src', 'canvases.json'),
|
||||||
{
|
{
|
||||||
from: path.resolve(
|
from: path.resolve('deployment', 'example-ecosystem.yml'),
|
||||||
__dirname, 'deployment', 'example-ecosystem.yml'
|
to: path.resolve('dist', 'ecosystem.yml'),
|
||||||
),
|
|
||||||
to: path.resolve(
|
|
||||||
__dirname, 'dist', 'ecosystem.yml'
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: path.resolve(
|
from: path.resolve('deployment', 'example-ecosystem-backup.yml'),
|
||||||
__dirname, 'deployment', 'example-ecosystem-backup.yml'
|
to: path.resolve('dist', 'ecosystem-backup.yml'),
|
||||||
),
|
|
||||||
to: path.resolve(
|
|
||||||
__dirname, 'dist', 'ecosystem-backup.yml'
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
from: path.resolve(__dirname, 'deployment', 'captchaFonts'),
|
from: path.resolve('deployment', 'captchaFonts'),
|
||||||
to: path.resolve(__dirname, 'dist', 'captchaFonts'),
|
to: path.resolve('dist', 'captchaFonts'),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
|
@ -176,8 +171,8 @@ export default ({
|
||||||
|
|
||||||
node: {
|
node: {
|
||||||
global: false,
|
global: false,
|
||||||
__filename: false,
|
|
||||||
__dirname: false,
|
__dirname: false,
|
||||||
|
__filename: false,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user