import React from 'react'; import { Route } from 'react-router-dom'; import { languages } from './Language/Language'; import JapanesePage from './Pages/Japan/JapanesePage'; import BlogPage from './Pages/Plamo/BlogPage'; import PaintsPage from './Pages/Plamo/paints/PaintsPage'; import CSharpPage from './Pages/Software/dotnet/csharp/CSharpPage'; import ElmPage from './Pages/Software/elm/ElmPage'; import HaskellPage from './Pages/Software/haskell/HaskellPage'; // Japan export const japaneseRoutes = languages.map(lang => { const pages = ['but', 'cheat-sheet', 'contrast-particle', 'dake-vs-shika', 'expressions', 'if-when', 'japanese-scale-modelling-tools', 'mae-ni-ato-de', 'onomatopoeia', 'particles', 'rashii-kamoshirenai-darou', 'tameni-youni-noni', 'te-form', 'te-oku', 'toka-tari-shi', 'verbs']; return pages.map(page => { const path = `/${lang}/japan/japanese/${page}`; const mdPath = `Japan/Japanese/${lang}/${page}.md`; return } />; }); }).flat(); // Plamo export const plamoBlogRoutes = languages.map(lang => { const pages = ['smc-2025-rx-178-mk-2']; return pages.map(page => { const path = `/${lang}/plamo/blog/${page}`; const mdPath = `Plamo/blog/${lang}/${page}.md`; return } />; }); }).flat(); export const plamoEquipmentRoutes = languages.map(lang => { const pages = ['airbrush-cabine']; return pages.map(page => { const path = `/${lang}/plamo/equipment/${page}`; const mdPath = `Plamo/equipment/${lang}/${page}.md`; return } />; }); }).flat(); export const plamoPaintRoutes = languages.map(lang => { const path = `/${lang}/plamo/paints`; const mdPath = `Plamo/paints/${lang}/paints.md`; return } />; }).flat(); export const plamoShowcaseGundamRoutes = languages.map(lang => { const pages = ['kawasaki-zaku-ii', 'smc-2025-gundam']; return pages.map(page => { const path = `/${lang}/plamo/showcase/gundam/${page}`; const mdPath = `Plamo/showcase/gundam/${lang}/${page}.md`; return } />; }); }).flat(); export const plamoShowcaseMilitairyAirplanesRoutes = languages.map(lang => { const pages = ['ki-55']; return pages.map(page => { const path = `/${lang}/plamo/showcase/military-airplanes/${page}`; const mdPath = `Plamo/showcase/military-airplanes/${lang}/${page}.md`; return } />; }); }).flat(); // Software export const programmingLanguageRoutes = languages.map(lang => { // Main page. const mainCSharp = } /> const mainElm = } /> const mainHaskell = } /> // Pages within C#. let md = ['strings', 'types']; const entriesCSharp = md.map(entry => { const path = `/${lang}/software/csharp/${entry}`; const mdPath = `Software/csharp/${lang}/${entry}.md`; return } />; }); // Pages within Elm. md = ['dry', 'formatting', 'maybeandthen', 'maybemap']; const entriesElm = md.map(entry => { const path = `/${lang}/software/elm/${entry}`; const mdPath = `Software/elm/${lang}/${entry}.md`; return } />; }); // Pages within Haskell. md = [ 'caesar-cipher', 'conditional-expressions-and-guarded-equations', 'curried-functions', 'graham-hutton-answers', 'lambda-expressions', 'lists', 'recursive-functions', 'strings', 'pattern-matching', ]; const entriesHaskell = md.map(entry => { const path = `/${lang}/software/haskell/${entry}`; const mdPath = `Software/haskell/${lang}/${entry}.md`; return } />; }); return [mainCSharp, mainElm, mainHaskell, ...entriesCSharp, ...entriesElm, ...entriesHaskell]; }).flat();