diff --git a/package-lock.json b/package-lock.json index c3e96d5..33707de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,9 @@ "react-typing-effect": "^2.0.5", "responsive-react-monaco-editor": "^0.1.3", "web-vitals": "^2.1.4" + }, + "devDependencies": { + "gh-pages": "^4.0.0" } }, "node_modules/@adobe/css-tools": { @@ -4928,6 +4931,15 @@ "node": ">=8" } }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array.prototype.flat": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", @@ -6882,6 +6894,12 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.238.tgz", "integrity": "sha512-Vcw+jaLrdCj6Ds4p4FpVYn8UBa+DSRt4FwO5r6+6xifKbeRQ/MsC0vYOjLYkz4JJGDi/wZkjrxuZULn/E69w9Q==" }, + "node_modules/email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", + "dev": true + }, "node_modules/emittery": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", @@ -8060,6 +8078,32 @@ "node": ">=10" } }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/filesize": { "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", @@ -8512,6 +8556,103 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gh-pages": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-4.0.0.tgz", + "integrity": "sha512-p8S0T3aGJc68MtwOcZusul5qPSNZCalap3NWbhRUZYu1YOdp+EjZ+4kPmRM8h3NNRdqw00yuevRjlkuSzCn7iQ==", + "dev": true, + "dependencies": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/gh-pages/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -12586,6 +12727,27 @@ "node": ">=0.10.0" } }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", @@ -15629,6 +15791,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/style-loader": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", @@ -16053,6 +16227,18 @@ "node": ">=8" } }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -20740,6 +20926,12 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, "array.prototype.flat": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", @@ -22148,6 +22340,12 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.238.tgz", "integrity": "sha512-Vcw+jaLrdCj6Ds4p4FpVYn8UBa+DSRt4FwO5r6+6xifKbeRQ/MsC0vYOjLYkz4JJGDi/wZkjrxuZULn/E69w9Q==" }, + "email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", + "dev": true + }, "emittery": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", @@ -23014,6 +23212,23 @@ } } }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true + }, + "filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, "filesize": { "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", @@ -23318,6 +23533,86 @@ "get-intrinsic": "^1.1.1" } }, + "gh-pages": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-4.0.0.tgz", + "integrity": "sha512-p8S0T3aGJc68MtwOcZusul5qPSNZCalap3NWbhRUZYu1YOdp+EjZ+4kPmRM8h3NNRdqw00yuevRjlkuSzCn7iQ==", + "dev": true, + "requires": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -26272,6 +26567,21 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, "pirates": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", @@ -28334,6 +28644,15 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, "style-loader": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", @@ -28644,6 +28963,15 @@ "punycode": "^2.1.1" } }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, "tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", diff --git a/package.json b/package.json index 1f0a6ac..a2c0177 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "homepage": "tdraw.jaeheonshim.dev", + "homepage": "https://tdraw.jaeheonshim.dev", "name": "tdraw-web", "version": "0.1.0", "private": true, @@ -48,5 +48,8 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "gh-pages": "^4.0.0" } } diff --git a/public/CNAME b/public/CNAME new file mode 100644 index 0000000..5061c32 --- /dev/null +++ b/public/CNAME @@ -0,0 +1 @@ +tdraw.jaeheonshim.dev \ No newline at end of file diff --git a/src/App.js b/src/App.js index 096ef88..4cff85b 100644 --- a/src/App.js +++ b/src/App.js @@ -20,7 +20,7 @@ function App() { const example_id = queryParams.get("example") && queryParams.get("example").trim().toLowerCase(); const [TDrawState, setTDrawState] = useState({ - consoleContent: "Welcome to TDraw!\n\nTDraw is an open source turtle graphics web platform for the Java programming language." + consoleContent: "Welcome to TDraw!\nTDraw is an open source turtle graphics web platform for the Java programming language.\nUse the editor on the left to create and run your own turtle graphcis programs.\n\nTDraw is developed and maintained by Jaeheon Shim (github.com/jaeheonshim)" }); const [isRunning, setIsRunning] = useState(false); @@ -72,6 +72,7 @@ function App() { Hexagonal Spiral Projectile Motion Sierpinski Triangle + Sine Wave Random Documentation diff --git a/src/Drawing/Canvas.js b/src/Drawing/Canvas.js index 8b5a510..6541318 100644 --- a/src/Drawing/Canvas.js +++ b/src/Drawing/Canvas.js @@ -72,6 +72,7 @@ export default function Canvas(props) { } } + context.strokeStyle = drawJson.points[props.frame].color; context.stroke(); const lastLocation = drawJson.points[Math.min(props.frame, drawJson.points.length - 1)]; diff --git a/src/SplashScreen.js b/src/SplashScreen.js index 30ca2f9..9e31f7e 100644 --- a/src/SplashScreen.js +++ b/src/SplashScreen.js @@ -12,11 +12,6 @@ export default function SplashScreen() { /> -
-

