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"; | ||||