aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/App.js41
-rw-r--r--src/components/about/Hero.js43
-rw-r--r--src/components/about/Image.js16
-rw-r--r--src/components/contact/Form.js64
-rw-r--r--src/components/contact/Hero.js23
-rw-r--r--src/components/error/Hero.js33
-rw-r--r--src/components/fingerprint/Fingerprint.js4
-rw-r--r--src/components/home/FeaturedProjects.js53
-rw-r--r--src/components/home/Hero.js20
-rw-r--r--src/components/navigation/DynamicTitle.js17
-rw-r--r--src/components/navigation/Footer.js70
-rw-r--r--src/components/navigation/NavigationBar.js48
-rw-r--r--src/components/project/ProjectEndAll.js41
-rw-r--r--src/components/project/ProjectOne.js31
-rw-r--r--src/components/project/ProjectThree.js33
-rw-r--r--src/components/project/ProjectTwo.js31
-rw-r--r--src/components/project/project-page/Project.js26
-rw-r--r--src/components/project/project-page/ProjectHero.js39
-rw-r--r--src/components/project/project-page/ProjectImage.js27
-rw-r--r--src/components/project/project-page/ProjectNavigation.js25
-rw-r--r--src/components/projectData.js57
-rw-r--r--src/components/skills/Hero.js29
-rw-r--r--src/components/skills/SkillListing.js168
-rw-r--r--src/components/work/Categories.js34
-rw-r--r--src/components/work/Hero.js30
-rw-r--r--src/components/work/categories/Development.js34
-rw-r--r--src/components/work/categories/Videos.js49
-rw-r--r--src/index.js24
-rw-r--r--src/pages/About.js22
-rw-r--r--src/pages/Contact.js23
-rw-r--r--src/pages/Home.js20
-rw-r--r--src/pages/Skills.js21
-rw-r--r--src/pages/Work.js23
-rw-r--r--src/routes/ProjectRoutes.js38
-rw-r--r--src/routes/Routes.js37
-rw-r--r--src/serviceWorker.js141
-rw-r--r--src/styles/projects.css200
-rw-r--r--src/styles/style.css616
-rw-r--r--src/styles/work-categories.css99
39 files changed, 0 insertions, 2350 deletions
diff --git a/src/components/App.js b/src/components/App.js
deleted file mode 100644
index 198311f..0000000
--- a/src/components/App.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import React, { Component } from 'react';
-// import { BrowserRouter as Router, Redirect, Route, Switch } from 'react-router-dom';
-
-import Routes from '../routes/Routes';
-
-import NavigationBar from '../components/navigation/NavigationBar';
-import Footer from '../components/navigation/Footer';
-
-// import SEO from 'react-seo-component';
-
-export default class App extends Component {
- state = {
- loading: null
- }
-
- render() {
- if (this.state.loading) {
- return(
- <React.Fragment>
- <div className="app-container">
- <p>Loading</p>
- </div>
- </React.Fragment>
- )
- } else {
- return(
- <React.Fragment>
- <div className="app-container">
- <div className="wrapper">
- <NavigationBar />
-
- <Routes />
-
- <Footer />
- </div>
- </div>
- </React.Fragment>
- )
- }
- }
-} \ No newline at end of file
diff --git a/src/components/about/Hero.js b/src/components/about/Hero.js
deleted file mode 100644
index d0126b3..0000000
--- a/src/components/about/Hero.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Hero extends Component {
- render() {
- return(
- <div className="container">
- <div className="hero-content">
- <br /><br />
-
- <div className="row">
- <div className="col-lg-12" data-wow-delay="1s">
- <h3 className="wow fadeInUp" data-wow-delay="1.2s">about me.</h3>
- <a href="https://strelizia.cc/ZooX36Lt9pmchjbjpiu8HzY0MYqfcZ41.txt">
- <img className="wow fadeInUp" data-wow-delay="1.25s"
- src="https://web.archive.org/web/20091027134504/http://geocities.com/developmentcom/dr_recommended.gif"
- alt="doctor recommended click here" />
- </a>
- <br /><br />
-
- <p className="wow fadeInUp">
- Hi, I'm Fuwn. I'm a fullstack developer from Oregon. Some of my favourite languages and technologies to work with are Node.js, C++ and MERN.
- Node.js would probably be my pick for my favourite technology seen as the wide flexability I can utilize it for. Some of which I utilize it for
- is Discord bots using <a href="https://discord-akairo.github.io/#/">Akairo</a>, <a href="https://discord.js.org/#/">Discord.js</a> and feature rich and fast user interfaces using <a href="https://reactjs.org">React</a>.
- </p>
-
- <p className="wow fadeInUp" data-wow-delay="0.2s">
- One thing you'll come to find is nothing is out of the realm of possibility for me, you'll usually see me creating what is usually referred
- to as "cheats" or "hacks" in the form of CS:GO and Minecraft clients. Though, in sense, the outsiders might see this as ruining the game or something
- along those lines, I see this is a exercise to my skill, with the conclusion being influenced by the amount of work and research that I have to put into these things. For instance, when
- attempting to create CS:GO clients, an SDK has to be built from the ground up from what we call "offsets", offsets are the memory addresses at which
- certain game features are held at. In the case of Minecraft clients, the <a href="https://en.wikipedia.org/wiki/Java_Native_Interface">JNI (Java Native Interface) </a>
- needs to be utilized to be able to handle and hook
- certain methods from the <a href="https://en.wikipedia.org/wiki/Java_virtual_machine">JVM (Java Virtual Machine)</a>.
- </p>
-
- <p className="wow fadeInUp" data-wow-delay="0.2s" style={{fontSize: "25px"}}>All self taught <span role="img" aria-label="praise emoji">🙌</span></p>
- </div>
- </div>
- </div>
- </div>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/about/Image.js b/src/components/about/Image.js
deleted file mode 100644
index 3356a72..0000000
--- a/src/components/about/Image.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Image extends Component {
- render() {
- return(
- <div className="container">
- <div className="row">
- <div
- className="col-lg-12 about image wow fadeInUp"
- data-wow-delay="1s"
- ></div>
- </div>
- </div>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/contact/Form.js b/src/components/contact/Form.js
deleted file mode 100644
index ec398fa..0000000
--- a/src/components/contact/Form.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import React, { Component } from 'react';
-
-const encode = (data) => {
- return Object.keys(data)
- .map(key => encodeURIComponent(key) + "=" + encodeURIComponent(data[key]))
- .join("&");
-}
-
-export default class Form extends Component {
- constructor(props) {
- super(props);
- this.state = { name: '', method: '', message: '' };
- }
-
- handleSubmit = e => {
- fetch('/', {
- method: 'POST',
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
- body: encode({ 'form-name': 'contact-form', ...this.state })
- });
-
- e.preventDefault();
- }
-
- handleChange = e => this.setState({ [e.target.name]: e.target.value });
-
- render() {
- const { name, method, message } = this.state;
- return(
- <div className="container-fluid">
- <div className="row">
- <div className="col-lg-8">
- <form name="contact-form" id="contact-form" action="/contact" onSubmit={this.handleSubmit} netlify>
- <ul>
- <li className="wow fadeInUp" data-wow-delay="1.4s">
- <label htmlFor="name">Name:</label>
- <div className="textarea">
- <input type="text" name="name" id="name" defaultValue={name} onChange={this.handleChange} required />
- </div>
- </li>
- <li className="wow fadeInUp" data-wow-delay="1.6s">
- <label htmlFor="method">Email/ Discord:</label>
- <div className="textarea">
- <input type="text" name="method" id="method" defaultValue={method} onChange={this.handleChange} required />
- </div>
- </li>
- <li className="wow fadeInUp" data-wow-delay="1.6s">
- <label htmlFor="message">Message:</label>
- <div className="textarea">
- <input type="text" name="message" id="message" defaultValue={message} onChange={this.handleChange} required />
- </div>
- </li>
- </ul>
-
- <button type="submit" name="contact-form" id="contact-form" className="send wow fadeInUp">
- Send Message
- </button>
- </form>
- </div>
- </div>
- </div>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/contact/Hero.js b/src/components/contact/Hero.js
deleted file mode 100644
index 847b27b..0000000
--- a/src/components/contact/Hero.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Hero extends Component {
- render() {
- return(
- <React.Fragment>
- <div className="container">
- <div className="hero-content">
- <br /><br />
-
- <div className="row">
- <div className="col-lg-8">
- <h3 className="wow fadeInUp" data-wow-delay="1s">say hello <span role="img" aria-label="waving emoji">👋</span></h3>
- <br />
- <p className="wow fadeInUp" data-wow-delay="1.2s">Need something? Write me!</p>
- </div>
- </div>
- </div>
- </div>
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/error/Hero.js b/src/components/error/Hero.js
deleted file mode 100644
index 9b25d7e..0000000
--- a/src/components/error/Hero.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Hero extends Component {
- render() {
- return(
- <React.Fragment>
- <div className="hero">
- <div className="header">
- <img className="wow fadeInUp" data-wow-delay="1s"
- src="https://web.archive.org/web/20090830171432im_/http://geocities.com/gapc/lgm-nosmovimos.gif"
- alt="lost gif" />
- <br /><br />
-
- <h6 className="wow fadeInUp" data-wow-delay="1.2s">wow, you seem to be <span style={{"letterSpacing": "4px", "fontStyle": "italic", "fontWeight": "bold"}}>lost</span> ...</h6>
- <br />
-
- <center>
- <a href="/">
- <center>
- <img className="wow fadeInUp" data-wow-delay="1s"
- src="https://web.archive.org/web/20091021193614/http://www.geocities.com/moz_compilation/homeswrl_e0.gif"
- alt="home gif" />
- </center>
- </a>
- </center>
- </div>
- </div>
-
- { /* <div className="scroll-down"></div> */ }
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/fingerprint/Fingerprint.js b/src/components/fingerprint/Fingerprint.js
deleted file mode 100644
index 02cc060..0000000
--- a/src/components/fingerprint/Fingerprint.js
+++ /dev/null
@@ -1,4 +0,0 @@
-export const getFingerprintGood = () => {
- fetch("https://extreme-ip-lookup.com/json")
- .then(res => console.log(res));
-}
diff --git a/src/components/home/FeaturedProjects.js b/src/components/home/FeaturedProjects.js
deleted file mode 100644
index 60cdf3b..0000000
--- a/src/components/home/FeaturedProjects.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-// import ProjectOne from '../project/ProjectOne';
-import ProjectTwo from '../project/ProjectTwo';
-// import ProjectThree from '../project/ProjectThree';
-
-export default class FeaturedProjects extends Component {
- render() {
- // const itemCount = this.props.projectData.featured.length;
- // let itemIteration = 1;
- // let itemLast = false;
- return(
- <div className="container-fluid">
- <br /><br /><br />
-
- <h6>selected projects</h6>
-
- <br />
-
- { /* <div className="vertical"></div>
- <br />
-
- <div className="whitespace"></div> */ }
- { /* <div className="whitespace"></div> */ }
-
- { /* this.props.projectData.featured && this.props.projectData.featured.map((item) => {
- if (itemIteration >= itemCount) itemLast = true;
- itemIteration++;
- return(
- <React.Fragment>
- <ProjectOne projectData={item} />
- { itemLast ? '' : <br /> }
- </React.Fragment>
- )
- }) */ }
-
- <ProjectTwo projectData={this.props.projectData.work.categories[0]} projectClass="category3" />
- <br />
- <p className="wow fadeInUp" data-wow-delay="1.2s" style={{fontSize: "12px"}}>
- i just wanna say, in this pic, they seem to be using the c++ standard<br />
- library, <code>iostream</code> for input/ output, imagine using <code>using namespace std;</code>, couldn't be me.
- </p>
-
- { /* <div className="whitespace"></div>*/ }
- </div>
- )
- }
-}
-
-FeaturedProjects.propTypes = {
- projectData: PropTypes.object
-} \ No newline at end of file
diff --git a/src/components/home/Hero.js b/src/components/home/Hero.js
deleted file mode 100644
index e3c0a45..0000000
--- a/src/components/home/Hero.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Hero extends Component {
- render() {
- return(
- <React.Fragment>
- <div className="hero">
- <div className="header">
- <img className="wow fadeInUp" data-wow-delay="1s" src= "https://web.archive.org/web/20090830101531/http://geocities.com/SiliconValley/Lab/9783/images/Undercon-flash.gif"
- alt="1990s era under constriction gif" />
- <br />
- <small className="wow fadeInUp" data-wow-delay="1.2s">last updated: 1991. 10. 12</small>
- </div>
- </div>
-
- { /* <div className="scroll-down"></div> */ }
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/navigation/DynamicTitle.js b/src/components/navigation/DynamicTitle.js
deleted file mode 100644
index f1cdb19..0000000
--- a/src/components/navigation/DynamicTitle.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import Helmet from 'react-helmet';
-
-export default class DynamicTitle extends Component {
- render() {
- return(
- <Helmet>
- <title>{this.props.title ? this.props.title : "404 | Fuwn"}</title>
- </Helmet>
- )
- }
-}
-
-DynamicTitle.propTypes = {
- title: PropTypes.string
-} \ No newline at end of file
diff --git a/src/components/navigation/Footer.js b/src/components/navigation/Footer.js
deleted file mode 100644
index 1afe37f..0000000
--- a/src/components/navigation/Footer.js
+++ /dev/null
@@ -1,70 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Footer extends Component {
- render() {
- return(
- <div className="footer">
- <div className="container">
- <br /><br />
-
- { /* <div className="collab">
- <div className="row">
- <div className="col-lg-12">
- <p className="wow fadeInUp">
- Got an interesting project? I can help you.
- </p>
- </div>
- </div>
- </div> */ }
-
- { /* <div className="hr">
- <div className="row"></div>
- </div> */ }
-
- <br /><br />
-
- <div className="info">
- <div className="row">
- <div className="col-lg-4" id="personal">
- <p className="wow fadeInUp">copyleft</p>
- <h4 className="wow fadeInUp" data-wow-delay="0.2s">
- <a id="info-item-1" href="/">fuwn 2020</a>
- </h4>
- <br /><br />
- </div>
-
- <div className="col-lg-4" id="media">
- <p className="wow fadeInUp" data-wow-delay="0s">links</p>
-
- <ul>
- <li id="tw" className="wow fadeInUp" data-wow-delay="0.8s">
- <a id="media-item-1" href="https://twitter.com/xFuwn">tw</a>
- </li>
- <li id="yt" className="wow fadeInUp" data-wow-delay="1s">
- <a id="media-item-2" href="https://youtube.com/Fuwny">yt</a>
- </li>
- <li id="gh" className="wow fadeInUp" data-wow-delay="1s">
- <a id="media-item-3" href="https://github.com/fuwn">gh</a>
- </li>
- </ul>
- <br /><br />
- </div>
-
- <div className="col-lg-4" id="address">
- <p className="wow fadeInUp" data-wow-delay="0s">need me ?</p>
- <h4 className="wow fadeInUp" data-wow-delay="0.2s">
- { /* <a id="address-item-1" href="mailto: [email protected]">[email protected]</a> */ }
- <a href="mailto: [email protected]">
- <img src="https://web.archive.org/web/20091025033811/http://geocities.com/uspa.geo/email007.gif"
- alt="" />
- </a>
- </h4>
- <br /><br />
- </div>
- </div>
- </div>
- </div>
- </div>
- )
- }
-}
diff --git a/src/components/navigation/NavigationBar.js b/src/components/navigation/NavigationBar.js
deleted file mode 100644
index b044d1d..0000000
--- a/src/components/navigation/NavigationBar.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import React, { Component } from 'react';
-
-export default class NavigationBar extends Component {
- render() {
- return(
- <React.Fragment>
- <nav>
- { /* <div className="blur"></div> */ }
-
- <span id="brand">
- <a href="/">::</a>
- </span>
-
- <ul id="menu">
- <li><a id="menu-item-1" href="/">/home</a></li>
- <li>
- <a id="menu-item-2" href="/skills">/skills &nbsp;
- <img src="https://web.archive.org/web/20091027081341/http://geocities.com/serbianchog/new1.gif"
- alt="new" />
- </a>
- </li>
- <li><a id="menu-item-3" href="/projects">/projects</a></li>
- <li><a id="menu-item-4" href="/about">/about me</a></li>
- <li><a id="menu-item-5" href="https://blog.fuwn.me">/blog</a></li>
- { /* <li><a href="/contact">contact<span>.</span></a></li> */ }
- </ul>
-
- <div id="toggle">
- <div className="span">menu</div>
- </div>
- </nav>
-
- <div id="resize">
- <div className="close-btn">close</div>
-
- <ul id="menu">
- <li><a href="/">home<span>.</span></a></li>
- <li><a href="/skills">skills<span>.</span></a></li>
- <li><a href="/projects">projects<span>.</span></a></li>
- <li><a href="/about">about me<span>.</span></a></li>
- <li><a href="/blog">blog<span>.</span></a></li>
- { /* <li><a href="/contact">contact<span>.</span></a></li> */ }
- </ul>
- </div>
- </React.Fragment>
- )
- }
-}
diff --git a/src/components/project/ProjectEndAll.js b/src/components/project/ProjectEndAll.js
deleted file mode 100644
index c850a68..0000000
--- a/src/components/project/ProjectEndAll.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-export default class ProjectEndAll extends Component {
- render() {
- return(
- <React.Fragment>
- <div className="whitespace"></div>
-
- <div className="row mobile-txt3">
- <div className="col-lg-5"></div>
- <div className="col-lg-5">
- <h4 className="wow fadeInUp" data-wow-delay="1.6s">{this.props.projectData.title}</h4>
- </div>
- <div className="col-lg-5"></div>
- </div>
-
- <h3 className="mobile-txt2 wow fadeInUp" data-wow-delay="1.2s">{this.props.projectData.title}</h3>
- <div className="row">
- <div className="col-lg-5"></div>
-
- { /* graphic3 */ }
- <div className={"col-lg-6 project " + this.props.projectClass + " wow fadeInUp"} data-wow-delay="1.4s"
- onClick={() => window.location.href = this.props.projectData.redirect}
- style={{
- background: "url(" + this.props.projectData.image + ") no-repeat 50% 50%",
- backgroundSize: "cover"
- }}>
- </div>
-
- <div className="col-lg-1"></div>
- </div>
- </React.Fragment>
- )
- }
-}
-
-ProjectEndAll.propTypes = {
- projectData: PropTypes.object,
- projectClass: PropTypes.string
-} \ No newline at end of file
diff --git a/src/components/project/ProjectOne.js b/src/components/project/ProjectOne.js
deleted file mode 100644
index 8c3b92f..0000000
--- a/src/components/project/ProjectOne.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-export default class ProjectOne extends Component {
- render() {
- return(
- <React.Fragment>
- <div className="whitespace"></div>
-
- <h3 className="mobile-txt2 wow fadeInUp" data-wow-delay="1.2s">{this.props.projectData.title}</h3>
- <div className="row">
- <div className="col-lg-8"></div>
-
- { /* graphic1 */ }
- <div className={"col-lg-4 project " + this.props.projectClass + " wow fadeInUp"} data-wow-delay="1.4s"
- onClick={() => window.location.href = this.props.projectData.redirect}
- style={{
- background: "url(" + this.props.projectData.image + ") no-repeat 50% 50%",
- backgroundSize: "cover"
- }}
- ></div>
- </div>
- </React.Fragment>
- )
- }
-}
-
-ProjectOne.propTypes = {
- projectData: PropTypes.object,
- projectClass: PropTypes.string
-} \ No newline at end of file
diff --git a/src/components/project/ProjectThree.js b/src/components/project/ProjectThree.js
deleted file mode 100644
index 079c47d..0000000
--- a/src/components/project/ProjectThree.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-export default class ProjectThree extends Component {
- render() {
- return(
- <React.Fragment>
- <div className="whitespace"></div>
-
- <h3 className="mobile-txt2 wow fadeInUp" data-wow-delay="1.2s">{this.props.projectData.title}</h3>
- <div className="row">
- <div className="col-lg-7"></div>
-
- { /* graphic3 */ }
- <div className={"col-lg-4 project " + this.props.projectClass + " wow fadeInUp"} data-wow-delay="1.4s"
- onClick={() => window.location.href = this.props.projectData.redirect}
- style={{
- background: "url(" + this.props.projectData.image + ") no-repeat 50% 50%",
- backgroundSize: "cover"
- }}
- ></div>
-
- <div className="col-lg-1"></div>
- </div>
- </React.Fragment>
- )
- }
-}
-
-ProjectThree.propTypes = {
- projectData: PropTypes.object,
- projectClass: PropTypes.string
-} \ No newline at end of file
diff --git a/src/components/project/ProjectTwo.js b/src/components/project/ProjectTwo.js
deleted file mode 100644
index 8e6ab8a..0000000
--- a/src/components/project/ProjectTwo.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-export default class ProjectTwo extends Component {
- render() {
- return(
- <React.Fragment>
- <div className="whitespace"></div>
-
- <h3 className="mobile-txt2 wow fadeInUp" data-wow-delay="1.2s">{this.props.projectData.title}</h3>
- <div className="row">
- { /* graphic2 */ }
- <div className={"col-lg-6 project " + this.props.projectClass + " wow fadeInUp"} data-wow-delay="1.4s"
- onClick={() => window.location.href = this.props.projectData.redirect}
- style={{
- background: "url(" + this.props.projectData.image + ") no-repeat 50% 50%",
- backgroundSize: "cover"
- }}
- ></div>
-
- <div className="col-lg-6"></div>
- </div>
- </React.Fragment>
- )
- }
-}
-
-ProjectTwo.propTypes = {
- projectData: PropTypes.object,
- projectClass: PropTypes.string
-} \ No newline at end of file
diff --git a/src/components/project/project-page/Project.js b/src/components/project/project-page/Project.js
deleted file mode 100644
index 2afbc8d..0000000
--- a/src/components/project/project-page/Project.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-import ProjectHero from './ProjectHero';
-import ProjectImage from './ProjectImage';
-
-import DynamicTitle from '../../navigation/DynamicTitle';
-
-export default class Project extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title={this.props.projectData.title + " | Fuwn"} />
-
- <div className="whitespace"></div>
- <ProjectHero projectData={this.props.projectData} />
- <ProjectImage projectData={this.props.projectData} projectClass={this.props.projectClass} />
- </React.Fragment>
- )
- }
-}
-
-Project.propTypes = {
- projectData: PropTypes.object,
- projectClass: PropTypes.string
-} \ No newline at end of file
diff --git a/src/components/project/project-page/ProjectHero.js b/src/components/project/project-page/ProjectHero.js
deleted file mode 100644
index 3d5f7ce..0000000
--- a/src/components/project/project-page/ProjectHero.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-export default class ProjectHero extends Component {
- render() {
- return(
- <div className="container">
- <div className="hero-content">
- <br />
- <div className="row">
- <div className="col-lg-12">
- <br />
-
- <h1 className="wow fadeInUp" data-wow-delay="1s">"{this.props.projectData.title}"</h1>
- <br />
- <br />
-
- <div className="row">
- <div className="col-lg-4">
- <p className="wow fadeInUp" data-wow-delay="1.2s">service:</p>
- <h6 className="wow fadeInUp" data-wow-delay="1.3s">{this.props.projectData.service}</h6>
- </div>
-
- <div className="col-lg-4">
- <p className="wow fadeInUp" data-wow-delay="1.6s">completed:</p>
- <h6 className="wow fadeInUp" data-wow-delay="1.7s">{this.props.projectData.completed}</h6>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- )
- }
-}
-
-ProjectHero.propTypes = {
- projectData: PropTypes.object
-} \ No newline at end of file
diff --git a/src/components/project/project-page/ProjectImage.js b/src/components/project/project-page/ProjectImage.js
deleted file mode 100644
index f46ef4a..0000000
--- a/src/components/project/project-page/ProjectImage.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-export default class ProjectImage extends Component {
- render() {
- return(
- <div className="project-img">
- <div className="container">
- <br />
- <div className="row">
- <div className="col-md-12">
- <div className={this.props.projectClass + " wow fadeInUp"} data-wow-delay="0.8s" style={{
- background: "url(" + this.props.projectData.image + ") no-repeat 50% 70%",
- backgroundSize: "cover", height: "630px"
- }}></div>
- </div>
- </div>
- </div>
- </div>
- )
- }
-}
-
-ProjectImage.propTypes = {
- projectData: PropTypes.object,
- projectClass: PropTypes.string
-} \ No newline at end of file
diff --git a/src/components/project/project-page/ProjectNavigation.js b/src/components/project/project-page/ProjectNavigation.js
deleted file mode 100644
index 014af21..0000000
--- a/src/components/project/project-page/ProjectNavigation.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-export default class ProjectNavigation extends Component {
- render() {
- return(
- <div className="project-nav">
- <div className="container">
- <div className="row">
- <div className="col-lg-6 prev">
- <a href="" id="no-h">
- <ion-icon name="arrow-back"></ion-icon>previous
- </a>
- </div>
- <div className="col-lg-6 next">
- <a href="" id="no-h">
- <ion-icon name="arrow-back"></ion-icon>next
- </a>
- </div>
- </div>
- </div>
- </div>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/projectData.js b/src/components/projectData.js
deleted file mode 100644
index a8f4128..0000000
--- a/src/components/projectData.js
+++ /dev/null
@@ -1,57 +0,0 @@
-let projectData = {
- "featured": [
- {
- "title": "absence.",
- "image": "https://images.wallpaperscraft.com/",
- "redirect": ""
- },
- {
- "title": "ok",
- "image": "https://images.wallpaperscraft.com/"
- }
- ],
- "work": {
- "categories": [
- {
- "title": "development.",
- "image": "https://eldfrog.com/wp-content/uploads/2018/12/programming_languages.png",
- "redirect": "/development"
- },
- {
- "title": "videos.",
- "image": "https://favim.com/orig/201107/04/birds-city-life-disposable-camera-grainy-indie-light-Favim.com-94114.jpg",
- "redirect": "/videos"
- },
- {
- "title": "projects/ github.",
- "image": "https://kinsta.com/wp-content/uploads/2018/04/what-is-github-1-1.png",
- "redirect": "https://github.com/fuwn"
- },
- {
- "title": "Senpy",
- "image": "https://senpy.tk/Rust/Miyamizu_Mitsuha_On_Ownership_And_Borrowing.jpg",
- "redirect": "https://senpy.tk"
- },
- {
- "title": "Strelizia",
- "image": "https://strelizia.cc/36ezF2DJixOGpYbsqshWS0dej5ae5epF.png",
- "redirect": "https://strelizia.cc"
- },
- {
- "title": "Twittlet",
- "image": "https://camo.githubusercontent.com/562d05123a549fb7748dff44357a9a088d27357b/68747470733a2f2f737472656c697a69612e63632f39703075417a786d7871557268344661454147704934506457727837436746372e676966",
- "redirect": "https://github.com/fuwn/twittlet"
- }
- ]
- },
- "projects": [
- {
- "title": "Uwufier",
- "service": "Development",
- "completed": "Ongoing",
- "image": "https://eldfrog.com/wp-content/uploads/2018/12/programming_languages.png"
- }
- ]
-}
-
-export default projectData; \ No newline at end of file
diff --git a/src/components/skills/Hero.js b/src/components/skills/Hero.js
deleted file mode 100644
index a47d987..0000000
--- a/src/components/skills/Hero.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Hero extends Component {
- render() {
- return(
- <div className="container">
- <div className="hero-content">
- <br /><br />
-
- <div className="row">
- <div className="col-lg-8">
- <h3 className="wow fadeInUp" data-wow-delay="1s">skills.</h3>
- <img className="wow fadeInUp" data-wow-delay="1.15s"
- src="https://web.archive.org/web/20090809234237/http://www.geocities.com/lateralusspiraleyes/neo_coding_flash.gif"
- alt="neo" />
- <br />
- { /* <p className="wow fadeInUp" data-wow-delay="1.2s">
- A list and a few examples of my various skills/ interests.
- </p> */ }
- <p className="wow fadeInUp" data-wow-delay="1.2s">
- Disclaimer: despite working in fullstack, I not only have a mild distaste for frontend, I'm subpar at it, so don't expect much in that field.
- </p>
- </div>
- </div>
- </div>
- </div>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/skills/SkillListing.js b/src/components/skills/SkillListing.js
deleted file mode 100644
index c4a56b9..0000000
--- a/src/components/skills/SkillListing.js
+++ /dev/null
@@ -1,168 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Skills extends Component {
- render() {
- return(
- <div className="container">
- <div className="hero-content">
- <br /><br />
-
- <div className="row">
- <div className="col-lg-8">
- <h5 className="wow fadeInUp" data-wow-delay="1s">acknowledgements.</h5>
- <br />
- <ul className="wow fadeInUp" data-wow-delay="1s">
- <li><b>Discord:</b> Verified Bot Developer, Verified Discord Bot(s)</li>
- { /* <li><b>Current Occupation:</b> Fullstack Node.js Technician</li> */ }
- <li>Multiple Lead Development positions on various CS:GO Clients (Jade, Maldrama, Rees, Guppy, Sprite, etc.)</li>
- <li>Lead Developer and Proprietor of the Minecraft Ghost Client; Vespertine</li>
- <li>Various Freelance Jobs</li>
- <li>Multi-langual</li>
- </ul>
- <br />
-
- <h5 className="wow fadeInUp" data-wow-delay="1s">tech stacks.</h5>
- <br />
- <ul className="wow fadeInUp" data-wow-delay="1s">
- <li>
- <h6>C99/ C++ 13/17.</h6>
- <ul>
- <li>
- <h6>Various Internal Modifications ("Hacks or Cheats" if you will)</h6>
- <ul>
- <li>Counter Strike: Global Offensive</li>
- <li>Counter Strike: Source</li>
- <small>Made possibly using <em>totally legally and legitimately</em> obtained Source SDKs.</small>
- <li>Among Us</li>
- <li>Minecraft (1.7.10/ 1.8.9)</li>
- <li>Grand Theft Auto 4/ V</li>
- <li>Team Fortress 2</li>
- </ul>
- </li>
- <br />
-
- <li>DirectX and OpenGL Hooking</li>
- <li><a href="https://github.com/ocornut/imgui">ImGui</a> Menu Structuring and Design</li>
- <li>
- <h6>Remote PE Image Injector/ Loader</h6>
- <ul>
- <li>TLS 1.3 Communication</li>
- <li>Json Client-Server Communication w/ Packet-Struct Implementation</li>
- <li>Syscalls</li>
- <li>Module Patch Detection</li>
- <li>Debugger Detection</li>
- <li>Relocations and Imports done on server</li>
- <li>Manual map everything, including dependencies</li>
- <li>Security Packet Timeout</li>
- <li>Unique Client Session IDs</li>
- <li>Server Certificate Verification</li>
- </ul>
- </li>
- <br />
-
- <li>Client-Server Communicatory Applications</li>
- <li><b>[Learning]</b> Unreal Engine 5</li>
- <li>Game Boy games using <a href="https://github.com/Zal0/gbdk-2020">GBDK</a></li>
- <li>Embedded x86/ x64 Assembly</li>
- </ul>
- </li>
- <br />
-
- <li>
- <h6>Node.js (both JavaScript and TypeScript).</h6>
- <ul>
- <li>Express API and Advanced Templating Creation</li>
- <li>React 16/17 for Extensive UIs and State-Management (this site uses React)</li>
- <li>Discord.js, Akairo and Eris for Discord bot Implementations</li>
- <li>Use MongoDB for safe and speedy data storage with security in mind</li>
- <li><a href="https://www.npmjs.com/~fun">NPM Packages</a></li>
- <li><a href="https://slog.cf">Slog.cf</a> (V2), a marketplace and transaction logger for Slipstream</li>
- <li><a href="https://senpy.tk">Senpy.tk</a>, a web app and API for <a href="https://github.com/laynH/Anime-Girls-Holding-Programming-Books">Anime Girls Holding Programming Books</a></li>
- <li><a href="https://strelizia.cc">Strelizia.cc</a>, a fast, private, online, file hosting service</li>
- <li><a href="/development/uwufier">Uwufier</a>, a feature packed Discord bot. (I actually got the "Verified Discord Bot Developer" badge on Discord for this)</li>
- <li>VexClient, a private, cheat client for <a href="https://krunker.io">Krunker.io</a></li>
- </ul>
- </li>
- <br />
-
- <li>
- <h6>Python 2.7+</h6>
- <ul>
- <li>Slog.cf (V1), a transaction logger for Slipstream</li>
- <li>Various Discord Nitro Code Checkers</li>
- <li>Various Account Checkers</li>
- <li>A patcher for CS:GO which bypasses CS:GO's "Trusted Mode" Anti-Cheat of sorts, by patching a single byte (yes, a single byte, you read that right. imagine being a multi-billion dollar company and spending millions on a new anti-cheat system that gets bypassed by patching a single byte of <code>client.dll</code>, couldn't be me)</li>
- </ul>
- </li>
- <br />
-
- <li>
- <h6><b>[Learning]</b> C#</h6>
- <ul>
- <li>Various Account Checkers</li>
- <li>DLL Loaders similar to my Remote PE Image Injector/ Loader</li>
- <li><b>[Learning]</b> Unity3D</li>
- </ul>
- </li>
- <br />
-
- <li>
- <h6>Other</h6>
- <ul>
- <li>
- <h6>Assembly</h6>
- <p>Not that great at it, but decent nonetheless...</p>
- <ul>
- <li>MASM x86/ x64 (Windows API)</li>
- <li>NASM x86/ x64 (Linux Kernal)</li>
- <li>FASM 16/ 32 Bit (MS-DOS)</li>
- <li>Z80 GBDK (Game Boy)</li>
- <li>6502 (Micro-controllers, NES)</li>
- </ul>
- </li>
- <br />
-
- <li>
- <h6>Brief knowledge of PHP</h6>
- <ul>
- <li>MyBB setup/ plugin creation</li>
- <li>FluxBB setup/ plugin creation</li>
- </ul>
- </li>
- <br />
-
- <li>
- <h6>Few Lua experience</h6>
- <ul>
- <li>My <a href="https://github.com/fuwn/lua-discord-bot-example">Discord bot</a> example, made using the <a href="https://github.com/SinisterRectus/Discordia">Discordia</a> Lua library.</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- <br />
-
- <h5 className="wow fadeInUp" data-wow-delay="1s">application/ ci knowledge.</h5>
- <br />
- <ul className="wow fadeInUp" data-wow-delay="1s">
- <li>Git, GitHub, GitLab</li>
- <li>Vim/ Nvim, Visual Studio 2017/ 19, VSCode, Sublime, CLion and IntelliJ</li>
- <li>Make, CMake, VS Solutions</li>
- <li>Unity3D, Unreal Engine 5</li>
- <li>
- <h6>extensive discord experience</h6>
- <ul>
- <li>Owner/ Lead Developer and/ or Maintainer of multiple bots</li>
- <li>Owner/ Former Owner of multiple "Internet Personality" related servers</li>
- <li>Head, Admin and/ or Moderator of a few "Internet Personality" related communities</li>
- <li>Server Template Creator</li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/work/Categories.js b/src/components/work/Categories.js
deleted file mode 100644
index a3f1eac..0000000
--- a/src/components/work/Categories.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-/* import ProjectOne from '../project/ProjectOne';
-import ProjectTwo from '../project/ProjectTwo';
-import ProjectThree from '../project/ProjectThree'; */
-import ProjectEndAll from "../project/ProjectEndAll";
-
-export default class Categories extends Component {
- render() {
- return(
- <div className="container-fluid">
- { /* <div className="whitespace"></div> */ }
-
- <ProjectEndAll projectData={this.props.projectData.work.categories[0]} />
- {/* <br />
- <p className="wow fadeInUp" data-wow-delay="1.2s" style={{fontSize: "12px"}}>
- i just wanna say, in this pic, they seem to be using the c++ standard<br />
- library, <code>iostream</code> for input/ output, imagine using <code>using namespace std;</code>, couldn't be me.
- </p> */ }
-
- <ProjectEndAll projectData={this.props.projectData.work.categories[1]} />
- { /* <ProjectOne projectData={this.props.projectData.work.categories[1]} projectClass="category1" />
- <ProjectTwo projectData={this.props.projectData.work.categories[2]} projectClass="category2" /> */ }
-
- { /* <div className="whitespace"></div> */ }
- </div>
- )
- }
-}
-
-Categories.propTypes = {
- projectData: PropTypes.object
-} \ No newline at end of file
diff --git a/src/components/work/Hero.js b/src/components/work/Hero.js
deleted file mode 100644
index 06885a3..0000000
--- a/src/components/work/Hero.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import React, { Component } from 'react';
-
-export default class Hero extends Component {
- render() {
- return(
- <div className="container">
- <div className="hero-content">
- <br /><br />
-
- <div className="row">
- <div className="col-lg-8">
- <h3 className="wow fadeInUp" data-wow-delay="1s">projects.</h3>
- <br />
- <img className="wow fadeInUp" data-wow-delay="1.5s"
- src="https://web.archive.org/web/20091027135032/http://geocities.com/ikiteiruna_yume/coding.gif"
- alt="matrix flowing" />
- <br /><br />
- <p className="wow fadeInUp" data-wow-delay="1.2s">
- I usually do a couple little projects every now and then to exercise my skills. Here are a few.
- </p>
- <p className="wow fadeInUp" data-wow-delay="1.4s">
- Disclaimer: this page is under construction, along with the entirety of the project viewer feature.
- </p>
- </div>
- </div>
- </div>
- </div>
- )
- }
-} \ No newline at end of file
diff --git a/src/components/work/categories/Development.js b/src/components/work/categories/Development.js
deleted file mode 100644
index 8f10223..0000000
--- a/src/components/work/categories/Development.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-import ProjectEndAll from "../../project/ProjectEndAll";
-
-import DynamicTitle from "../../navigation/DynamicTitle";
-
-export default class DevelopmentCategory extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title="Development | Fuwn" />
- <div className="container-fluid">
- <div className="whitespace"></div>
-
- <ProjectEndAll projectData={this.props.projectData.work.categories[2]} />
- <ProjectEndAll projectData={this.props.projectData.work.categories[3]} />
- <ProjectEndAll projectData={this.props.projectData.work.categories[4]} />
- <ProjectEndAll projectData={this.props.projectData.work.categories[5]} />
-
- { /* <ProjectOne projectData={this.props.projectData.work.categories[1]} projectClass="category1" /> */ }
- { /* <ProjectOne projectData={this.props.projectData.work.categories[1]} projectClass="category1" />
- <ProjectTwo projectData={this.props.projectData.work.categories[2]} projectClass="category2" /> */ }
-
- { /* <div className="whitespace"></div> */ }
- </div>
- </React.Fragment>
- )
- }
-}
-
-DevelopmentCategory.propTypes = {
- projectData: PropTypes.object
-} \ No newline at end of file
diff --git a/src/components/work/categories/Videos.js b/src/components/work/categories/Videos.js
deleted file mode 100644
index 7f66476..0000000
--- a/src/components/work/categories/Videos.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-
-/* import ProjectOne from '../../project/ProjectOne';
-import ProjectTwo from '../../project/ProjectTwo';
-import ProjectThree from '../../project/ProjectThree'; */
-
-import DynamicTitle from "../../navigation/DynamicTitle";
-
-export default class VideosCategory extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title="Videos | Fuwn" />
- <div className="container-fluid">
- { /* <div className="whitespace"></div> */ }
-
- { /* <ProjectTwo projectData={this.props.projectData.work.categories[0]} projectClass="category3" /> */ }
-
- <div className="whitespace"></div>
-
- <center>
- <iframe width="1000" height="592.5" title="video"
- className="wow fadeInUp" data-wow-delay="1.2s"
- src="https://www.youtube.com/embed/3BvvbDYif1o"
- frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
- allowfullscreen="1"></iframe>
- <br />
-
- <small className="wow fadeInUp" data-wow-delay="1.4s">
- Heres, my most recent video. I'll probably end up fetching my videos from the YouTube<br />
- API and displaying them based on date released, but I'm too lazy for it right now.
- </small>
- </center>
-
- { /* <ProjectOne projectData={this.props.projectData.work.categories[1]} projectClass="category1" /> */ }
- { /* <ProjectOne projectData={this.props.projectData.work.categories[1]} projectClass="category1" />
- <ProjectTwo projectData={this.props.projectData.work.categories[2]} projectClass="category2" /> */ }
-
- { /* <div className="whitespace"></div> */ }
- </div>
- </React.Fragment>
- )
- }
-}
-
-VideosCategory.propTypes = {
- projectData: PropTypes.object
-} \ No newline at end of file
diff --git a/src/index.js b/src/index.js
deleted file mode 100644
index d74c91a..0000000
--- a/src/index.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-
-import './styles/style.css'
-import './styles/projects.css';
-import './styles/work-categories.css';
-//import './styles/animate.css'
-
-
-import App from './components/App';
-import * as serviceWorker from './serviceWorker';
-
-ReactDOM.render(
- <React.StrictMode>
- <App />
- </React.StrictMode>,
- document.getElementById('root')
-);
-
-// If you want your app to work offline and load faster, you can change
-// unregister() to register() below. Note this comes with some pitfalls.
-// Learn more about service workers: https://bit.ly/CRA-PWA
-serviceWorker.unregister();
-
diff --git a/src/pages/About.js b/src/pages/About.js
deleted file mode 100644
index ca5cf3d..0000000
--- a/src/pages/About.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import React, { Component } from 'react';
-
-// import Image from '../components/about/Image';
-import Hero from '../components/about/Hero';
-
-import DynamicTitle from '../components/navigation/DynamicTitle';
-
-export default class About extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title="About | Fuwn" />
-
- <div className="whitespace"></div>
- { /* <Image /> */ }
- <Hero />
-
- { /* <div className="whitespace"></div> */ }
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/pages/Contact.js b/src/pages/Contact.js
deleted file mode 100644
index ba837d0..0000000
--- a/src/pages/Contact.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import React, { Component } from 'react';
-
-import Hero from '../components/contact/Hero';
-import Form from '../components/contact/Form';
-
-import DynamicTitle from '../components/navigation/DynamicTitle';
-
-export default class Contact extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title="Contact | Fuwn" />
-
- <div className="whitespace"></div>
-
- <Hero />
- <Form />
-
- { /* <div className="whitespace"></div> */ }
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/pages/Home.js b/src/pages/Home.js
deleted file mode 100644
index 6a6f2ce..0000000
--- a/src/pages/Home.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import React, { Component } from 'react';
-
-import Hero from '../components/home/Hero';
-// import FeaturedProjects from '../components/home/FeaturedProjects';
-
-// import projectData from '../components/projectData';
-
-import DynamicTitle from '../components/navigation/DynamicTitle';
-
-export default class Home extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title="Home | Fuwn" />
- <Hero />
- { /* <FeaturedProjects projectData={projectData} /> */ }
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/pages/Skills.js b/src/pages/Skills.js
deleted file mode 100644
index bd2d9d2..0000000
--- a/src/pages/Skills.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import React, { Component } from 'react';
-
-import Hero from '../components/skills/Hero';
-import SkillsListing from '../components/skills/SkillListing';
-
-import DynamicTitle from '../components/navigation/DynamicTitle';
-
-export default class Skills extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title="Skills | Fuwn" />
-
- <div className="whitespace"></div>
-
- <Hero />
- <SkillsListing />
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/pages/Work.js b/src/pages/Work.js
deleted file mode 100644
index 4721a03..0000000
--- a/src/pages/Work.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import React, { Component } from 'react';
-
-import Hero from '../components/work/Hero';
-import Categories from '../components/work/Categories';
-
-import DynamicTitle from '../components/navigation/DynamicTitle';
-
-import projectData from '../components/projectData';
-
-export default class Work extends Component {
- render() {
- return(
- <React.Fragment>
- <DynamicTitle title="Projects | Fuwn" />
-
- <div className="whitespace"></div>
-
- <Hero />
- <Categories projectData={projectData} />
- </React.Fragment>
- )
- }
-} \ No newline at end of file
diff --git a/src/routes/ProjectRoutes.js b/src/routes/ProjectRoutes.js
deleted file mode 100644
index a4d4784..0000000
--- a/src/routes/ProjectRoutes.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import React, { Component } from 'react';
-import { BrowserRouter as Router, Route, Redirect, Switch } from 'react-router-dom';
-
-// import Project from '../components/project/project-page/Project';
-import VideosCategory from "../components/work/categories/Videos";
-import DevelopmentCategory from "../components/work/categories/Development";
-
-import projectData from '../components/projectData';
-
-import ErrorHero from "../components/error/Hero";
-
-export default class ProjectRoutes extends Component {
- render() {
- return(
- <Router>
- <Switch>
- <Route exact path="/development">
- <DevelopmentCategory projectData={projectData} />
- </Route>
- <Route exact path="/videos">
- <VideosCategory projectData={projectData} />
- </Route>
- <Route exact path="/wisp" component={() => {
- window.location.href = "https://discordapp.com/oauth2/authorize/?permissions=335670488&scope=bot&client_id=712088369206919269";
- return null;
- }} />
- <Route exact path="/blog" component={() => {
- window.location.href = "https://blog.fuwn.me";
- return null;
- }} />
- <Route exact path="/*">
- <ErrorHero />
- </Route>
- </Switch>
- </Router>
- )
- }
-}
diff --git a/src/routes/Routes.js b/src/routes/Routes.js
deleted file mode 100644
index cf4c024..0000000
--- a/src/routes/Routes.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import React, { Component } from 'react';
-import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
-
-import ProjectRoutes from './ProjectRoutes';
-
-import Home from '../pages/Home';
-// import Contact from '../pages/Contact';
-import About from '../pages/About';
-import Work from '../pages/Work';
-import Skills from '../pages/Skills';
-
-export default class Routes extends Component {
- render() {
- return(
- <Router>
- <Switch>
- <Route exact path="/">
- <Home />
- </Route>
- { /* <Route exact path="/contact">
- <Contact />
- </Route> */ }
- <Route exact path="/about">
- <About />
- </Route>
- <Route exact path="/projects">
- <Work />
- </Route>
- <Route exact path="/skills">
- <Skills />
- </Route>
- <ProjectRoutes />
- </Switch>
- </Router>
- )
- }
-} \ No newline at end of file
diff --git a/src/serviceWorker.js b/src/serviceWorker.js
deleted file mode 100644
index 4dc52c9..0000000
--- a/src/serviceWorker.js
+++ /dev/null
@@ -1,141 +0,0 @@
-// This optional code is used to register a service worker.
-// register() is not called by default.
-
-// This lets the app load faster on subsequent visits in production, and gives
-// it offline capabilities. However, it also means that developers (and users)
-// will only see deployed updates on subsequent visits to a page, after all the
-// existing tabs open on the page have been closed, since previously cached
-// resources are updated in the background.
-
-// To learn more about the benefits of this model and instructions on how to
-// opt-in, read https://bit.ly/CRA-PWA
-
-const isLocalhost = Boolean(
- window.location.hostname === 'localhost' ||
- // [::1] is the IPv6 localhost address.
- window.location.hostname === '[::1]' ||
- // 127.0.0.0/8 are considered localhost for IPv4.
- window.location.hostname.match(
- /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
- )
-);
-
-export function register(config) {
- if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
- // The URL constructor is available in all browsers that support SW.
- const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
- if (publicUrl.origin !== window.location.origin) {
- // Our service worker won't work if PUBLIC_URL is on a different origin
- // from what our page is served on. This might happen if a CDN is used to
- // serve assets; see https://github.com/facebook/create-react-app/issues/2374
- return;
- }
-
- window.addEventListener('load', () => {
- const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
-
- if (isLocalhost) {
- // This is running on localhost. Let's check if a service worker still exists or not.
- checkValidServiceWorker(swUrl, config);
-
- // Add some additional logging to localhost, pointing developers to the
- // service worker/PWA documentation.
- navigator.serviceWorker.ready.then(() => {
- console.log(
- 'This web app is being served cache-first by a service ' +
- 'worker. To learn more, visit https://bit.ly/CRA-PWA'
- );
- });
- } else {
- // Is not localhost. Just register service worker
- registerValidSW(swUrl, config);
- }
- });
- }
-}
-
-function registerValidSW(swUrl, config) {
- navigator.serviceWorker
- .register(swUrl)
- .then(registration => {
- registration.onupdatefound = () => {
- const installingWorker = registration.installing;
- if (installingWorker == null) {
- return;
- }
- installingWorker.onstatechange = () => {
- if (installingWorker.state === 'installed') {
- if (navigator.serviceWorker.controller) {
- // At this point, the updated precached content has been fetched,
- // but the previous service worker will still serve the older
- // content until all client tabs are closed.
- console.log(
- 'New content is available and will be used when all ' +
- 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
- );
-
- // Execute callback
- if (config && config.onUpdate) {
- config.onUpdate(registration);
- }
- } else {
- // At this point, everything has been precached.
- // It's the perfect time to display a
- // "Content is cached for offline use." message.
- console.log('Content is cached for offline use.');
-
- // Execute callback
- if (config && config.onSuccess) {
- config.onSuccess(registration);
- }
- }
- }
- };
- };
- })
- .catch(error => {
- console.error('Error during service worker registration:', error);
- });
-}
-
-function checkValidServiceWorker(swUrl, config) {
- // Check if the service worker can be found. If it can't reload the page.
- fetch(swUrl, {
- headers: { 'Service-Worker': 'script' },
- })
- .then(response => {
- // Ensure service worker exists, and that we really are getting a JS file.
- const contentType = response.headers.get('content-type');
- if (
- response.status === 404 ||
- (contentType != null && contentType.indexOf('javascript') === -1)
- ) {
- // No service worker found. Probably a different app. Reload the page.
- navigator.serviceWorker.ready.then(registration => {
- registration.unregister().then(() => {
- window.location.reload();
- });
- });
- } else {
- // Service worker found. Proceed as normal.
- registerValidSW(swUrl, config);
- }
- })
- .catch(() => {
- console.log(
- 'No internet connection found. App is running in offline mode.'
- );
- });
-}
-
-export function unregister() {
- if ('serviceWorker' in navigator) {
- navigator.serviceWorker.ready
- .then(registration => {
- registration.unregister();
- })
- .catch(error => {
- console.error(error.message);
- });
- }
-}
diff --git a/src/styles/projects.css b/src/styles/projects.css
deleted file mode 100644
index 604ff0e..0000000
--- a/src/styles/projects.css
+++ /dev/null
@@ -1,200 +0,0 @@
-.render1 {
- background: url(/projects/renders/iced-out/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render1::after {
- content: "iced out.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 8%;
- left: -60%;
- right: 0;
- bottom: 0;
-}
-
-.render2 {
- background: url(/projects/renders/rockstar/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render2::after {
- content: "projects/ github.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-
-.render3 {
- background: url(/projects/renders/allegiance/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render3::after {
- content: "allegiance.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: -50%;
- right: 0;
- bottom: 0;
-}
-
-.render4 {
- background: url(/projects/renders/?/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render4::after {
- content: "?.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 10%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-
-.render5 {
- background: url(https://strelizia.cc/HyLvUFyMOYyv6SK6lpJVUfuOLj2dBxqr.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render5::after {
- content: "uwufier.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 8%;
- left: -60%;
- right: 0;
- bottom: 0;
-}
-
-.render6 {
- background: url(https://www.callicoder.com/assets/images/post/large/npm-package-manager-for-node-js.jpg) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render6::after {
- content: "npm.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-
-.render7 {
- background: url(https://senpy.tk/C++/Sakurajima_Mai_Holding_The_C++_Programming_Language.jpg) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render7::after {
- content: "senpy.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: -50%;
- right: 0;
- bottom: 0;
-}
-
-/* */
-.graphic1 {
- background: url(/projects/graphics/devils-work/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.graphic1::after {
- content: "devils work.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 8%;
- left: -60%;
- right: 0;
- bottom: 0;
-}
-
-.graphic2 {
- background: url(/projects/graphics/swavy-pfps/assets/img2.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.graphic2::after {
- content: "swavy pfps.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-
-.graphic3 {
- background: url(/projects/graphics/absence/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.graphic3::after {
- content: "absence.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: -50%;
- right: 0;
- bottom: 0;
-}
-
-/*
-.graphic4 {
- background: url(/projects/renders/devils-work/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.render4::after {
- content: "devils work.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 10%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-*/
diff --git a/src/styles/style.css b/src/styles/style.css
deleted file mode 100644
index a39d46b..0000000
--- a/src/styles/style.css
+++ /dev/null
@@ -1,616 +0,0 @@
-/* ---- Basic Styling ---- */
-* {
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: -moz-none;
- -o-user-select: none;
- user-select: none;
-}
-
-html, body {
- margin: 0;
- padding: 0;
- width: 100%;
- height: 100%;
- font-family: "Roboto Mono" !important;
- background: #0f0f0f !important;
- color: #fff !important;
-}
-
-.whitespace {
- width: 100%;
- height: 100px;
-}
-
-@media(max-width: 768px) {
- .whitespace {
- display: none;
- }
-}
-
-/* ---- Typewriter Effect ---- */
-.line {
- width: 24em;
- top: 50%;
- margin: auto;
- border-right: 2px solid rgba(255, 255, 255, 0.75);
- text-align: center;
- white-space: nowrap;
- overflow: hidden;
- transform: translateY(-50%);
-}
-
-.anim-typewriter {
- animation: typewriter 4s steps(46) 1s 1 normal both,
- blinkTextCursor 500ms steps(46) infinite normal;
-}
-
-@keyframes typewriter {
- from {
- width: 0;
- } to {
- width: 11.5em; /* 11.5em */
- }
-}
-
-@media(max-width: 768px) {
- @keyframes typewriter {
- from {
- width: 0;
- } to {
- width: 10.5em; /* 10.5em */
- }
- }
-}
-
-@keyframes blinkTextCursor {
- from {
- border-right-color: rgba(255, 255, 255, 0.75);
- } to {
- border-right-color: transparent;
- }
-}
-
-/* ---- Navigation ---- */
-nav {
- width: 100%;
- background: #0f0f0f;
- height: 80px;
- position: fixed;
- z-index: 1;
-}
-
-nav #brand {
- float: left;
- display: block;
- margin-left: 82px;
- line-height: 80px;
- font-weight: bold;
-}
-
-nav #brand a {
- color: #fff;
- transition: all 0.3s ease-out;
-}
-
-nav #brand a:hover {
- text-decoration: none;
-}
-
-nav #menu {
- float: left;
- right: 80px;
- position: fixed;
-}
-
-nav #menu li {
- padding-left: 30px; /* 40px */
- display: inline-block;
- cursor: pointer;
- font-weight: 300;
- line-height: 80px;
- position: relative;
- transition: all 0.3s ease-out;
-}
-
-nav #menu li span {
- font-weight: 700;
-}
-
-nav #menu li a {
- color: #fff;
- transition: 0.5s;
-}
-
-nav #menu li a:hover {
- text-decoration: none;
- transition: 0.5s;
-}
-
-#menu-item-1:hover { letter-spacing: 1px; font-family: cursive; }
-#menu-item-2:hover { font-weight: bold; font-family: monospace; }
-#menu-item-3:hover { font-style: italic; font-family: Arial, Helvetica, sans-serif; }
-#menu-item-4:hover { text-decoration: underline !important; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; }
-#menu-item-5:hover { font-style: bold; font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; }
-
-#toggle {
- position: absolute;
- right: 30px;
- top: 20px;
- font-weight: 300;
- z-index: 2;
- width: 30px;
- height: 30px;
- cursor: pointer;
- float: right;
- transition: all 0.3s ease-out;
- visibility: hidden;
- opacity: 0;
-}
-
-.close-btn {
- position: absolute;
- right: 16px;
- font-weight: 300;
- z-index: 2;
- cursor: pointer;
- top: -2px;
- line-height: 80px;
-}
-
-#resize {
- z-index: 1;
- top: 0px;
- position: fixed;
- background: #0f0f0f;
- width: 100%;
- height: 100%;
- visibility: hidden;
- opacity: 0;
- transition: all 1s ease-out;
-}
-
-#resize #menu {
- height: 90px;
- position: absolute;
- left: 43%;
- transform: translateX(-40%);
- text-align: center;
- display: table-cell;
- vertical-align: center;
-}
-
-#resize #menu li {
- display: block;
- text-align: center;
- padding: 10px 0;
- font-size: 50px;
- min-height: 50px;
- font-weight: bold;
- cursor: pointer;
- transition: all 0.3s ease-out;
-}
-
-#resize li:nth-child(1) {
- margin-top: 100px; /* 140px */
-}
-
-#resize #menu li a {
- color: #fff;
-}
-
-#resize #menu li a:hover {
- text-decoration: none;
-}
-
-#resize.active {
- visibility: visible;
- opacity: 1;
-}
-
-@media(max-width: 768px) {
- #toggle {
- visibility: visible;
- opacity: 1;
- margin-top: 6px;
- margin-right: 4px;
- }
-
- nav #brand {
- margin-left: 24px;
- }
-
- #menu a {
- font-size: 20px;
- font-weight: 300;
- }
-
- #resize li span {
- font-weight: bolder;
- }
-
- nav #menu {
- display: none;
- }
-}
-
-@media(min-width: 768px) {
- #resize {
- visibility: hidden !important;
- }
-}
-
-/* .blur {
- position: fixed;
- top: 0;
- width: 100%;
- min-height: 50px;
- margin-bottom: 20px;
- background: rgba(15, 15, 15, 1);
- z-index: 1010;
- filter: blur(20px);
-} */
-
-/*--------------- Hero Section --------------- */
-.hero {
- height: 100vh;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.hero h1 {
- font-weight: lighter;
- text-align: center;
- letter-spacing: -2px;
- line-height: 58px;
-}
-
-@media(max-width: 768px) {
- .header h1 {
- font-size: 26px;
- }
-}
-
-/*--------------- Scroll Down Icon Animation --------------- */
-.scroll-down {
- position: absolute;
- left: 50%;
- bottom: 100px;
- display: block;
- text-align: center;
- font-size: 20px;
- z-index: 0;
- text-decoration: none;
- text-shadow: 0;
- width: 13px;
- height: 13px;
- border-bottom: 2px solid #fff;
- border-right: 2px solid #fff;
- -webkit-transform: translate(-50%, 0) rotate(45deg);
- transform: translate(-50%, 0) rotate(45deg);
- animation: fade_move_down 3s cubic-bezier(0.19, 1, 0.22, 1) infinite;
-}
-
-@keyframes fade_move_down {
- 0% {
- transform: translate(0, -20px) rotate(45deg);
- opacity: 0;
- }
- 50% {
- opacity: 1;
- }
- 100% {
- transform: translate(0, 20px) rotate(45deg);
- opacity: 0;
- }
-}
-
-/*--------------- Projects Section --------------- */
-h6 {
- text-align: center;
-}
-
-.vertical {
- margin-top: 40px;
- border-left: 1px solid #fff;
- height: 80px;
- position: absolute;
- left: 50%;
-}
-
-.project {
- height: 500px;
-}
-
-/*--------------- render section --------------- */
-
-/*--------------- graphic section --------------- */
-
-/*--------------- category section --------------- */
-
-@media(max-width: 768px) {
- .project {
- width: 90% !important;
- margin: 14px auto;
- }
-
- .vertical {
- display: none;
- }
-
- .project1::after, .project2::after, .project3::after, .project4::after,
- .graphic1::after, .graphic2::after, .graphic3::after, .graphic4::after,
- .render1::after, .render2::after, .render3::after, .render4::after,
- .category1::after, .category2::after, .category3::after, .category4::after {
- display: none;
- }
-}
-
-/*--------------- footer section --------------- */
-.collab {
- text-align: right;
-}
-
-.collab p {
- font-weight: lighter !important;
- margin-bottom: 20px;
-}
-
-.hr {
- background: rgba(255, 255, 255, 0.2);
- height: 1px;
-}
-
-.info h4 {
- font-size: 18px;
- font-weight: lighter;
-}
-
-.info p {
- color: grey;
- font-weight: lighter;
-}
-
-.info li {
- font-weight: lighter;
- color: #fff;
- font-size: 18px;
- padding-left: 20px;
-}
-
-#fb::before {
- display: inline-block;
- content: '';
- border-radius: 100%;
- height: 4px;
- width: 4px;
- margin-right: 6px;
- background: #3b5998;
-}
-
-
-#ig::before {
- display: inline-block;
- content: '';
- border-radius: 100%;
- height: 4px;
- width: 4px;
- margin-right: 6px;
- background: #fcaf45;
-}
-
-
-#tw::before {
- display: inline-block;
- content: '';
- border-radius: 100%;
- height: 4px;
- width: 4px;
- margin-right: 6px;
- background: #55acee;
-}
-
-
-#yt::before {
- display: inline-block;
- content: '';
- border-radius: 100%;
- height: 4px;
- width: 4px;
- margin-right: 6px;
- background: #c4302b;
-}
-
-#gh::before {
- display: inline-block;
- content: '';
- border-radius: 100%;
- height: 4px;
- width: 4px;
- margin-right: 6px;
- background: #24292e;
-}
-
-#media, #address {
- text-align: right;
-}
-
-#media ul {
- list-style: none;
-}
-
-#media ul li {
- display: inline-block;
-}
-
-@media(max-width: 768px) {
- .collab, #personal, #media, #address {
- text-align: center;
- }
-
- .info ul {
- margin: 0 0 0 -22px;
- padding: 0;
- }
-}
-
-/* Honestly, this took way longer to figure out than it should've. I scoured the internet for so long, at one point, I think
-// I had around 20+ tabs open, no idea how I really figured it out, just tried as many solutions until it was solved. - 17:27, 10/20/2018
-*/
-div #no-h, #personal a, a:hover, #media a, a:hover, #address a, a:hover {
- color: inherit;
- text-decoration: none;
- transition: 0.5s;
-}
-
-#info-item-1:hover { font-weight: bold; font-family: monospace; }
-#media-item-1:hover { text-decoration: underline !important; font-family: Arial, Helvetica, sans-serif; }
-#media-item-2:hover { font-style: italic; font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif; }
-#media-item-3:hover { letter-spacing: 1px; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; }
-#address-item-1:hover {font-style: italic; font-family: cursive; }
-
-/*--------------- Work Page --------------- */
-
-.hero-content {
- margin-left: 0%;
-}
-
-.hero-content p {
- font-weight: 300;
- line-height: 36px;
- color: grey;
-}
-
-.hero-content h6 {
- text-align: left;
-}
-
-@media(max-width: 768px) {
- .hero-content {
- padding-top: 50px;
- width: 96%;
- margin: 0 auto;
- }
-}
-
-/*--------------- About Page --------------- */
-
-.about {
- height: 500px;
- margin-top: 120px;
-}
-
-.image {
- background: url(https://images.unsplash.com/photo-1540885762261-a2ca01f290f9?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2468&q=80) no-repeat 50% 70%;
-}
-
-/*--------------- Contact Form --------------- */
-
-#contact-form {
- margin: 5% 1.4%;
-}
-
-#contact-form ul {
- list-style: none;
- border-radius: 5px;
- margin-bottom: 40px;
-}
-
-#contact-form li {
- padding: 10px;
-}
-
-#contact-form li:last-of-type {
- border-bottom: none;
-}
-
-#contact-form label {
- display: block;
- font-size: .8em;
- color: #999;
- padding-left: 5px;
-}
-
-#contact-form input, #contact-form textarea {
- width: 100%;
- padding: 5px;
- border: none;
- resize: vertical;
- background: transparent;
- color: #fff;
- font-weight: bolder;
-}
-
-input:focus {
- outline: none;
- border: none;
-}
-
-textarea:focus {
- outline: none;
- border: none;
-}
-
-.textarea {
- border-bottom: 1px solid #dfdfdf;
-}
-
-.send {
- margin-left: 50px;
- text-transform: uppercase;
- padding: 20px 30px;
- background: transparent;
- color: #dfdfdf;
- font-size: 14px;
- letter-spacing: 2px;
-}
-
-.send:hover {
- background: #dfdfdf;
- color: #101010;
-}
-
-@media(max-width: 768px) {
- #contact-form {
- margin: 5% -8%;
- width: 98%;
- }
-}
-
-/*--------------- Project Page --------------- */
-
-.prev, .next p {
- color: grey;
-}
-
-.prev p {
- text-align: left;
-}
-
-.next p {
- text-align: right;
-}
-
-/*--------------- Mobile Text --------------- */
-
-@media(min-width: 768px) {
- .mobile-txt2 {
- display: none;
- }
-}
-
-@media(max-width: 768px) {
- .mobile-txt3 {
- display: none;
- }
-}
-
-.mobile-txt2 {
- content: "absence.";
- font-family: "Roboto Mono";
- font-size: 16px;
- color: #fff;
-}
-
-/* ---- Extra ---- */
diff --git a/src/styles/work-categories.css b/src/styles/work-categories.css
deleted file mode 100644
index 5073016..0000000
--- a/src/styles/work-categories.css
+++ /dev/null
@@ -1,99 +0,0 @@
-.category1 {
- background: url(https://i.pinimg.com/originals/1f/3f/fa/1f3ffa4e7f42c15cfec901d301b16e9c.jpg) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.category1::after {
- content: "videos.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 8%;
- left: -60%;
- right: 0;
- bottom: 0;
-}
-
-.category2 {
- background: url(/projects/graphics/devils-work/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.category2::after {
- content: "graphics.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-
-.category3 {
- background: url(https://eldfrog.com/wp-content/uploads/2018/12/programming_languages.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.category3::after {
- content: "development.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-
-/*
-.category3 {
- background: url(/projects/renders/allegiance/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.category3::after {
- content: "allegiance.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 80%;
- left: -50%;
- right: 0;
- bottom: 0;
-}
-
-.category4 {
- background: url(/projects/renders/devils-work/assets/img.png) no-repeat 50% 50%;
- background-size: cover;
-}
-
-.category4::after {
- content: "devils work.";
- font-family: "Roboto Mono";
- font-size: 36px;
- position: relative;
- color: #fff;
- display: block;
- top: 10%;
- left: 90%;
- right: 0;
- bottom: 0;
-}
-*/
-
-@media (max-width: 768px) {
- .category1::after,
- .category2::after,
- .category3::after {
- content: none;
- }
-} \ No newline at end of file