- By Jaeheon Shim -

-
) } \ No newline at end of file diff --git a/src/examples.json b/src/examples.json index 5fd746a..c034cd3 100644 --- a/src/examples.json +++ b/src/examples.json @@ -4,5 +4,6 @@ "hexagonal_spiral": "aW1wb3J0IGphdmEuYXd0Lio7CmltcG9ydCBjb20uamFlaGVvbnNoaW0udGRyYXcudHVydGxlLlR1cnRsZTsKCi8vIEV4YW1wbGU6IEhleGFnb25hbCBTcGlyYWwKLy8gQnk6IEphZWhlb24gU2hpbQpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIFR1cnRsZSB0ID0gbmV3IFR1cnRsZSgpOwoKICAgICAgICB0LnBlbkRvd24oKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDMxMDsgKytpKSB7CiAgICAgICAgICAgIHQuZm9yd2FyZChpICogMik7CiAgICAgICAgICAgIHQuY291bnRlckNsb2Nrd2lzZSg2MCk7CiAgICAgICAgfQogICAgfQp9", "projectile_motion": "aW1wb3J0IGNvbS5qYWVoZW9uc2hpbS50ZHJhdy50dXJ0bGUuVHVydGxlOwoKLy8gRXhhbXBsZTogUHJvamVjdGlsZSBNb3Rpb24KLy8gQnk6IEphZWhlb24gU2hpbQpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBHUkFWSVRZID0gOS44OyAvLyBncmF2aXR5CiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBWRUxPQ0lUWSA9IDg1OyAvLyBpbml0aWFsIHZlbG9jaXR5CiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBMQVVOQ0hfVEhFVEEgPSA0NTsgLy8gbGF1bmNoIGFuZ2xlCgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBUdXJ0bGUgdCA9IG5ldyBUdXJ0bGUoKTsKCiAgICAgICAgZG91YmxlIHZ4ID0gVHVydGxlLmNvcyhMQVVOQ0hfVEhFVEEpICogVkVMT0NJVFk7CiAgICAgICAgZG91YmxlIHZ5ID0gVHVydGxlLnNpbihMQVVOQ0hfVEhFVEEpICogVkVMT0NJVFk7CiAgICAgICAgZG91YmxlIGR0ID0gMC4wNTsKCiAgICAgICAgdC5zZXRQb3NpdGlvbigtMzYwLCAwKTsKICAgICAgICB0LnBlbkRvd24oKTsKCiAgICAgICAgZG91YmxlIHRpbWUgPSAwOwogICAgICAgIHdoaWxlKHZ5ID4gMCB8fCB0LmdldFBvc2l0aW9uKCkueSA+IDApIHsKICAgICAgICAgICAgdC5zZXRIZWFkaW5nKFR1cnRsZS5hdGFuKHZ5IC8gdngpKTsKICAgICAgICAgICAgdC5mb3J3YXJkKChpbnQpIE1hdGguc3FydCgoZHQgKiBkdCkgKiAodnggKiB2eCArIHZ5ICogdnkpKSk7CiAgICAgICAgICAgIHZ5IC09IEdSQVZJVFkgKiBkdDsKICAgICAgICAgICAgdGltZSArPSBkdDsKICAgICAgICB9CiAgICB9Cn0=", "sierpinski": "aW1wb3J0IGNvbS5qYWVoZW9uc2hpbS50ZHJhdy50dXJ0bGUuVHVydGxlOwoKLy8gRXhhbXBsZTogU2llcnBpbnNraSBUcmlhbmdsZQovLyBCeTogSmFlaGVvbiBTaGltCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgVHVydGxlIHQgPSBuZXcgVHVydGxlKCk7CiAgICAgICAgdC5zZXRIZWFkaW5nKDYwKTsKCiAgICAgICAgdHJpYW5nbGUodCwgbmV3IGRvdWJsZVtdIHstMjQwLjAsIC0yMjAuMCwgMC4wLCAxOTUuMH0sIDApOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCB0cmlhbmdsZShUdXJ0bGUgdCwgZG91YmxlW10gcG9pbnRzLCBpbnQgZGVwdGgpIHsKICAgICAgICBpZihkZXB0aCA+IDYpIHJldHVybjsKCiAgICAgICAgdC5wZW5VcCgpOwogICAgICAgIHQuc2V0UG9zaXRpb24oKGludCkgTWF0aC5yb3VuZChwb2ludHNbMF0pLCAoaW50KSBNYXRoLnJvdW5kKHBvaW50c1sxXSkpOwogICAgICAgIHQucGVuRG93bigpOwoKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgMzsgKytpKSB7CiAgICAgICAgICAgIHQuZm9yd2FyZCgoaW50KSBNYXRoLnNxcnQoTWF0aC5wb3cocG9pbnRzWzNdIC0gcG9pbnRzWzFdLCAyKSArIE1hdGgucG93KHBvaW50c1syXSAtIHBvaW50c1swXSwgMikpKTsKICAgICAgICAgICAgdC5jdygxMjApOwogICAgICAgIH0KCiAgICAgICAgdHJpYW5nbGUodCwgbmV3IGRvdWJsZVtdIHsgcG9pbnRzWzBdLCBwb2ludHNbMV0sIHBvaW50c1swXSArIChwb2ludHNbMl0gLSBwb2ludHNbMF0pIC8gMiwgcG9pbnRzWzFdICsgKHBvaW50c1szXSAtIHBvaW50c1sxXSkgLyAyIH0sIGRlcHRoICsgMSk7CiAgICAgICAgdHJpYW5nbGUodCwgbmV3IGRvdWJsZVtdIHsgcG9pbnRzWzJdLCBwb2ludHNbMV0sIHBvaW50c1swXSArIChwb2ludHNbMl0gLSBwb2ludHNbMF0pICogMyAvIDIsIHBvaW50c1sxXSArIChwb2ludHNbM10gLSBwb2ludHNbMV0pIC8gMiB9LCBkZXB0aCArIDEpOwogICAgICAgIHRyaWFuZ2xlKHQsIG5ldyBkb3VibGVbXSB7IHBvaW50c1swXSArIChwb2ludHNbMl0gLSBwb2ludHNbMF0pIC8gMiwgcG9pbnRzWzFdICsgKHBvaW50c1szXSAtIHBvaW50c1sxXSkgLyAyLCBwb2ludHNbMl0sIHBvaW50c1szXSB9LCBkZXB0aCArIDEpOwogICAgfQp9", + "sine_wave": "aW1wb3J0IGNvbS5qYWVoZW9uc2hpbS50ZHJhdy50dXJ0bGUuVHVydGxlOwppbXBvcnQgamF2YS5hd3QuQ29sb3I7CgovLyBFeGFtcGxlOiBTaW5lIFdhdmUKLy8gQnk6IEphZWhlb24gU2hpbQpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIFR1cnRsZSB0ID0gbmV3IFR1cnRsZSgpOwogCiAgICAgICAgdC5zZXRQb3NpdGlvbigtMzgwLCAwKTsKICAgICAgICB0LnBlbkRvd24oKTsKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgOTIwOyArK2kpIHsKICAgICAgICAgICAgZG91YmxlIGR5ID0gVHVydGxlLmNvcyhpKTsgLy8gZHkgPSBjb3MoeCkgZHgKICAgICAgICAgICAgdC5zZXRIZWFkaW5nKFR1cnRsZS5hdGFuKGR5KSk7CiAgICAgICAgICAgIHQuZm9yd2FyZCgoaW50KSBNYXRoLnNxcnQoMSArIGR5ICogZHkpKTsKICAgICAgICB9CiAgICB9Cn0K", "random": "aW1wb3J0IGNvbS5qYWVoZW9uc2hpbS50ZHJhdy50dXJ0bGUuVHVydGxlOwoKLy8gRXhhbXBsZTogUmFuZG9tCi8vIEJ5OiBKYWVoZW9uIFNoaW0KcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBUdXJ0bGUgdCA9IG5ldyBUdXJ0bGUoKTsKCiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgICAgICAgICAgIHQuc2V0SGVhZGluZyhNYXRoLnJhbmRvbSgpICogMzYwKTsKICAgICAgICAgICAgdC5mb3J3YXJkKChpbnQpIChNYXRoLnJhbmRvbSgpICogNTApKTsKICAgICAgICB9CiAgICB9Cn0=" } \ No newline at end of file diff --git a/src/index.js b/src/index.js index 5960b20..6996513 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,6 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; -import reportWebVitals from './reportWebVitals'; import 'bootstrap/dist/css/bootstrap.min.css'; import SplashScreen from './SplashScreen'; @@ -12,9 +11,4 @@ root.render( -); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); +); \ No newline at end of file diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js deleted file mode 100644 index 5253d3a..0000000 --- a/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/src/setupTests.js b/src/setupTests.js deleted file mode 100644 index 8f2609b..0000000 --- a/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom';