diff options
Diffstat (limited to 'src')
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 - <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 |