diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..4fdd451 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +hugos_flugzeuge \ No newline at end of file diff --git a/public/img/airliner/airbus/a380.jpg b/public/img/airliner/airbus/a380.jpg new file mode 100644 index 0000000..1b26292 Binary files /dev/null and b/public/img/airliner/airbus/a380.jpg differ diff --git a/public/img/harrier.jpg b/public/img/military/cold_war/harrier.jpg similarity index 100% rename from public/img/harrier.jpg rename to public/img/military/cold_war/harrier.jpg diff --git a/public/img/f22.png b/public/img/military/modern/f22.png similarity index 100% rename from public/img/f22.png rename to public/img/military/modern/f22.png diff --git a/src/App.js b/src/App.js index ef26a9b..322b632 100644 --- a/src/App.js +++ b/src/App.js @@ -3,8 +3,10 @@ import { Route, NavLink, HashRouter } from 'react-router-dom' import './app.css'; -import Modern from "./Militaer"; -import Home from "./Home"; +import Modern from './Militaer'; +import Home from './Home'; +import UeberHugo from './UeberHugo' +import Planes from "./Planes"; class App extends Component { render() { @@ -13,11 +15,13 @@ class App extends Component {
-

Hugos Lieblingsflugzeuge

+

✈️Hugos Lieblingsflugzeuge✈️

+ +
@@ -36,6 +40,9 @@ class Navigation extends Component {
  • Start
  • +
  • + Über Hugo +
  • Militärflugzeuge
    diff --git a/src/Home.js b/src/Home.js index a9077aa..749bf2f 100644 --- a/src/Home.js +++ b/src/Home.js @@ -1,15 +1,31 @@ import React, {Component} from 'react'; import ModelImage from './Plane'; +import planes from './planes.json' class Home extends Component { + constructor(props) { + super(props); + const favs = planes.filter(isFavPlane); + this.state = { + favs: favs + } + } + render() { + const favs = this.state.favs + .map(x => ); + return (
    -

    Hugos Favoriten

    - +

    Hugos Favoriten

    + {favs}
    ); } } +function isFavPlane(plane) { + return plane.tags.includes('fav'); +} + export default Home; \ No newline at end of file diff --git a/src/Militaer.js b/src/Militaer.js index c39fdb5..f706343 100644 --- a/src/Militaer.js +++ b/src/Militaer.js @@ -5,7 +5,7 @@ import ModelImage from './Plane' class Modern extends React.Component { render() { const items = Array(100).fill(1).map((x, y) => x + y) - .map(x => ); + .map(x => ); return (
    diff --git a/src/Plane.js b/src/Plane.js index 9f5e4d2..de860b8 100644 --- a/src/Plane.js +++ b/src/Plane.js @@ -11,19 +11,23 @@ class ModelImage extends Component { this.state = { name: '', src: '', + cat: '', } } static getDerivedStateFromProps(props) { - return {name: props.name, src: props.src}; + return {name: props.name, src: props.src, + cat: (props.cat === undefined ? '' : props.cat), + }; } render() { + const s = this.state; return ( - - {this.state.name}/ + + {this.state.name}/
    - {this.state.name} + {s.name}
    ); diff --git a/src/Planes.js b/src/Planes.js new file mode 100644 index 0000000..fa5c6bb --- /dev/null +++ b/src/Planes.js @@ -0,0 +1,40 @@ +import React, {Component} from 'react'; +import planes from './planes.json' + +class Planes extends Component { + render() { + const loc = this.props.location.pathname; + const planeName = loc.replaceAll('/flugzeug/', ''); + let plane; + for (const e of planes) { + if (e.category + e.name === planeName) { + plane = e; + break; + } + } + + let content; + if (plane === undefined) { + content = +
    +

    Flugzeug nicht gefunden.

    +
    + ; + } else { + const imgPath = process.env.PUBLIC_URL + '/img/' + plane.category + plane.img; + content = +
    +

    {plane.name}

    + {'Bild +

    {plane.description}

    +
    + ; + } + + return ( + content + ); + } +} + +export default Planes; \ No newline at end of file diff --git a/src/UeberHugo.js b/src/UeberHugo.js new file mode 100644 index 0000000..1f58935 --- /dev/null +++ b/src/UeberHugo.js @@ -0,0 +1,19 @@ +import React, {Component} from 'react'; + +class UeberHugo extends Component { + render() { + return ( +
    +

    Hugo Boss

    +

    Hugo Boss ist ein begeisterter Modellbauer und Gründungsmitglied + vom Modellbauverein Winterthur.

    +

    Am liebsten baut er Flugzeuge, sie haben ihn schon sein ganzes Leben fasziniert und er wollte immer Pilot werden. + Das hat er zwar nicht geschafft, aber das Modellbauen ermöglicht es ihm, seine Leidenschaft trotzdem auszuleben. + Auf dieser Website präsentiert Hugo seine liebsten Flugzeuge, die er am liebsten alle nachbauen würde.

    + Hugo Boss +
    + ) + } +} + +export default UeberHugo; \ No newline at end of file diff --git a/src/app.css b/src/app.css index 5fd17b7..e29a7c9 100644 --- a/src/app.css +++ b/src/app.css @@ -12,11 +12,15 @@ body { #parent { display: grid; - grid-template-rows: 150px auto; + grid-template-rows: 100px auto; grid-template-areas: "header" "main"; } +p { + width: 1000px; +} + main { grid-area: main; } @@ -32,10 +36,12 @@ header { header h1 { margin-top: 50px; + margin-left: 10px; + margin-bottom: 0; } main { - margin: 10px; + margin-left: 10px; } /*Navigation*/ diff --git a/src/hugo.jpg b/src/hugo.jpg new file mode 100644 index 0000000..474873f Binary files /dev/null and b/src/hugo.jpg differ diff --git a/src/planes.json b/src/planes.json new file mode 100644 index 0000000..bbc737f --- /dev/null +++ b/src/planes.json @@ -0,0 +1,27 @@ +[ + { + "name": "F-22 Raptor", + "img": "f22.png", + "category": "military/modern/", + "description": "Die F-22 Raptor ist ein Kampfflugzeug der 6. Generation der USA. Durch seine moderne Computersteuerung und Tarnkappentechnik ist es der Herr der Lüfte", + "tags": [ + "fav" + ] + }, + { + "name": "AV-8B Harrier", + "img": "harrier.jpg", + "category": "military/cold_war/", + "description": "Der Harrier ist ein Britisches Kampflugzeug. Er war der erste Jet (im aktiven Einsatz) mit der Fähigkeit, senkrecht wie ein Helikopter abzuheben und zu landen.", + "tags": [ + "fav" + ] + }, + { + "name": "Airbus A380", + "img": "a380.jpg", + "category": "airliner/airbus/", + "description": "Die A380 ist das grösste Passagierflugzeug der Welt.", + "tags": ["fav"] + } +] \ No newline at end of file