Refactoring because of local scripts and tabs #9
14 changed files with 393 additions and 380 deletions
|
@ -1,15 +1,11 @@
|
||||||
import React, { useState, useEffect, Component } from 'react';
|
import React, { useState, useEffect, Component } from "react";
|
||||||
import Navbar from './components/Navbar';
|
import Navbar from "./components/Navbar";
|
||||||
import './App.css';
|
import "./App.css";
|
||||||
import {
|
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
|
||||||
BrowserRouter as Router,
|
import Home from "./components/pages/Home";
|
||||||
Switch,
|
import Services from "./components/pages/Services";
|
||||||
Route
|
import Products from "./components/pages/Products";
|
||||||
} from 'react-router-dom';
|
import SignUp from "./components/pages/SignUp";
|
||||||
import Home from './components/pages/Home';
|
|
||||||
import Services from './components/pages/Services';
|
|
||||||
import Products from './components/pages/Products';
|
|
||||||
import SignUp from './components/pages/SignUp';
|
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
return (
|
return (
|
||||||
|
@ -17,10 +13,10 @@ function App() {
|
||||||
<Router>
|
<Router>
|
||||||
<Navbar />
|
<Navbar />
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route path='/' exact component={Home} />
|
<Route path="/" exact component={Home} />
|
||||||
<Route path='/services' component={Services} />
|
<Route path="/services" component={Services} />
|
||||||
<Route path='/products' component={Products} />
|
<Route path="/products" component={Products} />
|
||||||
<Route path='sign-up' component={SignUp} />
|
<Route path="/sign-up" component={SignUp} />
|
||||||
</Switch>
|
</Switch>
|
||||||
</Router>
|
</Router>
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -2,7 +2,7 @@ import React from "react";
|
||||||
import { Button } from "./components/Button";
|
import { Button } from "./components/Button";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import "./Footer.css";
|
import "./Footer.css";
|
||||||
import "@fortawesome/fontawesome-free/css/all.css"
|
import "@fortawesome/fontawesome-free/css/all.css";
|
||||||
|
|
||||||
function Footer() {
|
function Footer() {
|
||||||
return (
|
return (
|
||||||
|
@ -67,28 +67,31 @@ function Footer() {
|
||||||
<section className="social-media">
|
<section className="social-media">
|
||||||
<div className="social-media-wrap">
|
<div className="social-media-wrap">
|
||||||
<div className="footer-logo">
|
<div className="footer-logo">
|
||||||
<Link to='/' className="social-logo">
|
<Link to="/" className="social-logo">
|
||||||
TRVL <i className="fab fa-typo3"></i>
|
TRVL <i className="fab fa-typo3"></i>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<small className="website-rights">TRVL © 2</small>
|
<small className="website-rights">TRVL © 2</small>
|
||||||
<div className="social-icons">
|
<div className="social-icons">
|
||||||
<Link className="social-icon-link facebook"
|
<Link
|
||||||
to='/'
|
className="social-icon-link facebook"
|
||||||
|
to="/"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
aria-label="Facebook"
|
aria-label="Facebook"
|
||||||
>
|
>
|
||||||
<i className="fab fa-facebook-f"></i>
|
<i className="fab fa-facebook-f"></i>
|
||||||
</Link>
|
</Link>
|
||||||
<Link className="social-icon-link instagram"
|
<Link
|
||||||
to='/'
|
className="social-icon-link instagram"
|
||||||
|
to="/"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
aria-label="Instagram"
|
aria-label="Instagram"
|
||||||
>
|
>
|
||||||
<i className="fab fa-instagram"></i>
|
<i className="fab fa-instagram"></i>
|
||||||
</Link>
|
</Link>
|
||||||
<Link className="social-icon-link linkedin"
|
<Link
|
||||||
to='/'
|
className="social-icon-link linkedin"
|
||||||
|
to="/"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
aria-label="LinkedIn"
|
aria-label="LinkedIn"
|
||||||
>
|
>
|
||||||
|
|
|
@ -41,4 +41,3 @@
|
||||||
color: #242424;
|
color: #242424;
|
||||||
transition: 250ms;
|
transition: 250ms;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import React from 'react';
|
import React from "react";
|
||||||
import './Button.css';
|
import "./Button.css";
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
const STYLES = ['btn--primary', 'btn--outline'];
|
const STYLES = ["btn--primary", "btn--outline"];
|
||||||
|
|
||||||
const SIZES = ['btn--medium', 'btn--large'];
|
const SIZES = ["btn--medium", "btn--large"];
|
||||||
export const Button = ({
|
export const Button = ({
|
||||||
children,
|
children,
|
||||||
type,
|
type,
|
||||||
onClick,
|
onClick,
|
||||||
buttonStyle,
|
buttonStyle,
|
||||||
buttonSize
|
buttonSize,
|
||||||
}) => {
|
}) => {
|
||||||
const checkButtonStyle = STYLES.includes(buttonStyle)
|
const checkButtonStyle = STYLES.includes(buttonStyle)
|
||||||
? buttonStyle
|
? buttonStyle
|
||||||
|
@ -19,7 +19,7 @@ export const Button = ({
|
||||||
const checkButtonSize = SIZES.includes(buttonSize) ? buttonSize : SIZES[0];
|
const checkButtonSize = SIZES.includes(buttonSize) ? buttonSize : SIZES[0];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Link to='sign-up' className='btn-mobile'>
|
<Link to="sign-up" className="btn-mobile">
|
||||||
<button
|
<button
|
||||||
className={`btn ${checkButtonStyle} ${checkButtonSize}`}
|
className={`btn ${checkButtonStyle} ${checkButtonSize}`}
|
||||||
onClick={onClick}
|
onClick={onClick}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import React from 'react'
|
import React from "react";
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
function CardItem(props) {
|
function CardItem(props) {
|
||||||
return (
|
return (
|
||||||
|
@ -7,7 +7,11 @@ function CardItem(props) {
|
||||||
<li className="cards__item">
|
<li className="cards__item">
|
||||||
<Link className="cards__item__link" to={props.path}>
|
<Link className="cards__item__link" to={props.path}>
|
||||||
<figure className="cards__item__pic-wrap" data-category={props.label}>
|
<figure className="cards__item__pic-wrap" data-category={props.label}>
|
||||||
<img src={props.src} alt="Travel Image" className="cards__item__img" />
|
<img
|
||||||
|
src={props.src}
|
||||||
|
alt="Travel Image"
|
||||||
|
className="cards__item__img"
|
||||||
|
/>
|
||||||
</figure>
|
</figure>
|
||||||
<div className="cards__item__info">
|
<div className="cards__item__info">
|
||||||
<h5 className="cards__item__text">{props.text}</h5>
|
<h5 className="cards__item__text">{props.text}</h5>
|
||||||
|
@ -15,7 +19,7 @@ function CardItem(props) {
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
</>
|
</>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default CardItem
|
export default CardItem;
|
||||||
|
|
|
@ -116,4 +116,3 @@
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 2rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import React from 'react'
|
import React from "react";
|
||||||
import CardItem from './CardItem'
|
import CardItem from "./CardItem";
|
||||||
import './Cards.css'
|
import "./Cards.css";
|
||||||
|
|
||||||
function Cards() {
|
function Cards() {
|
||||||
return (
|
return (
|
||||||
<div className='cards'>
|
<div className="cards">
|
||||||
<h1>Check out these EPIC Destinations</h1>
|
<h1>Check out these EPIC Destinations</h1>
|
||||||
<div className="cards__container">
|
<div className="cards__container">
|
||||||
<div className="cards__wrapper">
|
<div className="cards__wrapper">
|
||||||
|
@ -45,7 +45,7 @@ function Cards() {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Cards
|
export default Cards;
|
||||||
|
|
|
@ -1,32 +1,31 @@
|
||||||
import React from 'react';
|
import React from "react";
|
||||||
import '../App.css';
|
import "../App.css";
|
||||||
import { Button } from './Button';
|
import { Button } from "./Button";
|
||||||
import './HeroSection.css';
|
import "./HeroSection.css";
|
||||||
import '@fortawesome/fontawesome-free/css/all.css'
|
import "@fortawesome/fontawesome-free/css/all.css";
|
||||||
|
|
||||||
function HeroSection() {
|
function HeroSection() {
|
||||||
return (
|
return (
|
||||||
<div className='hero-container'>
|
<div className="hero-container">
|
||||||
<h1>ADVENTURE wartet</h1>
|
<h1>Herzlich Willkommen</h1>
|
||||||
<p>What are you waiting for?</p>
|
|
||||||
<div className="hero-btns">
|
<div className="hero-btns">
|
||||||
<Button
|
<Button
|
||||||
className='btns'
|
className="btns"
|
||||||
buttonStyle='btn--outline'
|
buttonStyle="btn--outline"
|
||||||
buttonSize='btn--large'
|
buttonSize="btn--large"
|
||||||
>
|
>
|
||||||
GET STARTED
|
GET STARTED
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
className='btns'
|
className="btns"
|
||||||
buttonStyle='btn--primary'
|
buttonStyle="btn--primary"
|
||||||
buttonSize='btn--large'
|
buttonSize="btn--large"
|
||||||
>
|
>
|
||||||
WATCH TRAILER <i className='far fa-play-circle' />
|
WATCH TRAILER <i className="far fa-play-circle" />
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default HeroSection
|
export default HeroSection;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import React, { useState, useEffect } from 'react';
|
import React, { useState, useEffect } from "react";
|
||||||
import { Button } from './Button';
|
import { Button } from "./Button";
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from "react-router-dom";
|
||||||
import './Navbar.css';
|
import "./Navbar.css";
|
||||||
import '@fortawesome/fontawesome-free/css/all.css'
|
import "@fortawesome/fontawesome-free/css/all.css";
|
||||||
|
|
||||||
function Navbar() {
|
function Navbar() {
|
||||||
const [click, setClick] = useState(false);
|
const [click, setClick] = useState(false);
|
||||||
|
@ -24,38 +24,38 @@ function Navbar() {
|
||||||
showButton();
|
showButton();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
window.addEventListener('resize', showButton);
|
window.addEventListener("resize", showButton);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<nav className='navbar'>
|
<nav className="navbar">
|
||||||
<div className='navbar-container'>
|
<div className="navbar-container">
|
||||||
<Link to='/' className='navbar-logo' onClick={closeMobileMenu}>
|
<Link to="/" className="navbar-logo" onClick={closeMobileMenu}>
|
||||||
TRVL
|
TRVL
|
||||||
<i class='fab fa-typo3' />
|
<i class="fab fa-typo3" />
|
||||||
</Link>
|
</Link>
|
||||||
<div className='menu-icon' onClick={handleClick}>
|
<div className="menu-icon" onClick={handleClick}>
|
||||||
<i className={click ? 'fas fa-times' : 'fas fa-bars'} />
|
<i className={click ? "fas fa-times" : "fas fa-bars"} />
|
||||||
</div>
|
</div>
|
||||||
<ul className={click ? 'nav-menu active' : 'nav-menu'}>
|
<ul className={click ? "nav-menu active" : "nav-menu"}>
|
||||||
<li className='nav-item'>
|
<li className="nav-item">
|
||||||
<Link to='/' className='nav-links' onClick={closeMobileMenu}>
|
<Link to="/" className="nav-links" onClick={closeMobileMenu}>
|
||||||
Home
|
Home
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li className='nav-item'>
|
<li className="nav-item">
|
||||||
<Link
|
<Link
|
||||||
to='/services'
|
to="/services"
|
||||||
className='nav-links'
|
className="nav-links"
|
||||||
onClick={closeMobileMenu}
|
onClick={closeMobileMenu}
|
||||||
>
|
>
|
||||||
Services
|
Services
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li className='nav-item'>
|
<li className="nav-item">
|
||||||
<Link
|
<Link
|
||||||
to='/products'
|
to="/products"
|
||||||
className='nav-links'
|
className="nav-links"
|
||||||
onClick={closeMobileMenu}
|
onClick={closeMobileMenu}
|
||||||
>
|
>
|
||||||
Products
|
Products
|
||||||
|
@ -64,15 +64,15 @@ function Navbar() {
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<Link
|
<Link
|
||||||
to='/sign-up'
|
to="/sign-up"
|
||||||
className='nav-links-mobile'
|
className="nav-links-mobile"
|
||||||
onClick={closeMobileMenu}
|
onClick={closeMobileMenu}
|
||||||
>
|
>
|
||||||
Sign Up
|
Sign Up
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
{button && <Button buttonStyle='btn--outline'>SIGN UP</Button>}
|
{button && <Button buttonStyle="btn--outline">SIGN UP</Button>}
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import React from 'react';
|
import React from "react";
|
||||||
import '../../App.css'
|
import "../../App.css";
|
||||||
import HeroSection from '../HeroSection'
|
import HeroSection from "../HeroSection";
|
||||||
import Cards from '../Cards'
|
import Cards from "../Cards";
|
||||||
import Footer from '../../Footer';
|
import Footer from "../../Footer";
|
||||||
|
|
||||||
function Home() {
|
function Home() {
|
||||||
return (
|
return (
|
||||||
|
@ -11,7 +11,7 @@ function Home() {
|
||||||
<Cards />
|
<Cards />
|
||||||
<Footer />
|
<Footer />
|
||||||
</>
|
</>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Home;
|
export default Home;
|
|
@ -1,8 +1,12 @@
|
||||||
import React from 'react'
|
import React from "react";
|
||||||
import '../../App.css'
|
import "../../App.css";
|
||||||
|
import Footer from "../../Footer";
|
||||||
|
|
||||||
export default function Products() {
|
export default function Products() {
|
||||||
return (
|
return (
|
||||||
<h1 className='products'>PRODUCTS</h1>
|
<>
|
||||||
|
<h1 className="products">PRODUCTS</h1>
|
||||||
|
<Footer />
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
|
@ -1,6 +1,12 @@
|
||||||
import React from 'react'
|
import React from "react";
|
||||||
import '../../App.css'
|
import "../../App.css";
|
||||||
|
import Footer from "../../Footer";
|
||||||
|
|
||||||
export default function Services() {
|
export default function Services() {
|
||||||
return <h1 className="services">SERVICES</h1>;
|
return (
|
||||||
|
<>
|
||||||
|
<h1 className="services">SERVICES</h1>
|
||||||
|
<Footer />
|
||||||
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
|
@ -1,6 +1,12 @@
|
||||||
import React from 'react'
|
import React from "react";
|
||||||
import '../../App.css'
|
import "../../App.css";
|
||||||
|
import Footer from "../../Footer";
|
||||||
|
|
||||||
export default function SignUp() {
|
export default function SignUp() {
|
||||||
return <h1 className="sign-up">SIGN UP</h1>;
|
return (
|
||||||
|
<>
|
||||||
|
<h1 className="sign-up">SIGN UP</h1>
|
||||||
|
<Footer />
|
||||||
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
|
@ -1,8 +1,5 @@
|
||||||
import React from 'react';
|
import React from "react";
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from "react-dom";
|
||||||
import App from './App';
|
import App from "./App";
|
||||||
|
|
||||||
ReactDOM.render(
|
ReactDOM.render(<App />, document.getElementById("root"));
|
||||||
<App />,
|
|
||||||
document.getElementById('root')
|
|
||||||
);
|
|
||||||
|
|
Loading…
Reference in a new issue