FIX: routing, links, nav buttons, dynamic title

enrico 2020-01-13 21:48:51 +01:00
parent dc57b6b096
commit 22154d1953
8 changed files with 39 additions and 41 deletions

View File

@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1" /> <meta name="viewport" content="initial-scale=1" />
<title>LORDNABBO</title> <title>LORD//CHANNEL</title>
</head> </head>
<body style="background-color: #343a40;"> <body style="background-color: #343a40;">
<div id="root"></div> <div id="root"></div>

View File

@ -1,14 +0,0 @@
import React from 'react';
import Navbar from './Navbar';
class About extends React.Component {
render() {
return (
<>
<Navbar brand="LORDNABBO" />
</>
);
}
}
export default About;

View File

@ -1,9 +1,9 @@
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import React, { Suspense, lazy } from 'react'; import React, { Suspense, lazy } from 'react';
const Home = lazy(() => import('./Home')); const Home = lazy(() => import('./routes/Home'));
const About = lazy(() => import('./About')); const Anime = lazy(() => import('./routes/Anime'));
const Notfound = lazy(() => import('./notfound')); const Notfound = lazy(() => import('./routes/notfound'));
class App extends React.Component { class App extends React.Component {
@ -13,7 +13,7 @@ class App extends React.Component {
<Suspense fallback={<div>Loading...</div>}> <Suspense fallback={<div>Loading...</div>}>
<Switch> <Switch>
<Route exact path="/" component={Home}/> <Route exact path="/" component={Home}/>
<Route path="/About" component={About}/> <Route path="/Anime" component={Anime}/>
<Route component={Notfound} /> <Route component={Notfound} />
</Switch> </Switch>

View File

@ -1,23 +1,17 @@
import React from 'react' import React from 'react';
import {Link} from 'react-router-dom' import {Link} from 'react-router-dom';
import 'bootstrap/dist/css/bootstrap.min.css'; import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap/dist/js/bootstrap.min.js'; import 'bootstrap/dist/js/bootstrap.min.js';
import './Buttons.css'; import './Buttons.css';
export default class NavButton extends React.Component { class NavButton extends React.Component {
render() { render() {
return ( return (
<li className="nav-item"> <li className="nav-item">
<Button name={this.props.name} /> <Link to={this.props.lhref}><button className="btn1">{this.props.name}</button></Link>
</li> </li>
); );
} }
} }
export class Button extends React.Component { export default NavButton;
render() {
return (
<button className="btn1" type="button"><Link to="/About">{this.props.name}</Link></button>
);
}
}

View File

@ -1,4 +1,5 @@
import React from 'react'; import React from 'react';
import {Link} from 'react-router-dom';
import NavButton from './Buttons'; import NavButton from './Buttons';
import 'bootstrap/dist/css/bootstrap.min.css'; import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap/dist/js/bootstrap.min.js'; import 'bootstrap/dist/js/bootstrap.min.js';
@ -8,16 +9,19 @@ class Navbar extends React.Component {
render() { render() {
return ( return (
<nav className="navbar navbar-expand-lg navbar-dark bg-dark"> <nav className="navbar navbar-expand-lg navbar-dark bg-dark">
<span className="navbar-brand">{this.props.brand}</span> <Link to="/"><span className="navbar-brand">LORD//{this.props.brand}</span></Link>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navButtons" aria-controls="navButtons" aria-expanded="false" aria-label="Toggle navigation"> <button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navButtons" aria-controls="navButtons" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span> <span className="navbar-toggler-icon"></span>
</button> </button>
<div className="collapse navbar-collapse flex" id="navButtons"> <div className="collapse navbar-collapse flex" id="navButtons">
<ul className="navbar-nav nav-mod"> <ul className="navbar-nav nav-mod">
<NavButton name="Home" lhref="/" /> <NavButton name="Film" lhref="/Film" />
<NavButton name="Film" /> <NavButton name="Anime" lhref="/Anime" />
<NavButton name="Series" /> <NavButton name="Serie TV" lhref="/Serietv" />
<NavButton name="About" lhref="/About" /> <NavButton name="Immagini" lhref="/Immagini" />
<NavButton name="Musica" lhref="/Musica" />
<NavButton name="Giochi" lhref="/Giochi" />
<NavButton name="Programmi" lhref="/Programmi" />
</ul> </ul>
<form class="form-inline my-2 my-lg-0"> <form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" /> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" />

14
src/routes/Anime.js Normal file
View File

@ -0,0 +1,14 @@
import React from 'react';
import Navbar from '../Navbar';
class Anime extends React.Component {
render() {
return (
<>
<Navbar brand="ANIME" />
</>
);
}
}
export default Anime;

View File

@ -1,13 +1,13 @@
import React from 'react'; import React from 'react';
import Navbar from './Navbar'; import Navbar from '../Navbar';
import Parallax from './Parallax'; import Parallax from '../Parallax';
import CardContainer from './CardContainer'; import CardContainer from '../CardContainer';
class Home extends React.Component { class Home extends React.Component {
render() { render() {
return ( return (
<> <>
<Navbar brand="LORDNABBO" /> <Navbar brand="CHANNEL" />
<Parallax /> <Parallax />
<CardContainer sectionTitle="Latest Uploads" /> <CardContainer sectionTitle="Latest Uploads" />
<CardContainer sectionTitle="Random" /> <CardContainer sectionTitle="Random" />

View File

@ -1,11 +1,11 @@
import React from 'react'; import React from 'react';
import Navbar from './Navbar'; import Navbar from '../Navbar';
class NotFound extends React.Component { class NotFound extends React.Component {
render() { render() {
return ( return (
<> <>
<Navbar brand="LORDNABBO" /> <Navbar brand="404" />
<div><h1>I MEME 404</h1></div> <div><h1>I MEME 404</h1></div>
</> </>
); );