initial (sorta) commit
25
build/asset-manifest.json
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"files": {
|
||||||
|
"main.css": "/static/css/main.743cd8de.css",
|
||||||
|
"main.js": "/static/js/main.e4691c9e.js",
|
||||||
|
"static/js/787.d8522671.chunk.js": "/static/js/787.d8522671.chunk.js",
|
||||||
|
"static/media/video.mp4": "/static/media/video.5e8658c8eba15fe43d62.mp4",
|
||||||
|
"static/media/fenrir.png": "/static/media/fenrir.c36a65b36a574bef476e.png",
|
||||||
|
"static/media/error.jpg": "/static/media/error.627d84472392a479d18d.jpg",
|
||||||
|
"static/media/LeagueSpartan-ExtraBold.ttf": "/static/media/LeagueSpartan-ExtraBold.313960b9ece03f269643.ttf",
|
||||||
|
"static/media/LeagueSpartan-Medium.ttf": "/static/media/LeagueSpartan-Medium.e855e0cd01fed78be96f.ttf",
|
||||||
|
"static/media/github.svg": "/static/media/github.3367ea62e04dfe3c6fad6a88f90ee1ec.svg",
|
||||||
|
"static/media/facebook.svg": "/static/media/facebook.c524426ad554fc45940d657e219663c9.svg",
|
||||||
|
"static/media/discord.svg": "/static/media/discord.cec9e1a200bfbe88c1d3a787b0ede95f.svg",
|
||||||
|
"static/media/instagram.svg": "/static/media/instagram.eca0902ae08f6ebdf1f23da142658f92.svg",
|
||||||
|
"static/media/twitter.svg": "/static/media/twitter.0ad7f5518b1249fb5ec229971e13807f.svg",
|
||||||
|
"index.html": "/index.html",
|
||||||
|
"main.743cd8de.css.map": "/static/css/main.743cd8de.css.map",
|
||||||
|
"main.e4691c9e.js.map": "/static/js/main.e4691c9e.js.map",
|
||||||
|
"787.d8522671.chunk.js.map": "/static/js/787.d8522671.chunk.js.map"
|
||||||
|
},
|
||||||
|
"entrypoints": [
|
||||||
|
"static/css/main.743cd8de.css",
|
||||||
|
"static/js/main.e4691c9e.js"
|
||||||
|
]
|
||||||
|
}
|
1
build/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>ITR - Loading</title><script defer="defer" src="/static/js/main.e4691c9e.js"></script><link href="/static/css/main.743cd8de.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
8
build/manifest.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"short_name": "ITR",
|
||||||
|
"name": "ITR React App",
|
||||||
|
"start_url": ".",
|
||||||
|
"display": "standalone",
|
||||||
|
"theme_color": "#000000",
|
||||||
|
"background_color": "#ffffff"
|
||||||
|
}
|
3
build/robots.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# https://www.robotstxt.org/robotstxt.html
|
||||||
|
User-agent: *
|
||||||
|
Disallow:
|
8
build/static/css/main.743cd8de.css
Normal file
1
build/static/css/main.743cd8de.css.map
Normal file
2
build/static/js/787.d8522671.chunk.js
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
"use strict";(self.webpackChunkitr=self.webpackChunkitr||[]).push([[787],{787:function(e,t,n){n.r(t),n.d(t,{getCLS:function(){return y},getFCP:function(){return g},getFID:function(){return C},getLCP:function(){return P},getTTFB:function(){return D}});var i,r,a,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v2-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",(function(t){t.persisted&&e(t)}),!0)},m=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},v=-1,p=function(){return"hidden"===document.visibilityState?0:1/0},d=function(){f((function(e){var t=e.timeStamp;v=t}),!0)},l=function(){return v<0&&(v=p(),d(),s((function(){setTimeout((function(){v=p(),d()}),0)}))),{get firstHiddenTime(){return v}}},g=function(e,t){var n,i=l(),r=u("FCP"),a=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime<i.firstHiddenTime&&(r.value=e.startTime,r.entries.push(e),n(!0)))},o=window.performance&&performance.getEntriesByName&&performance.getEntriesByName("first-contentful-paint")[0],f=o?null:c("paint",a);(o||f)&&(n=m(e,r,t),o&&a(o),s((function(i){r=u("FCP"),n=m(e,r,t),requestAnimationFrame((function(){requestAnimationFrame((function(){r.value=performance.now()-i.timeStamp,n(!0)}))}))})))},h=!1,T=-1,y=function(e,t){h||(g((function(e){T=e.value})),h=!0);var n,i=function(t){T>-1&&e(t)},r=u("CLS",0),a=0,o=[],v=function(e){if(!e.hadRecentInput){var t=o[0],i=o[o.length-1];a&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(a+=e.value,o.push(e)):(a=e.value,o=[e]),a>r.value&&(r.value=a,r.entries=o,n())}},p=c("layout-shift",v);p&&(n=m(i,r,t),f((function(){p.takeRecords().map(v),n(!0)})),s((function(){a=0,T=-1,r=u("CLS",0),n=m(i,r,t)})))},E={passive:!0,capture:!0},w=new Date,L=function(e,t){i||(i=t,r=e,a=new Date,F(removeEventListener),S())},S=function(){if(r>=0&&r<a-w){var e={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+r};o.forEach((function(t){t(e)})),o=[]}},b=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){L(e,t),r()},i=function(){r()},r=function(){removeEventListener("pointerup",n,E),removeEventListener("pointercancel",i,E)};addEventListener("pointerup",n,E),addEventListener("pointercancel",i,E)}(t,e):L(t,e)}},F=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,b,E)}))},C=function(e,t){var n,a=l(),v=u("FID"),p=function(e){e.startTime<a.firstHiddenTime&&(v.value=e.processingStart-e.startTime,v.entries.push(e),n(!0))},d=c("first-input",p);n=m(e,v,t),d&&f((function(){d.takeRecords().map(p),d.disconnect()}),!0),d&&s((function(){var a;v=u("FID"),n=m(e,v,t),o=[],r=-1,i=null,F(addEventListener),a=p,o.push(a),S()}))},k={},P=function(e,t){var n,i=l(),r=u("LCP"),a=function(e){var t=e.startTime;t<i.firstHiddenTime&&(r.value=t,r.entries.push(e),n())},o=c("largest-contentful-paint",a);if(o){n=m(e,r,t);var v=function(){k[r.id]||(o.takeRecords().map(a),o.disconnect(),k[r.id]=!0,n(!0))};["keydown","click"].forEach((function(e){addEventListener(e,v,{once:!0,capture:!0})})),f(v,!0),s((function(i){r=u("LCP"),n=m(e,r,t),requestAnimationFrame((function(){requestAnimationFrame((function(){r.value=performance.now()-i.timeStamp,k[r.id]=!0,n(!0)}))}))}))}},D=function(e){var t,n=u("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var n in e)"navigationStart"!==n&&"toJSON"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();if(n.value=n.delta=t.responseStart,n.value<0||n.value>performance.now())return;n.entries=[t],e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("load",(function(){return setTimeout(t,0)}))}}}]);
|
||||||
|
//# sourceMappingURL=787.d8522671.chunk.js.map
|
1
build/static/js/787.d8522671.chunk.js.map
Normal file
3
build/static/js/main.e4691c9e.js
Normal file
74
build/static/js/main.e4691c9e.js.LICENSE.txt
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react-dom.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react-jsx-runtime.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* scheduler.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @remix-run/router v1.3.2
|
||||||
|
*
|
||||||
|
* Copyright (c) Remix Software Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE.md file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* React Router DOM v6.8.1
|
||||||
|
*
|
||||||
|
* Copyright (c) Remix Software Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE.md file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* React Router v6.8.1
|
||||||
|
*
|
||||||
|
* Copyright (c) Remix Software Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE.md file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
* @license MIT
|
||||||
|
*/
|
1
build/static/js/main.e4691c9e.js.map
Normal file
BIN
build/static/media/LeagueSpartan-Medium.e855e0cd01fed78be96f.ttf
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M3000 6195 c-309 -68 -597 -158 -877 -275 l-152 -63 -42 -66 c-366
|
||||||
|
-568 -599 -1105 -728 -1681 -79 -351 -109 -599 -118 -962 -6 -252 10 -612 28
|
||||||
|
-634 16 -20 267 -187 403 -269 193 -116 468 -252 674 -334 215 -85 393 -144
|
||||||
|
401 -133 92 127 297 460 304 495 1 4 -34 23 -78 41 -197 81 -406 190 -404 210
|
||||||
|
0 6 27 30 59 54 l59 43 42 -22 c54 -27 269 -109 391 -148 585 -187 1258 -211
|
||||||
|
1855 -66 172 42 362 105 542 179 l133 55 57 -45 c31 -26 57 -49 59 -53 3 -10
|
||||||
|
-268 -148 -394 -201 l-102 -42 66 -117 c68 -122 223 -361 245 -379 10 -8 43
|
||||||
|
-1 127 27 306 103 684 275 935 426 97 59 361 232 407 268 28 22 41 256 35 616
|
||||||
|
-5 318 -17 458 -62 726 -110 658 -364 1301 -747 1891 l-78 121 -137 58 c-311
|
||||||
|
131 -606 221 -947 291 -113 23 -119 23 -132 7 -7 -10 -44 -82 -81 -161 -58
|
||||||
|
-122 -71 -142 -88 -138 -186 44 -849 57 -1130 23 -82 -10 -158 -19 -168 -20
|
||||||
|
-14 -2 -36 33 -96 153 -42 85 -84 156 -92 157 -7 1 -84 -14 -169 -32z m155
|
||||||
|
-1839 c180 -48 338 -216 390 -417 81 -307 -103 -662 -380 -734 -128 -33 -284
|
||||||
|
-11 -385 53 -192 122 -306 375 -271 601 29 193 113 333 260 434 102 70 262 96
|
||||||
|
386 63z m1968 -6 c163 -51 297 -191 359 -375 19 -59 23 -89 22 -195 0 -107 -4
|
||||||
|
-136 -27 -205 -61 -184 -203 -327 -370 -371 -66 -18 -187 -18 -253 0 -179 47
|
||||||
|
-331 215 -384 422 -63 246 35 522 235 659 120 83 280 108 418 65z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
BIN
build/static/media/error.627d84472392a479d18d.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M1077 7210 c-117 -20 -224 -107 -269 -218 l-23 -57 0 -2935 0 -2935
|
||||||
|
24 -60 c33 -81 115 -163 196 -196 l60 -24 1573 -3 1572 -2 0 1242 0 1243 -420
|
||||||
|
-3 -420 -2 0 500 0 500 419 -2 419 -3 5 460 c5 495 9 537 63 715 15 47 27 90
|
||||||
|
28 95 1 6 10 24 19 41 9 17 13 34 10 38 -4 3 -1 6 6 6 7 0 9 5 6 10 -3 6 -1
|
||||||
|
10 5 10 6 0 8 5 5 10 -3 6 -1 10 5 10 6 0 8 5 5 10 -3 6 -1 10 6 10 7 0 10 3
|
||||||
|
6 6 -3 3 3 15 13 27 11 11 17 23 15 27 -3 5 2 11 11 14 8 3 13 10 10 15 -3 5
|
||||||
|
1 12 10 15 9 4 14 9 11 12 -3 3 6 17 21 31 15 13 22 22 15 19 -6 -4 25 30 70
|
||||||
|
76 45 45 86 82 90 82 5 1 14 9 21 18 7 10 16 15 19 11 4 -3 9 2 13 11 3 9 12
|
||||||
|
16 20 16 8 0 14 5 14 10 0 6 7 10 15 10 8 0 15 5 15 11 0 5 4 7 10 4 6 -3 10
|
||||||
|
-1 10 4 0 6 3 10 8 9 4 -1 27 9 52 22 25 13 50 25 55 26 6 1 42 14 80 29 39
|
||||||
|
15 77 28 85 30 8 2 51 10 95 20 149 31 293 37 575 25 146 -6 308 -15 360 -20
|
||||||
|
52 -5 105 -10 118 -10 l22 0 0 -444 0 -444 -342 -4 c-322 -4 -347 -6 -410 -26
|
||||||
|
-37 -13 -74 -29 -82 -38 -8 -8 -18 -14 -21 -14 -3 0 -22 -15 -42 -35 -20 -19
|
||||||
|
-32 -35 -28 -35 5 0 0 -7 -11 -15 -10 -8 -14 -15 -9 -15 6 0 4 -4 -2 -8 -7 -4
|
||||||
|
-14 -17 -16 -27 -1 -11 -5 -25 -9 -30 -18 -30 -28 -201 -28 -498 l0 -332 480
|
||||||
|
3 480 2 0 -24 c0 -13 -27 -232 -60 -487 -33 -255 -60 -470 -60 -477 0 -10 -85
|
||||||
|
-12 -420 -10 l-420 3 0 -1243 0 -1243 853 3 852 3 60 24 c81 33 163 115 196
|
||||||
|
196 l24 60 0 2935 0 2935 -24 60 c-33 81 -115 163 -196 196 l-60 24 -2905 1
|
||||||
|
c-1598 1 -2927 -2 -2953 -6z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
BIN
build/static/media/fenrir.c36a65b36a574bef476e.png
Normal file
After Width: | Height: | Size: 977 KiB |
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M3692 7010 c-498 -52 -992 -234 -1407 -519 -326 -223 -654 -569 -860
|
||||||
|
-905 -212 -347 -342 -700 -416 -1136 -21 -121 -23 -168 -24 -450 0 -333 10
|
||||||
|
-434 66 -680 204 -883 813 -1644 1634 -2040 207 -100 346 -150 414 -150 77 0
|
||||||
|
106 12 131 52 19 31 20 51 20 317 l0 284 -47 -7 c-289 -41 -487 -21 -653 65
|
||||||
|
-78 40 -105 60 -172 125 -71 70 -115 135 -158 234 -78 179 -186 329 -293 405
|
||||||
|
-34 25 -79 57 -100 72 -108 78 -78 144 66 144 168 0 349 -112 468 -289 107
|
||||||
|
-161 173 -228 275 -280 145 -74 343 -73 552 1 51 18 64 27 68 47 33 161 75
|
||||||
|
255 145 328 23 23 39 45 36 48 -2 3 -36 10 -73 15 -207 29 -445 98 -595 173
|
||||||
|
-381 191 -590 499 -666 982 -24 156 -24 460 0 572 46 210 127 380 258 543 l21
|
||||||
|
27 -20 58 c-35 99 -45 186 -39 343 5 145 30 278 72 378 l15 36 108 -5 c84 -4
|
||||||
|
128 -12 202 -37 116 -39 329 -142 430 -210 41 -28 84 -51 95 -51 11 0 58 9
|
||||||
|
105 21 228 54 562 83 806 68 169 -10 377 -38 504 -68 47 -12 93 -21 103 -21
|
||||||
|
10 0 62 27 116 60 125 77 323 171 431 205 59 19 116 28 187 32 l103 6 15 -36
|
||||||
|
c42 -100 67 -233 72 -378 6 -155 -3 -232 -37 -338 l-21 -62 64 -80 c103 -128
|
||||||
|
175 -290 214 -476 25 -121 24 -442 -1 -598 -54 -340 -167 -577 -360 -763 -139
|
||||||
|
-134 -289 -220 -503 -290 -107 -36 -314 -82 -437 -97 l-48 -7 20 -21 c35 -39
|
||||||
|
90 -133 116 -198 57 -142 59 -173 65 -724 6 -554 5 -539 64 -575 59 -37 89
|
||||||
|
-31 352 70 152 59 422 212 605 344 256 184 523 460 712 736 454 662 625 1520
|
||||||
|
463 2329 -25 124 -30 143 -75 291 -192 628 -628 1209 -1188 1583 -373 249
|
||||||
|
-767 401 -1232 478 -100 17 -182 21 -405 24 -154 2 -317 0 -363 -5z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M2465 7213 c-778 -51 -1420 -574 -1619 -1317 -64 -238 -61 -152 -61
|
||||||
|
-1896 0 -1744 -3 -1658 61 -1896 165 -616 641 -1093 1255 -1257 242 -65 153
|
||||||
|
-62 1899 -62 1746 0 1657 -3 1899 62 613 164 1090 641 1254 1254 65 242 62
|
||||||
|
153 62 1899 0 1746 3 1657 -62 1899 -162 606 -634 1083 -1239 1251 -43 12
|
||||||
|
-131 31 -194 43 -113 21 -136 21 -1660 22 -850 1 -1567 0 -1595 -2z m3172
|
||||||
|
-578 c327 -53 627 -246 808 -519 104 -158 161 -303 190 -479 22 -138 22 -3136
|
||||||
|
0 -3274 -83 -510 -488 -915 -998 -998 -138 -22 -3136 -22 -3274 0 -510 83
|
||||||
|
-915 488 -998 998 -22 138 -22 3136 0 3274 82 506 486 913 989 997 126 22
|
||||||
|
3152 22 3283 1z" />
|
||||||
|
<path
|
||||||
|
d="M5620 6121 c-259 -70 -377 -353 -250 -600 74 -146 285 -239 448 -197
|
||||||
|
199 51 322 204 322 401 0 193 -124 350 -317 400 -73 19 -122 18 -203 -4z" />
|
||||||
|
<path
|
||||||
|
d="M3890 5649 c-644 -44 -1193 -449 -1434 -1057 -96 -242 -133 -583 -91
|
||||||
|
-837 61 -365 203 -650 454 -908 421 -433 1028 -598 1618 -441 555 148 1009
|
||||||
|
602 1157 1157 78 293 78 581 0 874 -121 454 -456 854 -884 1055 -259 122 -543
|
||||||
|
176 -820 157z m295 -575 c226 -39 424 -142 586 -304 425 -425 425 -1115 -1
|
||||||
|
-1540 -295 -296 -733 -396 -1129 -259 -566 196 -867 819 -670 1388 173 501
|
||||||
|
692 806 1214 715z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M5170 6790 c-323 -40 -610 -179 -835 -405 -337 -337 -471 -780 -389
|
||||||
|
-1277 l7 -37 -69 5 c-924 74 -1737 421 -2416 1030 -113 101 -279 274 -374 388
|
||||||
|
l-41 49 -45 -94 c-96 -197 -138 -386 -138 -614 0 -352 114 -659 345 -928 60
|
||||||
|
-70 220 -212 252 -224 30 -12 9 -20 -40 -16 -160 13 -339 61 -485 129 l-94 44
|
||||||
|
7 -93 c10 -138 32 -250 70 -364 72 -215 177 -385 340 -549 176 -177 375 -295
|
||||||
|
608 -361 54 -15 92 -30 85 -34 -7 -4 -56 -14 -108 -24 -106 -20 -347 -23 -440
|
||||||
|
-7 -30 6 -57 8 -58 7 -7 -6 36 -112 79 -197 150 -298 412 -542 720 -667 150
|
||||||
|
-61 308 -97 442 -102 31 -1 57 -5 57 -9 0 -9 -136 -106 -245 -175 -127 -80
|
||||||
|
-360 -194 -511 -250 -165 -60 -393 -118 -570 -145 -171 -26 -469 -36 -619 -22
|
||||||
|
-60 6 -111 9 -113 8 -7 -7 233 -142 383 -216 592 -290 1231 -427 1895 -406
|
||||||
|
1013 31 1890 386 2595 1050 616 580 1054 1399 1209 2261 40 220 57 402 62 645
|
||||||
|
l4 225 90 71 c203 161 374 338 531 550 38 51 69 95 69 97 0 3 -35 -10 -78 -28
|
||||||
|
-105 -44 -282 -101 -408 -131 -111 -26 -294 -57 -300 -51 -2 2 29 26 69 53
|
||||||
|
148 100 326 294 413 451 39 69 114 236 114 253 0 5 -55 -20 -123 -55 -212
|
||||||
|
-111 -558 -236 -720 -260 l-47 -7 -73 69 c-180 171 -434 298 -696 347 -104 20
|
||||||
|
-312 28 -411 16z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
BIN
build/static/media/video.5e8658c8eba15fe43d62.mp4
Normal file
42099
package-lock.json
generated
Normal file
49
package.json
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"name": "itr",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@testing-library/jest-dom": "^5.16.5",
|
||||||
|
"@testing-library/react": "^13.4.0",
|
||||||
|
"@testing-library/user-event": "^13.5.0",
|
||||||
|
"animate.css": "^4.1.1",
|
||||||
|
"axios": "^1.3.2",
|
||||||
|
"nodemon": "^2.0.20",
|
||||||
|
"nth-check": "^2.1.1",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-animation-on-scroll": "^5.1.0",
|
||||||
|
"react-dom": "^18.2.0",
|
||||||
|
"react-router-dom": "^6.8.1",
|
||||||
|
"react-scripts": "^5.0.1",
|
||||||
|
"react-scroll": "^1.8.9",
|
||||||
|
"react-spring": "^9.6.1",
|
||||||
|
"react-toastify": "^9.1.1",
|
||||||
|
"sass": "^1.58.0",
|
||||||
|
"uuid": "^9.0.0",
|
||||||
|
"web-vitals": "^2.1.4"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"start": "react-scripts start",
|
||||||
|
"build": "react-scripts build",
|
||||||
|
"test": "react-scripts test",
|
||||||
|
"eject": "react-scripts eject"
|
||||||
|
},
|
||||||
|
"eslintConfig": {
|
||||||
|
"extends": [
|
||||||
|
"react-app",
|
||||||
|
"react-app/jest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"browserslist": {
|
||||||
|
"production": [
|
||||||
|
">0.2%",
|
||||||
|
"not dead",
|
||||||
|
"not op_mini all"
|
||||||
|
],
|
||||||
|
"development": [
|
||||||
|
"last 1 chrome version",
|
||||||
|
"last 1 firefox version",
|
||||||
|
"last 1 safari version"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
42
public/index.html
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<meta name="theme-color" content="#000000" />
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Web site created using create-react-app"
|
||||||
|
/>
|
||||||
|
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||||
|
<!--
|
||||||
|
manifest.json provides metadata used when your web app is installed on a
|
||||||
|
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
||||||
|
-->
|
||||||
|
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||||
|
<!--
|
||||||
|
Notice the use of %PUBLIC_URL% in the tags above.
|
||||||
|
It will be replaced with the URL of the `public` folder during the build.
|
||||||
|
Only files inside the `public` folder can be referenced from the HTML.
|
||||||
|
|
||||||
|
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
||||||
|
work correctly both with client-side routing and a non-root public URL.
|
||||||
|
Learn how to configure a non-root public URL by running `npm run build`.
|
||||||
|
-->
|
||||||
|
<title>ITR - Loading</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
|
<div id="root"></div>
|
||||||
|
<!--
|
||||||
|
This HTML file is a template.
|
||||||
|
If you open it directly in the browser, you will see an empty page.
|
||||||
|
|
||||||
|
You can add webfonts, meta tags, or analytics to this file.
|
||||||
|
The build step will place the bundled scripts into the <body> tag.
|
||||||
|
|
||||||
|
To begin the development, run `npm start` or `yarn start`.
|
||||||
|
To create a production bundle, use `npm run build` or `yarn build`.
|
||||||
|
-->
|
||||||
|
</body>
|
||||||
|
</html>
|
8
public/manifest.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"short_name": "ITR",
|
||||||
|
"name": "ITR React App",
|
||||||
|
"start_url": ".",
|
||||||
|
"display": "standalone",
|
||||||
|
"theme_color": "#000000",
|
||||||
|
"background_color": "#ffffff"
|
||||||
|
}
|
3
public/robots.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# https://www.robotstxt.org/robotstxt.html
|
||||||
|
User-agent: *
|
||||||
|
Disallow:
|
BIN
src/assets/font/LeagueSpartan-ExtraBold.ttf
Normal file
BIN
src/assets/font/LeagueSpartan-Medium.ttf
Normal file
BIN
src/assets/pics/error.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
src/assets/pics/fenrir.png
Normal file
After Width: | Height: | Size: 977 KiB |
143
src/assets/stylesheets/about.scss
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: itrFont;
|
||||||
|
src: url(../font/LeagueSpartan-ExtraBold.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: itrFontMedium;
|
||||||
|
src: url(../font/LeagueSpartan-Medium.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
.about {
|
||||||
|
background-color: #232323;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
height: auto;
|
||||||
|
opacity: 100%;
|
||||||
|
overflow-x: hidden;
|
||||||
|
display: flex;
|
||||||
|
-webkit-animation: fade 0.9s ease-in;
|
||||||
|
-moz-animation: fade 0.9s ease-in;
|
||||||
|
-ms-animation: fade 0.9s ease-in;
|
||||||
|
-o-animation: fade 0.9s ease-in;
|
||||||
|
animation: fade 0.9s ease-in;
|
||||||
|
background: linear-gradient(#3b3b3b, #1a1a1a);
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content {
|
||||||
|
position: relative;
|
||||||
|
margin-top: 70px;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__main {
|
||||||
|
width: 100vw;
|
||||||
|
height: auto;
|
||||||
|
margin-top: 5vh;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__main__container {
|
||||||
|
padding: 10px 10px 20px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: rgb(66, 66, 66);
|
||||||
|
width: 80vw;
|
||||||
|
height: auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
transition: 0.3s;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__main__container h1,
|
||||||
|
.about__content__blocks_block h1 {
|
||||||
|
color: white;
|
||||||
|
opacity: 100%;
|
||||||
|
font-size: 40px;
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: "itrFont";
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__main__container span,
|
||||||
|
.about__content__blocks_block span {
|
||||||
|
color: rgb(238, 238, 238);
|
||||||
|
opacity: 100%;
|
||||||
|
font-size: 20px;
|
||||||
|
font-family: "itrFontMedium";
|
||||||
|
padding: 10px;
|
||||||
|
line-height: 32px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__blocks_block span {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__blocks {
|
||||||
|
margin-top: 6vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: auto;
|
||||||
|
margin-right: calc(-1 * (100vw - 100%));
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__blocks_block {
|
||||||
|
position: relative;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: rgb(66, 66, 66);
|
||||||
|
width: 25vw;
|
||||||
|
margin-left: 3vw;
|
||||||
|
margin-right: 3vw;
|
||||||
|
min-height: 38vh;
|
||||||
|
height: auto;
|
||||||
|
padding: 10px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
transition: 0.3s;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__blocks_block p {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
color: rgb(136, 136, 136);
|
||||||
|
opacity: 100%;
|
||||||
|
font-size: 20px;
|
||||||
|
font-family: "itrFontMedium";
|
||||||
|
padding: 10px;
|
||||||
|
line-height: 32px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__blocks_block:hover,
|
||||||
|
.about__content__main__container:hover {
|
||||||
|
background-color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1550px) {
|
||||||
|
.about__content__blocks {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__blocks_block {
|
||||||
|
margin-bottom: 6vh;
|
||||||
|
width: 80vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about__content__blocks_block h1 {
|
||||||
|
font-size: 35px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
18
src/assets/stylesheets/app.scss
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
* {
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #232323;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
41
src/assets/stylesheets/awards.scss
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: itrFont;
|
||||||
|
src: url(../font/LeagueSpartan-ExtraBold.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: itrFontMedium;
|
||||||
|
src: url(../font/LeagueSpartan-Medium.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
.awards {
|
||||||
|
position: relative;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
background-color: rgb(54, 54, 54);
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.awards__content {
|
||||||
|
background-color: red;
|
||||||
|
width: 80%;
|
||||||
|
height: auto;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.awards__content__title {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 300%;
|
||||||
|
color: rgb(255, 255, 255);
|
||||||
|
font-family: "itrFont";
|
||||||
|
margin-bottom: 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.awards__content__list_item {
|
||||||
|
border-top: 1px solid black;
|
||||||
|
border-bottom: 1px solid black;
|
||||||
|
width: 100%;
|
||||||
|
height: 100px;
|
||||||
|
}
|
78
src/assets/stylesheets/bubble.scss
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: itrFont;
|
||||||
|
src: url(../font/LeagueSpartan-ExtraBold.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: itrFontMedium;
|
||||||
|
src: url(../font/LeagueSpartan-Medium.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble {
|
||||||
|
color: rgb(255, 255, 255);
|
||||||
|
font-family: "itrFontMedium";
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main {
|
||||||
|
width: 40vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main h1 {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 300%;
|
||||||
|
border-left: 5px solid rgb(255, 142, 142);
|
||||||
|
padding-left: 15px;
|
||||||
|
border-top-left-radius: 10px;
|
||||||
|
margin-bottom: -5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main h2 {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 400%;
|
||||||
|
border-left: 5px solid rgb(255, 142, 142);
|
||||||
|
padding-left: 15px;
|
||||||
|
border-bottom-left-radius: 10px;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main div {
|
||||||
|
height: auto;
|
||||||
|
display: flex;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 150%;
|
||||||
|
color: #d6d6d6;
|
||||||
|
background-color: rgb(59, 59, 59);
|
||||||
|
border-radius: 10px;
|
||||||
|
line-height: 35px;
|
||||||
|
padding: 15px;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main a {
|
||||||
|
color: rgb(141, 238, 255);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 650px) {
|
||||||
|
// Phones
|
||||||
|
.bubble_main {
|
||||||
|
width: 80vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main h1 {
|
||||||
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main h2 {
|
||||||
|
font-size: 250%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble_main div {
|
||||||
|
font-size: 100%;
|
||||||
|
line-height: 25px;
|
||||||
|
}
|
||||||
|
}
|
124
src/assets/stylesheets/dropdown.scss
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: itrFont;
|
||||||
|
src: url(../font/LeagueSpartan-ExtraBold.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: itrFontMedium;
|
||||||
|
src: url(../font/LeagueSpartan-Medium.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 650px) {
|
||||||
|
.c {
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: linear-gradient(#353535, #232323);
|
||||||
|
z-index: 10000000;
|
||||||
|
overflow: hidden;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
// animation: slide .6s ease;
|
||||||
|
// animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dd {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 95%;
|
||||||
|
margin-top: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
margin-bottom: 10%;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dd__link {
|
||||||
|
color: white;
|
||||||
|
font-size: 40px;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dd__link_label {
|
||||||
|
position: relative;
|
||||||
|
width: 90%;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dd__link_arrow {
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
padding-top: 7px;
|
||||||
|
width: 10%;
|
||||||
|
font-size: 30px;
|
||||||
|
cursor: pointer;
|
||||||
|
opacity: 0%;
|
||||||
|
transition: 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dd__link_arrow:hover:focus {
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dd__link_label:hover + .dd__link_arrow {
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
margin-top: 10px;
|
||||||
|
display: inline-block;
|
||||||
|
flex-direction: row;
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__text {
|
||||||
|
color: white;
|
||||||
|
font-size: 50px;
|
||||||
|
font-family: "itrFont";
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__x {
|
||||||
|
color: white;
|
||||||
|
font-size: 25px;
|
||||||
|
font-family: "itrFont";
|
||||||
|
border: none;
|
||||||
|
float: right;
|
||||||
|
margin-top: 13px;
|
||||||
|
margin-right: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.slideIn{
|
||||||
|
animation: slideIn .6s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slideOut{
|
||||||
|
animation: slideOut .6s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes slideIn {
|
||||||
|
0% {
|
||||||
|
margin-top: 100vh;
|
||||||
|
opacity: 0%;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
margin-top: 0vh;
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes slideOut {
|
||||||
|
0% {
|
||||||
|
margin-top: 0vh;
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
margin-top: 100vh;
|
||||||
|
opacity: 0%;
|
||||||
|
}
|
||||||
|
}
|
12
src/assets/stylesheets/error.scss
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
.error {
|
||||||
|
background-color: #232323;
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100vh - 166px);
|
||||||
|
overflow: hidden;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error__photo {
|
||||||
|
width: 100%;
|
||||||
|
min-width: 900px;
|
||||||
|
}
|
105
src/assets/stylesheets/footer.scss
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: itrFont;
|
||||||
|
src: url(../font/LeagueSpartan-ExtraBold.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: itrFontMedium;
|
||||||
|
src: url(../font/LeagueSpartan-Medium.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
position: relative;
|
||||||
|
background-color: #232323;
|
||||||
|
bottom: 0px;
|
||||||
|
width: 100%;
|
||||||
|
height: 150px;
|
||||||
|
overflow: hidden;
|
||||||
|
border-top: 1px solid rgb(46, 46, 46);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__links {
|
||||||
|
margin-right: 0px;
|
||||||
|
width: 100vw;
|
||||||
|
height: 6vh;
|
||||||
|
overflow: hidden;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__links_svg {
|
||||||
|
width: 40px;
|
||||||
|
margin-left: 0.8vw;
|
||||||
|
margin-right: 0.8vw;
|
||||||
|
filter: invert(100%) sepia(10%) saturate(1000%) hue-rotate(10deg)
|
||||||
|
brightness(100%) contrast(100%);
|
||||||
|
opacity: 20%;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__links_svg:hover {
|
||||||
|
opacity: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__toes {
|
||||||
|
display: flex;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__toes_logo {
|
||||||
|
color: rgb(197, 197, 197);
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 50px;
|
||||||
|
font-family: "itrFont";
|
||||||
|
transition: 0.3s;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 30px;
|
||||||
|
margin-right: 30px;
|
||||||
|
text-align: center;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__toes_logo:hover {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__toes__links_left,
|
||||||
|
.footer__toes__links_right {
|
||||||
|
margin-bottom: 9px;
|
||||||
|
margin-bottom: 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 650px) {
|
||||||
|
// Phones
|
||||||
|
.footer__links_svg {
|
||||||
|
width: 10vw;
|
||||||
|
background-color: transparent;
|
||||||
|
margin-left: -4vw;
|
||||||
|
margin-right: -4vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__toes {
|
||||||
|
zoom: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__toes_logo {
|
||||||
|
font-size: 40px;
|
||||||
|
font-family: "itrFont";
|
||||||
|
transition: 0.3s;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__toes__links_left,
|
||||||
|
.footer__toes__links_right {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
}
|
157
src/assets/stylesheets/home.scss
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: itrFont;
|
||||||
|
src: url(../font/LeagueSpartan-ExtraBold.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: itrFontMedium;
|
||||||
|
src: url(../font/LeagueSpartan-Medium.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
.home {
|
||||||
|
width: 100%;
|
||||||
|
opacity: 100%;
|
||||||
|
-webkit-animation: fade 0.9s ease-in;
|
||||||
|
-moz-animation: fade 0.9s ease-in;
|
||||||
|
-ms-animation: fade 0.9s ease-in;
|
||||||
|
-o-animation: fade 0.9s ease-in;
|
||||||
|
animation: fade 0.9s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__panel {
|
||||||
|
background-color: transparent;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__panel__title {
|
||||||
|
position: absolute;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 500%;
|
||||||
|
font-family: "itrFont";
|
||||||
|
animation: textSlide 1s ease;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
opacity: 100%;
|
||||||
|
width: 100%;
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
letter-spacing: 5px;
|
||||||
|
filter: drop-shadow(0 0 0.75rem rgb(77, 77, 77));
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__panel__button {
|
||||||
|
position: absolute;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 300%;
|
||||||
|
animation: textSlide 1s ease, textBreathe 10s ease;
|
||||||
|
animation-iteration-count: 1, infinite;
|
||||||
|
opacity: 100%;
|
||||||
|
filter: drop-shadow(0 0 0.75rem rgb(77, 77, 77));
|
||||||
|
z-index: 1;
|
||||||
|
margin-top: 70vh;
|
||||||
|
border: none;
|
||||||
|
transition: 0.3s;
|
||||||
|
cursor: pointer;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__panel__button:hover {
|
||||||
|
font-size: 370%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__info {
|
||||||
|
min-height: 100vh;
|
||||||
|
height: auto;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
background: linear-gradient(#353535, #232323);
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__info__image {
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
overflow: hidden;
|
||||||
|
right: 0;
|
||||||
|
margin-top: 20vh;
|
||||||
|
width: 45vw;
|
||||||
|
height: 40vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__info__image img {
|
||||||
|
margin-right: 5vw;
|
||||||
|
width: 30vw;
|
||||||
|
animation: glow;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: ease;
|
||||||
|
animation-delay: 2s;
|
||||||
|
animation-fill-mode: forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 912px) {
|
||||||
|
// Tablets
|
||||||
|
.home__content__panel__video {
|
||||||
|
zoom: 130%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 650px) {
|
||||||
|
// Phones
|
||||||
|
.home__content__info__image {
|
||||||
|
opacity: 0%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__panel__title {
|
||||||
|
color: rgb(255, 255, 255);
|
||||||
|
font-size: 250%;
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
letter-spacing: 5px;
|
||||||
|
filter: drop-shadow(0 0 0.75rem rgb(77, 77, 77));
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__panel__button {
|
||||||
|
margin-top: 80vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home__content__panel__video {
|
||||||
|
zoom: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Animations
|
||||||
|
|
||||||
|
@keyframes glow {
|
||||||
|
0% {
|
||||||
|
filter: drop-shadow(0vw 0vw 0vw #ff6767c0);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
filter: drop-shadow(0vw 0vw 3vw #ff6767c0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes textSlide {
|
||||||
|
0% {
|
||||||
|
margin-top: 50vw;
|
||||||
|
}
|
||||||
|
0% {
|
||||||
|
opacity: 0%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
203
src/assets/stylesheets/navbar.scss
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: itrFont;
|
||||||
|
src: url(../font/LeagueSpartan-ExtraBold.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: itrFontMedium;
|
||||||
|
src: url(../font/LeagueSpartan-Medium.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 70px;
|
||||||
|
background-color: transparent;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
overflow-y: hidden;
|
||||||
|
transition: 0.5s;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar__logotext {
|
||||||
|
color: white;
|
||||||
|
font-size: 50px;
|
||||||
|
font-family: "itrFont";
|
||||||
|
margin-top: 6px;
|
||||||
|
margin-left: 50px;
|
||||||
|
transition: 0.5s;
|
||||||
|
background: linear-gradient(
|
||||||
|
to right,
|
||||||
|
#ff0000,
|
||||||
|
#ff7300,
|
||||||
|
#fffb00,
|
||||||
|
#48ff00,
|
||||||
|
#00ffd5,
|
||||||
|
#002bff,
|
||||||
|
#7a00ff,
|
||||||
|
#ff00c8,
|
||||||
|
#ff0000
|
||||||
|
);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
background-clip: text;
|
||||||
|
animation: navbar__logotext 6s ease-in-out infinite;
|
||||||
|
background-size: 400% 100%;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#logo {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar__logotext:hover {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes navbar__logotext {
|
||||||
|
0%,
|
||||||
|
100% {
|
||||||
|
background-position: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
background-position: 100% 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
li a {
|
||||||
|
color: rgb(216, 216, 216);
|
||||||
|
text-decoration: none;
|
||||||
|
font-family: "itrFontMedium";
|
||||||
|
font-size: 20px;
|
||||||
|
margin-left: 3px;
|
||||||
|
margin-right: 3px;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
li a:hover {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav__placeholder {
|
||||||
|
padding: 10px;
|
||||||
|
width: 70px;
|
||||||
|
height: 20px;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
background: transparent;
|
||||||
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-right: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav__login {
|
||||||
|
padding: 10px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 20px;
|
||||||
|
text-align: center;
|
||||||
|
font-family: "itrFontMedium";
|
||||||
|
width: 70px;
|
||||||
|
height: 20px;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
color: #ffffff;
|
||||||
|
background: #111;
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-right: 50px;
|
||||||
|
}
|
||||||
|
.nav__login::before {
|
||||||
|
content: "";
|
||||||
|
background: linear-gradient(
|
||||||
|
to right,
|
||||||
|
#ff0000,
|
||||||
|
#ff7300,
|
||||||
|
#fffb00,
|
||||||
|
#48ff00,
|
||||||
|
#00ffd5,
|
||||||
|
#002bff,
|
||||||
|
#7a00ff,
|
||||||
|
#ff00c8,
|
||||||
|
#ff0000
|
||||||
|
);
|
||||||
|
position: absolute;
|
||||||
|
top: -2px;
|
||||||
|
left: -2px;
|
||||||
|
background-size: 400%;
|
||||||
|
z-index: -1;
|
||||||
|
width: calc(100% + 4px);
|
||||||
|
height: calc(100% + 4px);
|
||||||
|
animation: glow 30s linear infinite;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.3s ease-in-out;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
@keyframes glow {
|
||||||
|
0% {
|
||||||
|
background-position: 0 0;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
background-position: 400% 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
background-position: 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nav__login:active {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
.nav__login:active:after {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.nav__login:hover:before {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar__hamburger {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 912px) {
|
||||||
|
// Tablets
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 650px) {
|
||||||
|
// Phones
|
||||||
|
.navbar__logotext {
|
||||||
|
margin-top: 6px;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar__hamburger {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
margin-right: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar__hamburger_line {
|
||||||
|
background-color: rgb(255, 255, 255);
|
||||||
|
width: 30px;
|
||||||
|
height: 3px;
|
||||||
|
margin: 2px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
}
|
28
src/assets/svg/discord.svg
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M3000 6195 c-309 -68 -597 -158 -877 -275 l-152 -63 -42 -66 c-366
|
||||||
|
-568 -599 -1105 -728 -1681 -79 -351 -109 -599 -118 -962 -6 -252 10 -612 28
|
||||||
|
-634 16 -20 267 -187 403 -269 193 -116 468 -252 674 -334 215 -85 393 -144
|
||||||
|
401 -133 92 127 297 460 304 495 1 4 -34 23 -78 41 -197 81 -406 190 -404 210
|
||||||
|
0 6 27 30 59 54 l59 43 42 -22 c54 -27 269 -109 391 -148 585 -187 1258 -211
|
||||||
|
1855 -66 172 42 362 105 542 179 l133 55 57 -45 c31 -26 57 -49 59 -53 3 -10
|
||||||
|
-268 -148 -394 -201 l-102 -42 66 -117 c68 -122 223 -361 245 -379 10 -8 43
|
||||||
|
-1 127 27 306 103 684 275 935 426 97 59 361 232 407 268 28 22 41 256 35 616
|
||||||
|
-5 318 -17 458 -62 726 -110 658 -364 1301 -747 1891 l-78 121 -137 58 c-311
|
||||||
|
131 -606 221 -947 291 -113 23 -119 23 -132 7 -7 -10 -44 -82 -81 -161 -58
|
||||||
|
-122 -71 -142 -88 -138 -186 44 -849 57 -1130 23 -82 -10 -158 -19 -168 -20
|
||||||
|
-14 -2 -36 33 -96 153 -42 85 -84 156 -92 157 -7 1 -84 -14 -169 -32z m155
|
||||||
|
-1839 c180 -48 338 -216 390 -417 81 -307 -103 -662 -380 -734 -128 -33 -284
|
||||||
|
-11 -385 53 -192 122 -306 375 -271 601 29 193 113 333 260 434 102 70 262 96
|
||||||
|
386 63z m1968 -6 c163 -51 297 -191 359 -375 19 -59 23 -89 22 -195 0 -107 -4
|
||||||
|
-136 -27 -205 -61 -184 -203 -327 -370 -371 -66 -18 -187 -18 -253 0 -179 47
|
||||||
|
-331 215 -384 422 -63 246 35 522 235 659 120 83 280 108 418 65z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
30
src/assets/svg/facebook.svg
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M1077 7210 c-117 -20 -224 -107 -269 -218 l-23 -57 0 -2935 0 -2935
|
||||||
|
24 -60 c33 -81 115 -163 196 -196 l60 -24 1573 -3 1572 -2 0 1242 0 1243 -420
|
||||||
|
-3 -420 -2 0 500 0 500 419 -2 419 -3 5 460 c5 495 9 537 63 715 15 47 27 90
|
||||||
|
28 95 1 6 10 24 19 41 9 17 13 34 10 38 -4 3 -1 6 6 6 7 0 9 5 6 10 -3 6 -1
|
||||||
|
10 5 10 6 0 8 5 5 10 -3 6 -1 10 5 10 6 0 8 5 5 10 -3 6 -1 10 6 10 7 0 10 3
|
||||||
|
6 6 -3 3 3 15 13 27 11 11 17 23 15 27 -3 5 2 11 11 14 8 3 13 10 10 15 -3 5
|
||||||
|
1 12 10 15 9 4 14 9 11 12 -3 3 6 17 21 31 15 13 22 22 15 19 -6 -4 25 30 70
|
||||||
|
76 45 45 86 82 90 82 5 1 14 9 21 18 7 10 16 15 19 11 4 -3 9 2 13 11 3 9 12
|
||||||
|
16 20 16 8 0 14 5 14 10 0 6 7 10 15 10 8 0 15 5 15 11 0 5 4 7 10 4 6 -3 10
|
||||||
|
-1 10 4 0 6 3 10 8 9 4 -1 27 9 52 22 25 13 50 25 55 26 6 1 42 14 80 29 39
|
||||||
|
15 77 28 85 30 8 2 51 10 95 20 149 31 293 37 575 25 146 -6 308 -15 360 -20
|
||||||
|
52 -5 105 -10 118 -10 l22 0 0 -444 0 -444 -342 -4 c-322 -4 -347 -6 -410 -26
|
||||||
|
-37 -13 -74 -29 -82 -38 -8 -8 -18 -14 -21 -14 -3 0 -22 -15 -42 -35 -20 -19
|
||||||
|
-32 -35 -28 -35 5 0 0 -7 -11 -15 -10 -8 -14 -15 -9 -15 6 0 4 -4 -2 -8 -7 -4
|
||||||
|
-14 -17 -16 -27 -1 -11 -5 -25 -9 -30 -18 -30 -28 -201 -28 -498 l0 -332 480
|
||||||
|
3 480 2 0 -24 c0 -13 -27 -232 -60 -487 -33 -255 -60 -470 -60 -477 0 -10 -85
|
||||||
|
-12 -420 -10 l-420 3 0 -1243 0 -1243 853 3 852 3 60 24 c81 33 163 115 196
|
||||||
|
196 l24 60 0 2935 0 2935 -24 60 c-33 81 -115 163 -196 196 l-60 24 -2905 1
|
||||||
|
c-1598 1 -2927 -2 -2953 -6z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
31
src/assets/svg/github.svg
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M3692 7010 c-498 -52 -992 -234 -1407 -519 -326 -223 -654 -569 -860
|
||||||
|
-905 -212 -347 -342 -700 -416 -1136 -21 -121 -23 -168 -24 -450 0 -333 10
|
||||||
|
-434 66 -680 204 -883 813 -1644 1634 -2040 207 -100 346 -150 414 -150 77 0
|
||||||
|
106 12 131 52 19 31 20 51 20 317 l0 284 -47 -7 c-289 -41 -487 -21 -653 65
|
||||||
|
-78 40 -105 60 -172 125 -71 70 -115 135 -158 234 -78 179 -186 329 -293 405
|
||||||
|
-34 25 -79 57 -100 72 -108 78 -78 144 66 144 168 0 349 -112 468 -289 107
|
||||||
|
-161 173 -228 275 -280 145 -74 343 -73 552 1 51 18 64 27 68 47 33 161 75
|
||||||
|
255 145 328 23 23 39 45 36 48 -2 3 -36 10 -73 15 -207 29 -445 98 -595 173
|
||||||
|
-381 191 -590 499 -666 982 -24 156 -24 460 0 572 46 210 127 380 258 543 l21
|
||||||
|
27 -20 58 c-35 99 -45 186 -39 343 5 145 30 278 72 378 l15 36 108 -5 c84 -4
|
||||||
|
128 -12 202 -37 116 -39 329 -142 430 -210 41 -28 84 -51 95 -51 11 0 58 9
|
||||||
|
105 21 228 54 562 83 806 68 169 -10 377 -38 504 -68 47 -12 93 -21 103 -21
|
||||||
|
10 0 62 27 116 60 125 77 323 171 431 205 59 19 116 28 187 32 l103 6 15 -36
|
||||||
|
c42 -100 67 -233 72 -378 6 -155 -3 -232 -37 -338 l-21 -62 64 -80 c103 -128
|
||||||
|
175 -290 214 -476 25 -121 24 -442 -1 -598 -54 -340 -167 -577 -360 -763 -139
|
||||||
|
-134 -289 -220 -503 -290 -107 -36 -314 -82 -437 -97 l-48 -7 20 -21 c35 -39
|
||||||
|
90 -133 116 -198 57 -142 59 -173 65 -724 6 -554 5 -539 64 -575 59 -37 89
|
||||||
|
-31 352 70 152 59 422 212 605 344 256 184 523 460 712 736 454 662 625 1520
|
||||||
|
463 2329 -25 124 -30 143 -75 291 -192 628 -628 1209 -1188 1583 -373 249
|
||||||
|
-767 401 -1232 478 -100 17 -182 21 -405 24 -154 2 -317 0 -363 -5z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
30
src/assets/svg/instagram.svg
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M2465 7213 c-778 -51 -1420 -574 -1619 -1317 -64 -238 -61 -152 -61
|
||||||
|
-1896 0 -1744 -3 -1658 61 -1896 165 -616 641 -1093 1255 -1257 242 -65 153
|
||||||
|
-62 1899 -62 1746 0 1657 -3 1899 62 613 164 1090 641 1254 1254 65 242 62
|
||||||
|
153 62 1899 0 1746 3 1657 -62 1899 -162 606 -634 1083 -1239 1251 -43 12
|
||||||
|
-131 31 -194 43 -113 21 -136 21 -1660 22 -850 1 -1567 0 -1595 -2z m3172
|
||||||
|
-578 c327 -53 627 -246 808 -519 104 -158 161 -303 190 -479 22 -138 22 -3136
|
||||||
|
0 -3274 -83 -510 -488 -915 -998 -998 -138 -22 -3136 -22 -3274 0 -510 83
|
||||||
|
-915 488 -998 998 -22 138 -22 3136 0 3274 82 506 486 913 989 997 126 22
|
||||||
|
3152 22 3283 1z" />
|
||||||
|
<path
|
||||||
|
d="M5620 6121 c-259 -70 -377 -353 -250 -600 74 -146 285 -239 448 -197
|
||||||
|
199 51 322 204 322 401 0 193 -124 350 -317 400 -73 19 -122 18 -203 -4z" />
|
||||||
|
<path
|
||||||
|
d="M3890 5649 c-644 -44 -1193 -449 -1434 -1057 -96 -242 -133 -583 -91
|
||||||
|
-837 61 -365 203 -650 454 -908 421 -433 1028 -598 1618 -441 555 148 1009
|
||||||
|
602 1157 1157 78 293 78 581 0 874 -121 454 -456 854 -884 1055 -259 122 -543
|
||||||
|
176 -820 157z m295 -575 c226 -39 424 -142 586 -304 425 -425 425 -1115 -1
|
||||||
|
-1540 -295 -296 -733 -396 -1129 -259 -566 196 -867 819 -670 1388 173 501
|
||||||
|
692 806 1214 715z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
27
src/assets/svg/twitter.svg
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="100%" height="100%" viewBox="0 0 800.000000 800.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
|
||||||
|
<g transform="translate(0.000000,800.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path
|
||||||
|
d="M5170 6790 c-323 -40 -610 -179 -835 -405 -337 -337 -471 -780 -389
|
||||||
|
-1277 l7 -37 -69 5 c-924 74 -1737 421 -2416 1030 -113 101 -279 274 -374 388
|
||||||
|
l-41 49 -45 -94 c-96 -197 -138 -386 -138 -614 0 -352 114 -659 345 -928 60
|
||||||
|
-70 220 -212 252 -224 30 -12 9 -20 -40 -16 -160 13 -339 61 -485 129 l-94 44
|
||||||
|
7 -93 c10 -138 32 -250 70 -364 72 -215 177 -385 340 -549 176 -177 375 -295
|
||||||
|
608 -361 54 -15 92 -30 85 -34 -7 -4 -56 -14 -108 -24 -106 -20 -347 -23 -440
|
||||||
|
-7 -30 6 -57 8 -58 7 -7 -6 36 -112 79 -197 150 -298 412 -542 720 -667 150
|
||||||
|
-61 308 -97 442 -102 31 -1 57 -5 57 -9 0 -9 -136 -106 -245 -175 -127 -80
|
||||||
|
-360 -194 -511 -250 -165 -60 -393 -118 -570 -145 -171 -26 -469 -36 -619 -22
|
||||||
|
-60 6 -111 9 -113 8 -7 -7 233 -142 383 -216 592 -290 1231 -427 1895 -406
|
||||||
|
1013 31 1890 386 2595 1050 616 580 1054 1399 1209 2261 40 220 57 402 62 645
|
||||||
|
l4 225 90 71 c203 161 374 338 531 550 38 51 69 95 69 97 0 3 -35 -10 -78 -28
|
||||||
|
-105 -44 -282 -101 -408 -131 -111 -26 -294 -57 -300 -51 -2 2 29 26 69 53
|
||||||
|
148 100 326 294 413 451 39 69 114 236 114 253 0 5 -55 -20 -123 -55 -212
|
||||||
|
-111 -558 -236 -720 -260 l-47 -7 -73 69 c-180 171 -434 298 -696 347 -104 20
|
||||||
|
-312 28 -411 16z" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/videos/video.mp4
Normal file
110
src/components/About.js
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import { AnimationOnScroll } from "react-animation-on-scroll";
|
||||||
|
import "../assets/stylesheets/about.scss";
|
||||||
|
|
||||||
|
export default class About extends Component {
|
||||||
|
componentDidMount() {
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
click() {}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="about">
|
||||||
|
<div className="about__content">
|
||||||
|
<div className="about__content__main">
|
||||||
|
<AnimationOnScroll
|
||||||
|
animateIn="animate__fadeInDown"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={1}
|
||||||
|
delay={0}
|
||||||
|
>
|
||||||
|
<div className="about__content__main__container">
|
||||||
|
<h1>About Us 📌</h1>
|
||||||
|
<span>
|
||||||
|
The Illinois Tech Robotics Club at IIT is a student-run
|
||||||
|
organization dedicated to promoting the development and
|
||||||
|
application of robotics technology. We aim to provide a
|
||||||
|
platform for students to learn, design, build, and compete
|
||||||
|
with robots. Our members come from a variety of disciplines
|
||||||
|
and backgrounds, including computer science, electrical
|
||||||
|
engineering, mechanical engineering, and beyond. We host
|
||||||
|
regular meetings, workshops, and events to encourage hands-on
|
||||||
|
experience and collaboration among members. Our club also
|
||||||
|
participates in various national and international robotics
|
||||||
|
competitions, providing opportunities for members to showcase
|
||||||
|
their skills and put their knowledge to the test. Whether you
|
||||||
|
are a seasoned robotics enthusiast or just starting out, the
|
||||||
|
Illinois Tech Robotics Club is a welcoming community for
|
||||||
|
anyone interested in the field. Join us in exploring the
|
||||||
|
exciting world of robotics and pushing the boundaries of what
|
||||||
|
is possible.
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="about__content__blocks">
|
||||||
|
<AnimationOnScroll
|
||||||
|
animateIn="animate__fadeInUp"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={1}
|
||||||
|
delay={500}
|
||||||
|
>
|
||||||
|
<div className="about__content__blocks_block">
|
||||||
|
<h1>Awards 🏆</h1>
|
||||||
|
<span>
|
||||||
|
Illinois Tech Robotics has received numerous awards for our
|
||||||
|
contributions to the field of robotics. Our team has been
|
||||||
|
recognized at local competitions for our commitment to
|
||||||
|
innovation and excellence. We take pride in our recognition
|
||||||
|
and continue to push the boundaries of robotics technology.
|
||||||
|
</span>
|
||||||
|
<p>(Click for more info)</p>
|
||||||
|
</div>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
<AnimationOnScroll
|
||||||
|
animateIn="animate__fadeInUp"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={1.2}
|
||||||
|
delay={500}
|
||||||
|
>
|
||||||
|
<div className="about__content__blocks_block">
|
||||||
|
<h1>Officers 👩💼</h1>
|
||||||
|
<span>
|
||||||
|
Illinois Tech Robotics is led by a team of student officers
|
||||||
|
committed to advancing robotics. Our diverse officers bring
|
||||||
|
unique skills and perspectives, leading events and projects.
|
||||||
|
We are proud to have a talented and passionate group guiding
|
||||||
|
us forward.
|
||||||
|
</span>
|
||||||
|
<p>(Click for more info)</p>
|
||||||
|
</div>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
<AnimationOnScroll
|
||||||
|
animateIn="animate__fadeInUp"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={1.4}
|
||||||
|
delay={500}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
className="about__content__blocks_block"
|
||||||
|
onClick={this.click}
|
||||||
|
>
|
||||||
|
<h1>Constitution 📜</h1>
|
||||||
|
<span>
|
||||||
|
Illinois Tech Robotics operates under a Constitution outlining
|
||||||
|
our purpose, rules, and processes. It outlines
|
||||||
|
responsibilities, decision-making, and governance to maintain
|
||||||
|
fairness, transparency, and accountability within our team.
|
||||||
|
</span>
|
||||||
|
<p>(Click for more info)</p>
|
||||||
|
</div>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
21
src/components/Awards.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import "../assets/stylesheets/awards.scss";
|
||||||
|
|
||||||
|
export default class Awards extends Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="awards">
|
||||||
|
<div className="awards__content">
|
||||||
|
<h1 className="awards__content__title">Awards & Recognition 🏆</h1>
|
||||||
|
<ol className="awards__content__list">
|
||||||
|
<i>
|
||||||
|
<div className="awards__content__list_item">
|
||||||
|
<h2>2019</h2>
|
||||||
|
</div>
|
||||||
|
</i>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
46
src/components/Bubble.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import "../assets/stylesheets/bubble.scss";
|
||||||
|
import { AnimationOnScroll } from "react-animation-on-scroll";
|
||||||
|
|
||||||
|
export default class Bubble extends Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
marginLeft: `${this.props.left}`,
|
||||||
|
paddingTop: `${this.props.top}`,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div className="bubble">
|
||||||
|
<AnimationOnScroll
|
||||||
|
className="bubble_main"
|
||||||
|
animateIn="animate__fadeInUp"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={1}
|
||||||
|
delay={0}
|
||||||
|
>
|
||||||
|
<h1>{this.props.h1}</h1>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
<AnimationOnScroll
|
||||||
|
className="bubble_main"
|
||||||
|
animateIn="animate__fadeInUp"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={1.2}
|
||||||
|
delay={0}
|
||||||
|
>
|
||||||
|
<h2>{this.props.h2}</h2>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
<AnimationOnScroll
|
||||||
|
className="bubble_main"
|
||||||
|
animateIn="animate__fadeIn"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={3}
|
||||||
|
delay={500}
|
||||||
|
>
|
||||||
|
<div>{this.props.children}</div>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
54
src/components/DropdownContainer.js
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import { NavLink } from "react-router-dom";
|
||||||
|
import "../assets/stylesheets/dropdown.scss";
|
||||||
|
|
||||||
|
export default class DropdownContainer extends Component {
|
||||||
|
|
||||||
|
constructor(props){
|
||||||
|
super(props);
|
||||||
|
this.container = React.createRef();
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleHamburger() {
|
||||||
|
this.container.current.className = "slideOut c";
|
||||||
|
setTimeout(() => {this.props.hamburgerToggle();}
|
||||||
|
, 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<nav ref={this.container} className="c slideIn">
|
||||||
|
<div className="header">
|
||||||
|
<label className="header__text">ITR</label>
|
||||||
|
<button className="header__x" onClick={() => this.toggleHamburger()}>X</button>
|
||||||
|
</div>
|
||||||
|
<div className="dd">
|
||||||
|
<li>
|
||||||
|
<NavLink className="dd__link" to="/">
|
||||||
|
<label className="dd__link_label">Home</label>
|
||||||
|
<label className="dd__link_arrow">{">"}</label>
|
||||||
|
</NavLink>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<NavLink className="dd__link" to="/about">
|
||||||
|
<label className="dd__link_label">About</label>
|
||||||
|
<label className="dd__link_arrow">{">"}</label>
|
||||||
|
</NavLink>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<NavLink className="dd__link" to="/projects">
|
||||||
|
<label className="dd__link_label">Projects</label>
|
||||||
|
<label className="dd__link_arrow">{">"}</label>
|
||||||
|
</NavLink>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<NavLink className="dd__link" to="/gallery">
|
||||||
|
<label className="dd__link_label">Gallery</label>
|
||||||
|
<label className="dd__link_arrow">{">"}</label>
|
||||||
|
</NavLink>
|
||||||
|
</li>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
23
src/components/Error.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import NavBar from "../components/NavBar";
|
||||||
|
import "../assets/stylesheets/error.scss";
|
||||||
|
|
||||||
|
export default class Error extends Component {
|
||||||
|
status = this.props.err.item.status;
|
||||||
|
statusText = this.props.err.item.statusText;
|
||||||
|
message = this.props.err.item.message;
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<div className="error">
|
||||||
|
<img
|
||||||
|
className="error__photo"
|
||||||
|
src={require("../assets/pics/error.jpg")}
|
||||||
|
alt="background"
|
||||||
|
></img>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
87
src/components/Footer.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import "../assets/stylesheets/footer.scss";
|
||||||
|
import { ReactComponent as DiscordSVG } from "../assets/svg/discord.svg";
|
||||||
|
import { ReactComponent as TwitterSVG } from "../assets/svg/twitter.svg";
|
||||||
|
import { ReactComponent as FacebookSVG } from "../assets/svg/facebook.svg";
|
||||||
|
import { ReactComponent as InstagramSVG } from "../assets/svg/instagram.svg";
|
||||||
|
import { ReactComponent as GithubSVG } from "../assets/svg/github.svg";
|
||||||
|
|
||||||
|
export default class Footer extends Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="footer">
|
||||||
|
<div className="footer__links">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://discord.gg/GA6mvMEzSu"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
>
|
||||||
|
<DiscordSVG className="footer__links_svg"></DiscordSVG>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://twitter.com/ILTech_Robotics"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
>
|
||||||
|
<TwitterSVG className="footer__links_svg"></TwitterSVG>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://www.facebook.com/IllinoisTechRobotics/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
>
|
||||||
|
<FacebookSVG className="footer__links_svg"></FacebookSVG>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://www.instagram.com/illinoistechrobotics/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
>
|
||||||
|
<InstagramSVG className="footer__links_svg"></InstagramSVG>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://github.com/illinoistechrobotics"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
>
|
||||||
|
<GithubSVG className="footer__links_svg"></GithubSVG>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="footer__toes">
|
||||||
|
<ul className="footer__toes__links_left">
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:3000/about">About</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:3000/contact">Contact</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<a className="footer__toes_logo" href="http://localhost:3000/">
|
||||||
|
ITR
|
||||||
|
</a>
|
||||||
|
<ul className="footer__toes__links_right">
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:3000/projects">Projects</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="http://localhost:3000/gallery">Gallery</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
22
src/components/Gallery.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import backgroundVideo from "../assets/video.mp4";
|
||||||
|
import "../assets/stylesheets/home.scss";
|
||||||
|
|
||||||
|
export default class Gallery extends Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="home">
|
||||||
|
<video autoPlay loop muted className="home__video">
|
||||||
|
<source src={backgroundVideo} type="video/mp4" />
|
||||||
|
</video>
|
||||||
|
<div className="home__content">
|
||||||
|
<label className="home__content__title">
|
||||||
|
ILLINOIS TECH
|
||||||
|
<br />
|
||||||
|
ROBOTICS
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
90
src/components/Home.js
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import backgroundVideo from "../assets/videos/video.mp4";
|
||||||
|
import "../assets/stylesheets/home.scss";
|
||||||
|
import { AnimationOnScroll } from "react-animation-on-scroll";
|
||||||
|
import Bubble from "./Bubble";
|
||||||
|
import * as Scroll from "react-scroll";
|
||||||
|
import "animate.css";
|
||||||
|
|
||||||
|
export default class Home extends Component {
|
||||||
|
scrollToContent() {
|
||||||
|
var scroll = require("react-scroll");
|
||||||
|
scroll = Scroll.animateScroll;
|
||||||
|
scroll.scrollTo(920);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="home">
|
||||||
|
<div className="home__content">
|
||||||
|
<div className="home__content__panel">
|
||||||
|
<label className="home__content__panel__title">
|
||||||
|
<p>ILLINOIS TECH</p>
|
||||||
|
<p>ROBOTICS</p>
|
||||||
|
</label>
|
||||||
|
<button
|
||||||
|
className="home__content__panel__button"
|
||||||
|
onClick={this.scrollToContent}
|
||||||
|
>
|
||||||
|
⬇️
|
||||||
|
</button>
|
||||||
|
<video autoPlay loop muted className="home__content__panel__video">
|
||||||
|
<source src={backgroundVideo} type="video/mp4" />
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="home__content__info">
|
||||||
|
<div className="home__content__info__image">
|
||||||
|
<AnimationOnScroll
|
||||||
|
className="home__content__info_join"
|
||||||
|
animateIn="animate__fadeInRight"
|
||||||
|
animateOnce="true"
|
||||||
|
duration={1}
|
||||||
|
delay={1200}
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src={require("../assets/pics/fenrir.png")}
|
||||||
|
alt="Fenrir"
|
||||||
|
></img>
|
||||||
|
</AnimationOnScroll>
|
||||||
|
</div>
|
||||||
|
<Bubble top="10vh" left="10vw" h1="Join us at our" h2="GBMs 🤝">
|
||||||
|
<span>
|
||||||
|
Welcome to the Illinois Tech Robotics Club! We are a student-run
|
||||||
|
organization that promotes the field of robotics through
|
||||||
|
hands-on projects, competitions and events. Open to students of
|
||||||
|
all majors and skill levels, we meet every week at 6:30pm CST to
|
||||||
|
work on exciting robotics projects.
|
||||||
|
</span>
|
||||||
|
</Bubble>
|
||||||
|
<Bubble
|
||||||
|
top="5vh"
|
||||||
|
left="10vw"
|
||||||
|
h1="Directions to the"
|
||||||
|
h2="ITR Lab 🗺️"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
1. Enter through the{" "}
|
||||||
|
<a href="https://goo.gl/maps/NJW5LzDDBYoHiD5X6">IIT Tower</a>{" "}
|
||||||
|
located at 10 W 35 St, Chicago, IL.
|
||||||
|
<br />
|
||||||
|
2. Sign in with the front desk, and then take the elevator to
|
||||||
|
the basement.
|
||||||
|
<br />
|
||||||
|
3. Once in the basement, take a right from the elevator and
|
||||||
|
enter the last door on the left.
|
||||||
|
<br />
|
||||||
|
4. Finally, sign in to the Elevate Underground Lab with the CLA
|
||||||
|
on guard!
|
||||||
|
</span>
|
||||||
|
</Bubble>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
52
src/components/NavBar.js
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import { NavLink } from "react-router-dom";
|
||||||
|
import "../assets/stylesheets/navbar.scss";
|
||||||
|
|
||||||
|
export default class NavBar extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = { navBackground: { backgroundColor: "transparent" }, hamburger: false };
|
||||||
|
document.addEventListener("scroll", (event) => {
|
||||||
|
if (window.scrollY < 10)
|
||||||
|
this.setState({ navBackground: { backgroundColor: "transparent" } });
|
||||||
|
else this.setState({ navBackground: { backgroundColor: "#232323" } });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleHamburger() {
|
||||||
|
this.props.hamburgerToggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<nav className="navbar" style={this.state.navBackground}>
|
||||||
|
<a id="logo" href="http://localhost:3000">
|
||||||
|
<h2 className="navbar__logotext">ITR</h2>
|
||||||
|
</a>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<NavLink to="/">Home</NavLink>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<NavLink to="/about">About</NavLink>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<NavLink to="/projects">Projects</NavLink>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<NavLink to="/gallery">Gallery</NavLink>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
{/* <NavLink className="nav__login" to="/login">
|
||||||
|
Login
|
||||||
|
</NavLink> */}
|
||||||
|
<div className="nav__placeholder"></div>
|
||||||
|
<div className="navbar__hamburger" onClick={() => this.toggleHamburger()}>
|
||||||
|
<div className="navbar__hamburger_line"></div>
|
||||||
|
<div className="navbar__hamburger_line"></div>
|
||||||
|
<div className="navbar__hamburger_line"></div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
22
src/components/Projects.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import backgroundVideo from "../assets/video.mp4";
|
||||||
|
import "../assets/stylesheets/home.scss";
|
||||||
|
|
||||||
|
export default class Projects extends Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="home">
|
||||||
|
<video autoPlay loop muted className="home__video">
|
||||||
|
<source src={backgroundVideo} type="video/mp4" />
|
||||||
|
</video>
|
||||||
|
<div className="home__content">
|
||||||
|
<label className="home__content__title">
|
||||||
|
ILLINOIS TECH
|
||||||
|
<br />
|
||||||
|
ROBOTICS
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
32
src/index.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import React from "react";
|
||||||
|
import ReactDOM from "react-dom/client";
|
||||||
|
import HomeRoute from "./routes/HomeRoute";
|
||||||
|
import AboutRoute from "./routes/AboutRoute";
|
||||||
|
import AwardsRoute from "./routes/AwardsRoute";
|
||||||
|
import reportWebVitals from "./reportWebVitals";
|
||||||
|
import { createBrowserRouter, RouterProvider } from "react-router-dom";
|
||||||
|
import ErrorRoute from "./routes/ErrorRoute";
|
||||||
|
|
||||||
|
const root = ReactDOM.createRoot(document.getElementById("root"));
|
||||||
|
|
||||||
|
const router = createBrowserRouter([
|
||||||
|
{
|
||||||
|
path: "/",
|
||||||
|
element: <HomeRoute></HomeRoute>,
|
||||||
|
errorElement: <ErrorRoute></ErrorRoute>,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/about",
|
||||||
|
element: <AboutRoute></AboutRoute>,
|
||||||
|
errorElement: <ErrorRoute></ErrorRoute>,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/awards",
|
||||||
|
element: <AwardsRoute></AwardsRoute>,
|
||||||
|
errorElement: <ErrorRoute></ErrorRoute>,
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
root.render(<RouterProvider router={router}></RouterProvider>);
|
||||||
|
|
||||||
|
reportWebVitals();
|
13
src/reportWebVitals.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
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;
|
31
src/routes/AboutRoute.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import NavBar from "../components/NavBar";
|
||||||
|
import About from "../components/About";
|
||||||
|
import Footer from "../components/Footer";
|
||||||
|
import DropdownContainer from "../components/DropdownContainer";
|
||||||
|
import "../assets/stylesheets/app.scss";
|
||||||
|
|
||||||
|
export default class AboutRoute extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
hamburger: false
|
||||||
|
};
|
||||||
|
document.title = "ITR - About";
|
||||||
|
}
|
||||||
|
|
||||||
|
hamburgerToggle = () => {
|
||||||
|
this.setState({ hamburger: !this.state.hamburger });
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="container">
|
||||||
|
{this.state.hamburger ? <DropdownContainer hamburgerToggle={this.hamburgerToggle}/> : null}
|
||||||
|
<About></About>
|
||||||
|
<NavBar hamburgerToggle={this.hamburgerToggle}></NavBar>
|
||||||
|
<Footer></Footer>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
27
src/routes/AwardsRoute.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import NavBar from "../components/NavBar";
|
||||||
|
import Awards from "../components/Awards";
|
||||||
|
import Footer from "../components/Footer";
|
||||||
|
import DropdownContainer from "../components/DropdownContainer";
|
||||||
|
import "../assets/stylesheets/app.scss";
|
||||||
|
|
||||||
|
export default class AboutRoute extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
document.title = "ITR - Awards";
|
||||||
|
}
|
||||||
|
|
||||||
|
hamburgerToggle = () => {
|
||||||
|
this.setState({ hamburger: !this.state.hamburger });
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="container">
|
||||||
|
<Awards></Awards>
|
||||||
|
<NavBar></NavBar>
|
||||||
|
<Footer></Footer>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
28
src/routes/ErrorRoute.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { useRouteError } from "react-router-dom";
|
||||||
|
import React, { useState } from "react";
|
||||||
|
import NavBar from "../components/NavBar";
|
||||||
|
import Error from "../components/Error";
|
||||||
|
import Footer from "../components/Footer";
|
||||||
|
import DropdownContainer from "../components/DropdownContainer";
|
||||||
|
import "../assets/stylesheets/app.scss";
|
||||||
|
|
||||||
|
export default function ErrorRoute() {
|
||||||
|
const error = useRouteError();
|
||||||
|
console.error(error);
|
||||||
|
|
||||||
|
// create state for hamburger
|
||||||
|
const [hamburger, setHamburger] = useState(false);
|
||||||
|
// create function to toggle hamburger
|
||||||
|
const hamburgerToggle = () => {
|
||||||
|
setHamburger(!hamburger);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div id="container">
|
||||||
|
{hamburger ? <DropdownContainer hamburgerToggle={hamburgerToggle}/> : null}
|
||||||
|
<NavBar hamburgerToggle={hamburgerToggle}></NavBar>
|
||||||
|
<Error err={{ item: error }}></Error>
|
||||||
|
<Footer></Footer>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
0
src/routes/GalleryRoute.js
Normal file
47
src/routes/HomeRoute.js
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import NavBar from "../components/NavBar";
|
||||||
|
import DropdownContainer from "../components/DropdownContainer";
|
||||||
|
import Home from "../components/Home";
|
||||||
|
import Footer from "../components/Footer";
|
||||||
|
import "../assets/stylesheets/app.scss";
|
||||||
|
import { ToastContainer, toast } from "react-toastify";
|
||||||
|
import "react-toastify/dist/ReactToastify.css";
|
||||||
|
|
||||||
|
export default class HomeRoute extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
text: "",
|
||||||
|
hamburger: false
|
||||||
|
};
|
||||||
|
toast("The new ITR Webpage! 🎉");
|
||||||
|
document.title = "ITR - Home";
|
||||||
|
}
|
||||||
|
|
||||||
|
hamburgerToggle = () => {
|
||||||
|
this.setState({ hamburger: !this.state.hamburger });
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="container">
|
||||||
|
{this.state.hamburger ? <DropdownContainer hamburgerToggle={this.hamburgerToggle}/> : null}
|
||||||
|
<Home></Home>
|
||||||
|
<NavBar hamburgerToggle={this.hamburgerToggle}></NavBar>
|
||||||
|
<ToastContainer
|
||||||
|
position="bottom-right"
|
||||||
|
autoClose={5000}
|
||||||
|
hideProgressBar={false}
|
||||||
|
newestOnTop={false}
|
||||||
|
closeOnClick
|
||||||
|
rtl={false}
|
||||||
|
pauseOnFocusLoss
|
||||||
|
draggable
|
||||||
|
pauseOnHover
|
||||||
|
theme="dark"
|
||||||
|
/>
|
||||||
|
<Footer></Footer>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
0
src/routes/ProjectsRoute.js
Normal file
5
src/setupTests.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// 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";
|