d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.1\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/main.840da417.chunk.js b/static/js/main.840da417.chunk.js
deleted file mode 100644
index f1559d9..0000000
--- a/static/js/main.840da417.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(this.webpackJsonpuntitled=this.webpackJsonpuntitled||[]).push([[0],{12:function(e){e.exports=JSON.parse('[{"name":"F-22 Raptor","img":"f22.png","category":"militaer/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\xfcfte","tags":[]},{"name":"AV-8B Harrier","img":"harrier.jpg","category":"militaer/kalter_krieg/","description":"Der Harrier ist ein Britisches Kampflugzeug. Er war der erste Jet (im aktiven Einsatz) mit der F\xe4higkeit, 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\xf6sste Passagierflugzeug der Welt.","tags":["fav"]},{"name":"Flugzeug Wrack 1","img":"wrack1.jpg","category":"spezielle/andere/","description":"Das Wrack von einem abgest\xfcrzten Flugzeug.","tags":[]},{"name":"Doppeldecker 1","img":"doppeldecker1.jpg","category":"sport/doppeldecker/","description":"Ein Doppeldecker. Genauere Details unbekannt.","tags":[]},{"name":"A-10 Thunderbolt II","img":"a10.jpg","category":"militaer/kalter_krieg/","description":"Die A-10 \'Warthog\' Thunderbolt II ist ein amerikanisches Bodenangriffsflugzeug aus den 70er-Jahren, was auch heute immer noch im Einsatz ist. Es zeichnet sich durch seine Gatling-Gun aus, die mit \xfcber 5000 RPM 30mm-Kugeln abfeuert.","tags":["fav"]},{"name":"P-51","img":"p51.jpg","category":"militaer/zweiter_weltkrieg/","description":"Die P-51 ist ein amerikanisches Propellerflugzeug aus dem zweiten Weltkrieg. Auf dem Bild zu sehen mit einer hochmodernen F-35","tags":["fav"]},{"name":"Fokker Dr1","img":"fokkerdr1.jpg","category":"militaer/erster_weltkrieg/","description":"Die Fokker Dr1 ist ein deutsches Dreidecker-Flugzeug aus dem ersten Weltkrieg. Im Bild zu sehen ist ein nachbau der Dr1 vom \'Roten Baron\', dem ber\xfchmten deutschen Fliegerass.","tags":[]},{"name":"AH-64 Apache","img":"ah64.jpg","category":"militaer/kalter_krieg/","description":"Der amerikanische Boeing AH-64 Apache Kampfhubschrauber ist der wohl be\xfchmsteste Kampfhubschrauber.","tags":[]},{"name":"MiG-19","img":"mig19.jpg","category":"militaer/kalter_krieg/","description":"Die sowjetische Mikojan-Gurewitsch MiG-19 aus dem Jahre 1955 ist ein jetbetriebenes Jagdflugzeug, was auch als Jagdbomber eingesetzt werden kann.","tags":[]},{"name":"Boeing 787 Dreamliner","img":"787.jpg","category":"airliner/boeing/","description":"Der Dreamliner ist ein modernes Passagierflugzeug f\xfcr 200-300 Personen von Boeing.","tags":[]},{"name":"Segelflugzeug 1","img":"segel1.jpg","category":"sport/segelflugzeug/","description":"Ein kleines Segelflugzeug auf einer Wiese.","tags":[]},{"name":"Eurocopter 145","img":"ec145.jpg","category":"spezielle/helikopter/","description":"Der EC 145 ist ein vielseitig einsetzbarer Leichthubrschrauber.","tags":[]}]')},27:function(e,t,r){},28:function(e,t,r){},35:function(e,t,r){},36:function(e,t,r){"use strict";r.r(t);var i=r(1),n=r(21),a=r.n(n),c=r(5),s=r(6),l=r(8),u=r(7),g=r(2),o=r(3),j=(r(27),r(15)),d=(r(28),r(0)),b=function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(e){var i;return Object(c.a)(this,r),(i=t.call(this,e)).state={name:"",src:"",cat:""},i}return Object(s.a)(r,[{key:"render",value:function(){var e=this.state;return Object(d.jsxs)(g.b,{to:"/flugzeug/"+e.cat+e.name,className:"model",children:[Object(d.jsx)("img",{src:"/hugos-lieblingsflugzeuge/img/"+e.src,alt:this.state.name}),Object(d.jsx)("div",{className:"model-info",children:Object(d.jsx)("span",{className:"model-info-text",children:e.name})})]})}}],[{key:"getDerivedStateFromProps",value:function(e){return{name:e.name,src:e.src,cat:void 0===e.cat?"":e.cat}}}]),r}(i.Component),h=r(12),m=function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(){return Object(c.a)(this,r),t.apply(this,arguments)}return Object(s.a)(r,[{key:"render",value:function(){var e,t=this.props.location.pathname.replaceAll("/flugzeuge/","")+"/",r=[],i=Object(j.a)(h);try{for(i.s();!(e=i.n()).done;){var n=e.value;n.category.startsWith(t)&&r.push(n)}}catch(a){i.e(a)}finally{i.f()}return r=r.map((function(e){return Object(d.jsx)(b,{src:e.category+e.img,name:e.name,cat:e.category},e.category+e.name)})),Object(d.jsx)("div",{children:r})}}]),r}(i.Component);function p(e){return e.tags.includes("fav")}var f=function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(e){var i;Object(c.a)(this,r),i=t.call(this,e);var n=h.filter(p);return i.state={favs:n},i}return Object(s.a)(r,[{key:"render",value:function(){var e=this.state.favs.map((function(e){return Object(d.jsx)(b,{src:e.category+e.img,name:e.name,cat:e.category},e.category+e.name)})),t=h.map((function(e){return Object(d.jsx)(b,{src:e.category+e.img,name:e.name,cat:e.category},e.category+e.name)}));return Object(d.jsxs)("div",{children:[Object(d.jsx)("h2",{children:"Hugos Favoriten"}),e,Object(d.jsx)("h2",{children:"Alle Flugzeuge"}),t]})}}]),r}(i.Component),O=function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(){return Object(c.a)(this,r),t.apply(this,arguments)}return Object(s.a)(r,[{key:"render",value:function(){return Object(d.jsxs)("div",{children:[Object(d.jsx)("h1",{children:"Hugo Boss"}),Object(d.jsx)("p",{children:"Hugo Boss ist ein begeisterter Modellbauer und Gr\xfcndungsmitglied vom Modellbauverein Winterthur."}),Object(d.jsx)("p",{children:"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\xf6glicht es ihm, seine Leidenschaft trotzdem auszuleben. Auf dieser Website pr\xe4sentiert Hugo seine liebsten Flugzeuge, die er am liebsten alle nachbauen w\xfcrde."}),Object(d.jsx)("img",{src:"/hugos-lieblingsflugzeuge/img/hugo.jpg",alt:"Hugo Boss",width:"1500px"})]})}}]),r}(i.Component),z=(r(35),function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(){return Object(c.a)(this,r),t.apply(this,arguments)}return Object(s.a)(r,[{key:"render",value:function(){var e,t,r,i=this.props.location.pathname.replaceAll("/flugzeug/",""),n=Object(j.a)(h);try{for(n.s();!(t=n.n()).done;){var a=t.value;if(a.category+a.name===i){e=a;break}}}catch(s){n.e(s)}finally{n.f()}if(void 0===e)r=Object(d.jsx)("div",{children:Object(d.jsx)("h2",{children:"Flugzeug nicht gefunden."})});else{var c="/hugos-lieblingsflugzeuge/img/"+e.category+e.img;r=Object(d.jsxs)("div",{children:[Object(d.jsx)("h2",{children:e.name}),Object(d.jsx)("img",{src:c,alt:"Bild von "+e.name,className:"plane-image"}),Object(d.jsx)("p",{children:e.description})]})}return r}}]),r}(i.Component)),x=function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(){return Object(c.a)(this,r),t.apply(this,arguments)}return Object(s.a)(r,[{key:"render",value:function(){return Object(d.jsx)(g.a,{children:Object(d.jsxs)("div",{id:"parent",children:[Object(d.jsxs)("header",{children:[Object(d.jsx)("div",{children:Object(d.jsx)("h1",{children:"\u2708\ufe0fHugos Lieblingsflugzeuge\u2708\ufe0f"})}),Object(d.jsx)(k,{})]}),Object(d.jsxs)("main",{children:[Object(d.jsx)(o.a,{exact:!0,path:"/",component:f}),Object(d.jsx)(o.a,{exact:!0,path:"/hugo",component:O}),Object(d.jsx)(o.a,{path:"/flugzeuge",component:m}),Object(d.jsx)(o.a,{path:"/flugzeug",component:z})]}),Object(d.jsx)(v,{})]})})}}]),r}(i.Component),k=function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(){return Object(c.a)(this,r),t.apply(this,arguments)}return Object(s.a)(r,[{key:"render",value:function(){return Object(d.jsx)("nav",{children:Object(d.jsxs)("ul",{children:[Object(d.jsx)("li",{children:Object(d.jsx)(g.b,{to:"/",children:"Start"})}),Object(d.jsx)("li",{children:Object(d.jsx)(g.b,{to:"/hugo",children:"\xdcber Hugo"})}),Object(d.jsxs)("li",{children:[Object(d.jsx)(g.b,{to:"/flugzeuge/militaer",children:"Milit\xe4r"}),Object(d.jsxs)("div",{className:"content",children:[Object(d.jsx)(g.b,{to:"/flugzeuge/militaer/erster_weltkrieg",children:"Erster Weltkrieg"}),Object(d.jsx)(g.b,{to:"/flugzeuge/militaer/zwischenkriegszeit",children:"Zwischenkriegs\u200bzeit"}),Object(d.jsx)(g.b,{to:"/flugzeuge/militaer/zweiter_weltkrieg",children:"Zweiter Weltkrieg"}),Object(d.jsx)(g.b,{to:"/flugzeuge/militaer/kalter_krieg",children:"Kalter Krieg"}),Object(d.jsx)(g.b,{to:"/flugzeuge/militaer/modern",children:"Moderne"})]})]}),Object(d.jsxs)("li",{children:[Object(d.jsx)(g.b,{to:"/flugzeuge/airliner",children:"Airliner"}),Object(d.jsxs)("div",{className:"content",children:[Object(d.jsx)(g.b,{to:"/flugzeuge/airliner/boeing",children:"Boeing"}),Object(d.jsx)(g.b,{to:"/flugzeuge/airliner/airbus",children:"Airbus"}),Object(d.jsx)(g.b,{to:"/flugzeuge/airliner/andere",children:"Andere"})]})]}),Object(d.jsxs)("li",{children:[Object(d.jsx)(g.b,{to:"/flugzeuge/sport",children:"Sport"}),Object(d.jsxs)("div",{className:"content",children:[Object(d.jsx)(g.b,{to:"/flugzeuge/sport/doppeldecker",children:"Doppeldecker"}),Object(d.jsx)(g.b,{to:"/flugzeuge/sport/propellerflugzeuge",children:"Propeller"}),Object(d.jsx)(g.b,{to:"/flugzeuge/sport/segelflugzeug",children:"Segel"}),Object(d.jsx)(g.b,{to:"/flugzeuge/sport/andere",children:"Andere"})]})]}),Object(d.jsxs)("li",{children:[Object(d.jsx)(g.b,{to:"/flugzeuge/spezielle",children:"Spezielle"}),Object(d.jsxs)("div",{className:"content",children:[Object(d.jsx)(g.b,{to:"/flugzeuge/spezielle/helikopter",children:"Helikopter"}),Object(d.jsx)(g.b,{to:"/flugzeuge/spezielle/zeppeline",children:"Zeppeline"}),Object(d.jsx)(g.b,{to:"/flugzeuge/spezielle/andere",children:"Andere"})]})]})]})})}}]),r}(i.Component),v=function(e){Object(l.a)(r,e);var t=Object(u.a)(r);function r(){return Object(c.a)(this,r),t.apply(this,arguments)}return Object(s.a)(r,[{key:"render",value:function(){return Object(d.jsx)("footer",{children:Object(d.jsx)("div",{children:"\xa9 Hugo"})})}}]),r}(i.Component);a.a.render(Object(d.jsx)(x,{}),document.getElementById("root"))}},[[36,1,2]]]);
-//# sourceMappingURL=main.840da417.chunk.js.map
\ No newline at end of file
diff --git a/static/js/main.840da417.chunk.js.map b/static/js/main.840da417.chunk.js.map
deleted file mode 100644
index 17b00cf..0000000
--- a/static/js/main.840da417.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["PlanePreview.js","PlaneList.js","Home.js","UeberHugo.js","PlaneInfo.js","App.js","index.js"],"names":["ModelImage","props","state","name","src","cat","s","this","to","className","process","alt","undefined","Component","PlaneList","location","pathname","replaceAll","matches","planes","e","category","startsWith","push","map","x","img","isFavPlane","plane","tags","includes","Home","favs","filter","all","UeberHugo","width","Planes","content","planeName","imgPath","description","App","id","exact","path","component","Navigation","Footer","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.840da417.chunk.js","sourcesContent":["import React, {Component} from 'react';\r\nimport {\r\n NavLink\r\n} from 'react-router-dom'\r\nimport './plane_preview.css'\r\n\r\n\r\nclass ModelImage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n name: '',\r\n src: '',\r\n cat: '',\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(props) {\r\n return {name: props.name, src: props.src,\r\n cat: (props.cat === undefined ? '' : props.cat),\r\n };\r\n }\r\n\r\n render() {\r\n const s = this.state;\r\n return (\r\n \r\n
\r\n \r\n {s.name}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ModelImage;","import React, {Component} from 'react';\r\nimport ModelImage from './PlanePreview'\r\nimport planes from './planes.json';\r\n\r\n\r\nclass PlaneList extends Component {\r\n render() {\r\n const loc = this.props.location.pathname;\r\n const cat = loc.replaceAll('/flugzeuge/', '') + '/';\r\n\r\n let matches = [];\r\n\r\n for (const e of planes) {\r\n if (e.category.startsWith(cat)) {\r\n matches.push(e);\r\n }\r\n }\r\n\r\n matches = matches.map(x => );\r\n\r\n\r\n return (\r\n \r\n {matches}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default PlaneList;","import React, {Component} from 'react';\r\nimport ModelImage from './PlanePreview';\r\nimport planes from './planes.json'\r\n\r\nclass Home extends Component {\r\n constructor(props) {\r\n super(props);\r\n const favs = planes.filter(isFavPlane);\r\n this.state = {\r\n favs: favs\r\n }\r\n }\r\n\r\n render() {\r\n const favs = this.state.favs\r\n .map(x => );\r\n\r\n const all = planes\r\n .map(x => );\r\n\r\n return (\r\n \r\n
Hugos Favoriten
\r\n {favs}\r\n Alle Flugzeuge
\r\n {all}\r\n \r\n );\r\n }\r\n}\r\n\r\nfunction isFavPlane(plane) {\r\n return plane.tags.includes('fav');\r\n}\r\n\r\nexport default Home;","import React, {Component} from 'react';\r\n\r\nclass UeberHugo extends Component {\r\n render() {\r\n return (\r\n \r\n
Hugo Boss
\r\n
Hugo Boss ist ein begeisterter Modellbauer und Gründungsmitglied\r\n vom Modellbauverein Winterthur.
\r\n
Am liebsten baut er Flugzeuge, sie haben ihn schon sein ganzes Leben fasziniert und er wollte immer Pilot werden.\r\n Das hat er zwar nicht geschafft, aber das Modellbauen ermöglicht es ihm, seine Leidenschaft trotzdem auszuleben.\r\n Auf dieser Website präsentiert Hugo seine liebsten Flugzeuge, die er am liebsten alle nachbauen würde.
\r\n

\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default UeberHugo;","import React, {Component} from 'react';\r\nimport planes from './planes.json';\r\nimport './plane.css';\r\n\r\nclass Planes extends Component {\r\n render() {\r\n const loc = this.props.location.pathname;\r\n const planeName = loc.replaceAll('/flugzeug/', '');\r\n let plane;\r\n for (const e of planes) {\r\n if (e.category + e.name === planeName) {\r\n plane = e;\r\n break;\r\n }\r\n }\r\n\r\n let content;\r\n if (plane === undefined) {\r\n content =\r\n \r\n
Flugzeug nicht gefunden.
\r\n \r\n ;\r\n } else {\r\n const imgPath = process.env.PUBLIC_URL + '/img/' + plane.category + plane.img;\r\n content =\r\n \r\n
{plane.name}
\r\n

\r\n
{plane.description}
\r\n
\r\n ;\r\n }\r\n\r\n return (\r\n content\r\n );\r\n }\r\n}\r\n\r\nexport default Planes;","import React, {Component} from 'react';\r\nimport {\r\n Route, NavLink, HashRouter\r\n} from 'react-router-dom'\r\nimport './app.css';\r\nimport PlaneList from './PlaneList';\r\nimport Home from './Home';\r\nimport UeberHugo from './UeberHugo'\r\nimport Planes from \"./PlaneInfo\";\r\n\r\nclass App extends Component {\r\n render() {\r\n return (\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n\r\nclass Navigation extends Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nclass Footer extends Component {\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from \"./App\";\n\nReactDOM.render(\n \n , document.getElementById('root')\n);"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/main.dc70121b.chunk.js b/static/js/main.dc70121b.chunk.js
new file mode 100644
index 0000000..32bcdd0
--- /dev/null
+++ b/static/js/main.dc70121b.chunk.js
@@ -0,0 +1,2 @@
+(this.webpackJsonpuntitled=this.webpackJsonpuntitled||[]).push([[0],{20:function(e,i,r){},21:function(e,i,r){},28:function(e,i,r){},29:function(e,i,r){"use strict";r.r(i);r(1);var t=r(14),n=r.n(t),s=r(2),c=r(3),a=(r(20),r(21),r(0)),l=function(e){return Object(a.jsxs)(s.b,{to:"/flugzeug/"+e.cat+e.name,className:"model",children:[Object(a.jsx)("img",{src:"/hugos-lieblingsflugzeuge/img/"+e.src,alt:e.name}),Object(a.jsx)("div",{className:"model-info",children:Object(a.jsx)("span",{className:"model-info-text",children:e.name})})]})},g=r(6),u=function(){var e=Object(c.e)().pathname.replaceAll("/flugzeuge/",""),i=g.filter((function(i){return i.category.startsWith(e)})).map((function(e){return Object(a.jsx)(l,{src:e.category+e.img,name:e.name,cat:e.category},e.category+e.name)}));return Object(a.jsx)("div",{children:i})};function o(e){return e.tags.includes("fav")}var d=function(){var e=g.filter(o).map((function(e){return Object(a.jsx)(l,{src:e.category+e.img,name:e.name,cat:e.category},e.category+e.name)})),i=g.map((function(e){return Object(a.jsx)(l,{src:e.category+e.img,name:e.name,cat:e.category},e.category+e.name)}));return Object(a.jsxs)("div",{children:[Object(a.jsx)("h2",{children:"Hugos Favoriten"}),e,Object(a.jsx)("h2",{children:"Alle Flugzeuge"}),i]})},j=function(){return Object(a.jsxs)("div",{children:[Object(a.jsx)("h1",{children:"Hugo Boss"}),Object(a.jsx)("p",{children:"Hugo Boss ist ein begeisterter Modellbauer und Gr\xfcndungsmitglied vom Modellbauverein Winterthur."}),Object(a.jsx)("p",{children:"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\xf6glicht es ihm, seine Leidenschaft trotzdem auszuleben. Auf dieser Website pr\xe4sentiert Hugo seine liebsten Flugzeuge, die er am liebsten alle nachbauen w\xfcrde."}),Object(a.jsx)("img",{src:"/hugos-lieblingsflugzeuge/img/hugo.jpg",alt:"Hugo Boss",width:"1500px"})]})},b=(r(28),function(){var e=Object(c.e)().pathname.replaceAll("/flugzeug/",""),i=g.find((function(i){return i.category+i.name===e})),r="/hugos-lieblingsflugzeuge/img/"+i.category+i.img;return Object(a.jsx)("div",{children:i?Object(a.jsxs)(a.Fragment,{children:[Object(a.jsx)("h2",{children:i.name}),Object(a.jsx)("img",{src:r,alt:"Bild von "+i.name,className:"plane-image"}),Object(a.jsx)("p",{children:i.description})]}):Object(a.jsx)("h2",{children:"Flugzeug nicht gefunden."})})}),h=function(){return Object(a.jsx)(s.a,{children:Object(a.jsxs)("div",{id:"parent",children:[Object(a.jsxs)("header",{children:[Object(a.jsx)("h1",{children:"\u2708\ufe0fHugos Lieblingsflugzeuge\u2708\ufe0f"}),Object(a.jsx)(m,{})]}),Object(a.jsxs)("main",{children:[Object(a.jsx)(c.a,{exact:!0,path:"/",component:d}),Object(a.jsx)(c.a,{exact:!0,path:"/hugo",component:j}),Object(a.jsx)(c.a,{path:"/flugzeuge",component:u}),Object(a.jsx)(c.a,{path:"/flugzeug",component:b})]}),Object(a.jsx)(p,{})]})})},m=function(){return Object(a.jsx)("nav",{children:Object(a.jsxs)("ul",{children:[Object(a.jsx)("li",{children:Object(a.jsx)(s.b,{to:"/",children:"Start"})}),Object(a.jsx)("li",{children:Object(a.jsx)(s.b,{to:"/hugo",children:"\xdcber Hugo"})}),Object(a.jsxs)("li",{children:[Object(a.jsx)(s.b,{to:"/flugzeuge/militaer",children:"Milit\xe4r"}),Object(a.jsxs)("div",{className:"content",children:[Object(a.jsx)(s.b,{to:"/flugzeuge/militaer/erster_weltkrieg",children:"Erster Weltkrieg"}),Object(a.jsx)(s.b,{to:"/flugzeuge/militaer/zwischenkriegszeit",children:"Zwischenkriegs\u200bzeit"}),Object(a.jsx)(s.b,{to:"/flugzeuge/militaer/zweiter_weltkrieg",children:"Zweiter Weltkrieg"}),Object(a.jsx)(s.b,{to:"/flugzeuge/militaer/kalter_krieg",children:"Kalter Krieg"}),Object(a.jsx)(s.b,{to:"/flugzeuge/militaer/modern",children:"Moderne"})]})]}),Object(a.jsxs)("li",{children:[Object(a.jsx)(s.b,{to:"/flugzeuge/airliner",children:"Airliner"}),Object(a.jsxs)("div",{className:"content",children:[Object(a.jsx)(s.b,{to:"/flugzeuge/airliner/boeing",children:"Boeing"}),Object(a.jsx)(s.b,{to:"/flugzeuge/airliner/airbus",children:"Airbus"}),Object(a.jsx)(s.b,{to:"/flugzeuge/airliner/andere",children:"Andere"})]})]}),Object(a.jsxs)("li",{children:[Object(a.jsx)(s.b,{to:"/flugzeuge/sport",children:"Sport"}),Object(a.jsxs)("div",{className:"content",children:[Object(a.jsx)(s.b,{to:"/flugzeuge/sport/doppeldecker",children:"Doppeldecker"}),Object(a.jsx)(s.b,{to:"/flugzeuge/sport/propellerflugzeuge",children:"Propeller"}),Object(a.jsx)(s.b,{to:"/flugzeuge/sport/segelflugzeug",children:"Segel"}),Object(a.jsx)(s.b,{to:"/flugzeuge/sport/andere",children:"Andere"})]})]}),Object(a.jsxs)("li",{children:[Object(a.jsx)(s.b,{to:"/flugzeuge/spezielle",children:"Spezielle"}),Object(a.jsxs)("div",{className:"content",children:[Object(a.jsx)(s.b,{to:"/flugzeuge/spezielle/helikopter",children:"Helikopter"}),Object(a.jsx)(s.b,{to:"/flugzeuge/spezielle/zeppeline",children:"Zeppeline"}),Object(a.jsx)(s.b,{to:"/flugzeuge/spezielle/andere",children:"Andere"})]})]})]})})},p=function(){return Object(a.jsx)("footer",{children:Object(a.jsx)("div",{children:"\xa9 Hugo"})})};n.a.render(Object(a.jsx)(h,{}),document.getElementById("root"))},6:function(e){e.exports=JSON.parse('[{"name":"F-22 Raptor","img":"f22.png","category":"militaer/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\xfcfte","tags":[]},{"name":"AV-8B Harrier","img":"harrier.jpg","category":"militaer/kalter_krieg/","description":"Der Harrier ist ein Britisches Kampflugzeug. Er war der erste Jet (im aktiven Einsatz) mit der F\xe4higkeit, 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\xf6sste Passagierflugzeug der Welt.","tags":["fav"]},{"name":"Flugzeug Wrack 1","img":"wrack1.jpg","category":"spezielle/andere/","description":"Das Wrack von einem abgest\xfcrzten Flugzeug.","tags":[]},{"name":"Doppeldecker 1","img":"doppeldecker1.jpg","category":"sport/doppeldecker/","description":"Ein Doppeldecker. Genauere Details unbekannt.","tags":[]},{"name":"A-10 Thunderbolt II","img":"a10.jpg","category":"militaer/kalter_krieg/","description":"Die A-10 \'Warthog\' Thunderbolt II ist ein amerikanisches Bodenangriffsflugzeug aus den 70er-Jahren, was auch heute immer noch im Einsatz ist. Es zeichnet sich durch seine Gatling-Gun aus, die mit \xfcber 5000 RPM 30mm-Kugeln abfeuert.","tags":["fav"]},{"name":"P-51","img":"p51.jpg","category":"militaer/zweiter_weltkrieg/","description":"Die P-51 ist ein amerikanisches Propellerflugzeug aus dem zweiten Weltkrieg. Auf dem Bild zu sehen mit einer hochmodernen F-35","tags":["fav"]},{"name":"Fokker Dr1","img":"fokkerdr1.jpg","category":"militaer/erster_weltkrieg/","description":"Die Fokker Dr1 ist ein deutsches Dreidecker-Flugzeug aus dem ersten Weltkrieg. Im Bild zu sehen ist ein nachbau der Dr1 vom \'Roten Baron\', dem ber\xfchmten deutschen Fliegerass.","tags":[]},{"name":"AH-64 Apache","img":"ah64.jpg","category":"militaer/kalter_krieg/","description":"Der amerikanische Boeing AH-64 Apache Kampfhubschrauber ist der wohl be\xfchmsteste Kampfhubschrauber.","tags":[]},{"name":"MiG-19","img":"mig19.jpg","category":"militaer/kalter_krieg/","description":"Die sowjetische Mikojan-Gurewitsch MiG-19 aus dem Jahre 1955 ist ein jetbetriebenes Jagdflugzeug, was auch als Jagdbomber eingesetzt werden kann.","tags":[]},{"name":"Boeing 787 Dreamliner","img":"787.jpg","category":"airliner/boeing/","description":"Der Dreamliner ist ein modernes Passagierflugzeug f\xfcr 200-300 Personen von Boeing.","tags":[]},{"name":"Segelflugzeug 1","img":"segel1.jpg","category":"sport/segelflugzeug/","description":"Ein kleines Segelflugzeug auf einer Wiese.","tags":[]},{"name":"Eurocopter 145","img":"ec145.jpg","category":"spezielle/helikopter/","description":"Der EC 145 ist ein vielseitig einsetzbarer Leichthubrschrauber.","tags":[]}]')}},[[29,1,2]]]);
+//# sourceMappingURL=main.dc70121b.chunk.js.map
\ No newline at end of file
diff --git a/static/js/main.dc70121b.chunk.js.map b/static/js/main.dc70121b.chunk.js.map
new file mode 100644
index 0000000..2275457
--- /dev/null
+++ b/static/js/main.dc70121b.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["PlanePreview.js","PlaneList.js","Home.js","UeberHugo.js","PlaneInfo.js","App.js","index.js"],"names":["ModelImage","props","to","cat","name","className","src","process","alt","PlaneList","route","useLocation","pathname","replaceAll","matches","planes","filter","e","category","startsWith","map","x","img","isFavPlane","plane","tags","includes","Home","favs","p","all","UeberHugo","width","Planes","find","imgPath","description","App","id","exact","path","component","Navigation","Footer","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.dc70121b.chunk.js","sourcesContent":["import React from 'react';\r\nimport {NavLink} from 'react-router-dom'\r\nimport './plane_preview.css'\r\n\r\n\r\nconst ModelImage = props => (\r\n \r\n
\r\n \r\n {props.name}\r\n
\r\n \r\n);\r\n\r\n\r\nexport default ModelImage;","import React from 'react';\r\nimport ModelImage from './PlanePreview'\r\nimport planes from './planes.json';\r\nimport {useLocation} from \"react-router-dom\";\r\n\r\n\r\nconst PlaneList = () => {\r\n const route = useLocation().pathname.replaceAll(\"/flugzeuge/\", \"\");\r\n\r\n const matches = planes\r\n .filter(e => e.category.startsWith(route))\r\n .map(x => );\r\n\r\n return (\r\n \r\n {matches}\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default PlaneList;","import React from 'react';\r\nimport ModelImage from './PlanePreview';\r\nimport planes from './planes.json'\r\n\r\nconst Home = () => {\r\n const favs = planes.filter(isFavPlane)\r\n .map(p => );\r\n\r\n const all = planes\r\n .map(x => );\r\n\r\n return (\r\n \r\n
Hugos Favoriten
\r\n {favs}\r\n Alle Flugzeuge
\r\n {all}\r\n \r\n );\r\n\r\n}\r\n\r\nfunction isFavPlane(plane) {\r\n return plane.tags.includes('fav');\r\n}\r\n\r\nexport default Home;","import React from 'react';\r\n\r\nconst UeberHugo = () => (\r\n \r\n
Hugo Boss
\r\n
Hugo Boss ist ein begeisterter Modellbauer und Gründungsmitglied\r\n vom Modellbauverein Winterthur.
\r\n
Am liebsten baut er Flugzeuge, sie haben ihn schon sein ganzes Leben fasziniert und er wollte immer Pilot\r\n werden.\r\n Das hat er zwar nicht geschafft, aber das Modellbauen ermöglicht es ihm, seine Leidenschaft trotzdem\r\n auszuleben.\r\n Auf dieser Website präsentiert Hugo seine liebsten Flugzeuge, die er am liebsten alle nachbauen\r\n würde.
\r\n

\r\n
\r\n)\r\n\r\nexport default UeberHugo;","import React from 'react';\r\nimport {useLocation} from 'react-router-dom';\r\nimport planes from './planes.json';\r\nimport './plane.css';\r\n\r\nconst Planes = () => {\r\n const route = useLocation().pathname.replaceAll(\"/flugzeug/\", \"\");\r\n\r\n const plane = planes.find(p => p.category + p.name === route);\r\n const imgPath = process.env.PUBLIC_URL + '/img/' + plane.category + plane.img;\r\n\r\n return (\r\n \r\n {\r\n plane ?\r\n <>\r\n
{plane.name}
\r\n

\r\n
{plane.description}
\r\n >\r\n :\r\n
Flugzeug nicht gefunden.
\r\n }\r\n
\r\n );\r\n}\r\n\r\n\r\nexport default Planes;","import React from 'react';\r\nimport {HashRouter, NavLink, Route} from 'react-router-dom'\r\nimport './app.css';\r\nimport PlaneList from './PlaneList';\r\nimport Home from './Home';\r\nimport UeberHugo from './UeberHugo'\r\nimport Planes from \"./PlaneInfo\";\r\n\r\nconst App = () => (\r\n \r\n \r\n \r\n ✈️Hugos Lieblingsflugzeuge✈️
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n);\r\n\r\nexport default App;\r\n\r\nconst Navigation = () => (\r\n \r\n)\r\n\r\nconst Footer = () => (\r\n \r\n)","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from \"./App\";\r\n\r\nReactDOM.render(\r\n \r\n , document.getElementById('root')\r\n);"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/runtime-main.b33b4f25.js b/static/js/runtime-main.b339f8f3.js
similarity index 96%
rename from static/js/runtime-main.b33b4f25.js
rename to static/js/runtime-main.b339f8f3.js
index e8c483b..faf6115 100644
--- a/static/js/runtime-main.b33b4f25.js
+++ b/static/js/runtime-main.b339f8f3.js
@@ -1,2 +1,2 @@
!function(e){function t(t){for(var n,l,i=t[0],f=t[1],a=t[2],c=0,s=[];c